You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2011/02/18 20:48:23 UTC

svn commit: r1072118 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/Tomcat7AnnotationLifecycleProvider.java

Author: lu4242
Date: Fri Feb 18 19:48:23 2011
New Revision: 1072118

URL: http://svn.apache.org/viewvc?rev=1072118&view=rev
Log:
MYFACES-3035 PostConstruct method is called before properties are injected on Tomcat 7 

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/Tomcat7AnnotationLifecycleProvider.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/Tomcat7AnnotationLifecycleProvider.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/Tomcat7AnnotationLifecycleProvider.java?rev=1072118&r1=1072117&r2=1072118&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/Tomcat7AnnotationLifecycleProvider.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/Tomcat7AnnotationLifecycleProvider.java Fri Feb 18 19:48:23 2011
@@ -18,17 +18,19 @@
  */
 package org.apache.myfaces.config.annotation;
 
-import org.apache.myfaces.shared_impl.util.ClassUtils;
-import org.apache.tomcat.InstanceManager;
-
-import javax.faces.context.ExternalContext;
-import javax.faces.context.FacesContext;
-import javax.naming.NamingException;
 import java.lang.reflect.InvocationTargetException;
 import java.util.Map;
 import java.util.WeakHashMap;
 import java.util.logging.Logger;
 
+import javax.faces.FacesException;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+import javax.naming.NamingException;
+
+import org.apache.myfaces.shared_impl.util.ClassUtils;
+import org.apache.tomcat.InstanceManager;
+
 /**
  * An annotation lifecycle provider for Tomcat 7.
  */
@@ -53,21 +55,6 @@ public class Tomcat7AnnotationLifecycleP
         log.info("Creating instance of " + className);
         Object object = clazz.newInstance();
 
-        InstanceManager manager = instanceManagers
-                .get(ClassUtils.getContextClassLoader());
-        if (manager == null)
-        {
-            //Initialize manager
-            manager = initManager();
-        }
-
-        //Is initialized
-        if (manager != null)
-        {
-            //Inject resources
-            manager.newInstance(object);
-        }
-
         return object;
     }
 
@@ -86,7 +73,27 @@ public class Tomcat7AnnotationLifecycleP
     public void postConstruct(Object instance)
             throws IllegalAccessException, InvocationTargetException
     {
-        //do nothing
+        InstanceManager manager = instanceManagers
+                .get(ClassUtils.getContextClassLoader());
+        if (manager == null)
+        {
+            //Initialize manager
+            manager = initManager();
+        }
+
+        //Is initialized
+        if (manager != null)
+        {
+            //Inject resources
+            try 
+            {
+                manager.newInstance(instance);
+            }
+            catch (NamingException e)
+            {
+                throw new FacesException(e);
+            }
+        }
     }
 
     public boolean isAvailable()