geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From xuhaih...@apache.org
Subject svn commit: r932213 - /geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatInstanceManager.java
Date Fri, 09 Apr 2010 02:09:55 GMT
Author: xuhaihong
Date: Fri Apr  9 02:09:55 2010
New Revision: 932213

URL: http://svn.apache.org/viewvc?rev=932213&view=rev
Log:
Convert RuntimeException to InstantiationException, and remove the UnsupportedOperationException
thrown by newIntance method

Modified:
    geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatInstanceManager.java

Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatInstanceManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatInstanceManager.java?rev=932213&r1=932212&r2=932213&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatInstanceManager.java
(original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatInstanceManager.java
Fri Apr  9 02:09:55 2010
@@ -46,11 +46,27 @@ public class TomcatInstanceManager imple
     }
 
     public Object newInstance(String fqcn, ClassLoader classLoader) throws IllegalAccessException,
InvocationTargetException, NamingException, InstantiationException, ClassNotFoundException
{
-        return holder.newInstance(fqcn, classLoader, context);
+        try {
+            return holder.newInstance(fqcn, classLoader, context);
+        } catch (IllegalAccessException e) {
+            throw e;
+        } catch (InstantiationException e) {
+            throw e;
+        } catch (Exception e) {
+            throw (InstantiationException) new InstantiationException().initCause(e);
+        }
     }
-	
+
     public Object newInstance(String className) throws IllegalAccessException, InvocationTargetException,
NamingException, InstantiationException, ClassNotFoundException {
-        return holder.newInstance(className, classLoader, context);
+        try {
+            return holder.newInstance(className, classLoader, context);
+        } catch (IllegalAccessException e) {
+            throw e;
+        } catch (InstantiationException e) {
+            throw e;
+        } catch (Exception e) {
+            throw (InstantiationException) new InstantiationException().initCause(e);
+        }
     }
 
     public void destroyInstance(Object o) throws IllegalAccessException, InvocationTargetException
{
@@ -60,8 +76,12 @@ public class TomcatInstanceManager imple
             throw new InvocationTargetException(e, "Attempted to destroy instance");
         }
     }
-    
-    public void newInstance(Object o) throws IllegalAccessException,  InvocationTargetException,
NamingException {
-	throw new UnsupportedOperationException("separate instantiation and injection is not supported");
+
+    public void newInstance(Object o) throws IllegalAccessException, InvocationTargetException,
NamingException {
+        //Spec 4.4.3.5 from my understanding, there are two scenario that current method
is invoked,
+        //a.  The users use create*** method to create Servlet/Filter/Listener to create
the instance, then use add***(String name, ***  instance)
+        //b. The users create the instances by themselves, then use add***(String name, ***
instance)
+        //For a, we should have done the resource injections, for b, we are not need to do
the resource injections
+        //Correct me if I miss anything !
     }
 }



Mime
View raw message