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: [email protected]
For additional commands, e-mail: [email protected]