Author: kkolinko
Date: Tue May 20 12:29:41 2014
New Revision: 1596226

URL: http://svn.apache.org/r1596226
Log:
Improve handling of Throwable. Add changelog entry.

Modified:
    tomcat/trunk/java/org/apache/naming/factory/EjbFactory.java
    tomcat/trunk/java/org/apache/naming/factory/FactoryBase.java
    tomcat/trunk/java/org/apache/naming/factory/ResourceFactory.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/naming/factory/EjbFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/factory/EjbFactory.java?rev=1596226&r1=1596225&r2=1596226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/factory/EjbFactory.java (original)
+++ tomcat/trunk/java/org/apache/naming/factory/EjbFactory.java Tue May 20 
12:29:41 2014
@@ -46,8 +46,15 @@ public class EjbFactory extends FactoryB
             factory = (ObjectFactory)
                 Class.forName(javaxEjbFactoryClassName).newInstance();
         } catch(Throwable t) {
-            if (t instanceof NamingException)
+            if (t instanceof NamingException) {
                 throw (NamingException) t;
+            }
+            if (t instanceof ThreadDeath) {
+                throw (ThreadDeath) t;
+            }
+            if (t instanceof VirtualMachineError) {
+                throw (VirtualMachineError) t;
+            }
             NamingException ex = new NamingException
                 ("Could not create resource factory instance");
             ex.initCause(t);

Modified: tomcat/trunk/java/org/apache/naming/factory/FactoryBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/factory/FactoryBase.java?rev=1596226&r1=1596225&r2=1596226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/factory/FactoryBase.java (original)
+++ tomcat/trunk/java/org/apache/naming/factory/FactoryBase.java Tue May 20 
12:29:41 2014
@@ -74,6 +74,12 @@ public abstract class FactoryBase implem
                     if (t instanceof NamingException) {
                         throw (NamingException) t;
                     }
+                    if (t instanceof ThreadDeath) {
+                        throw (ThreadDeath) t;
+                    }
+                    if (t instanceof VirtualMachineError) {
+                        throw (VirtualMachineError) t;
+                    }
                     NamingException ex = new NamingException(
                             "Could not create resource factory instance");
                     ex.initCause(t);

Modified: tomcat/trunk/java/org/apache/naming/factory/ResourceFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/factory/ResourceFactory.java?rev=1596226&r1=1596225&r2=1596226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/factory/ResourceFactory.java (original)
+++ tomcat/trunk/java/org/apache/naming/factory/ResourceFactory.java Tue May 20 
12:29:41 2014
@@ -60,6 +60,15 @@ public class ResourceFactory extends Fac
                 factory = (ObjectFactory)
                     
Class.forName(javaxMailSessionFactoryClassName).newInstance();
             } catch(Throwable t) {
+                if (t instanceof NamingException) {
+                    throw (NamingException) t;
+                }
+                if (t instanceof ThreadDeath) {
+                    throw (ThreadDeath) t;
+                }
+                if (t instanceof VirtualMachineError) {
+                    throw (VirtualMachineError) t;
+                }
                 NamingException ex = new NamingException(
                         "Could not create resource factory instance");
                 ex.initCause(t);

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1596226&r1=1596225&r2=1596226&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Tue May 20 12:29:41 2014
@@ -77,6 +77,12 @@
         application threads printed by 
WebappClassLoader.clearReferencesThreads()
         from error to info. (kkolinko)
       </update>
+      <scode>
+        Refactor and simplify common code in object factories in
+        <code>org.apache.catalina.naming</code> package, found thanks to Simian
+        (Similarity Analyser) tool. Improve handling of Throwable.
+        (markt/kkolinko)
+      </scode>
     </changelog>
   </subsection>
   <section name="WebSocket">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to