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 2010/11/18 01:54:39 UTC

svn commit: r1036304 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java

Author: lu4242
Date: Thu Nov 18 00:54:39 2010
New Revision: 1036304

URL: http://svn.apache.org/viewvc?rev=1036304&view=rev
Log:
MYFACES-2977 Factories loaded through META-INF/services/[factory name] should use FacesConfig object

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

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java?rev=1036304&r1=1036303&r2=1036304&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java Thu Nov 18 00:54:39 2010
@@ -93,6 +93,7 @@ import org.apache.myfaces.config.impl.di
 import org.apache.myfaces.config.impl.digester.elements.ConfigOthersSlot;
 import org.apache.myfaces.config.impl.digester.elements.FacesConfig;
 import org.apache.myfaces.config.impl.digester.elements.FacesConfigNameSlot;
+import org.apache.myfaces.config.impl.digester.elements.Factory;
 import org.apache.myfaces.config.impl.digester.elements.NamedEvent;
 import org.apache.myfaces.config.impl.digester.elements.OrderSlot;
 import org.apache.myfaces.config.impl.digester.elements.Ordering;
@@ -677,6 +678,9 @@ public class FacesConfigurator
     {
         try
         {
+            FacesConfig facesConfig = new FacesConfig();
+            Factory factory = new Factory();
+            facesConfig.addFactory(factory);
             for (String factoryName : FACTORY_NAMES)
             {
                 Iterator<URL> it = ClassUtils.getResources(META_INF_SERVICES_RESOURCE_PREFIX + factoryName, this);
@@ -719,31 +723,32 @@ public class FacesConfigurator
 
                     if (factoryName.equals(FactoryFinder.APPLICATION_FACTORY))
                     {
-                        getDispenser().feedApplicationFactory(className);
+                        factory.addApplicationFactory(className);
                     } else if (factoryName.equals(FactoryFinder.EXTERNAL_CONTEXT_FACTORY))
                     {
-                        getDispenser().feedExternalContextFactory(className);
+                        factory.addExternalContextFactory(className);
                     } else if (factoryName.equals(FactoryFinder.FACES_CONTEXT_FACTORY))
                     {
-                        getDispenser().feedFacesContextFactory(className);
+                        factory.addFacesContextFactory(className);
                     } else if (factoryName.equals(FactoryFinder.LIFECYCLE_FACTORY))
                     {
-                        getDispenser().feedLifecycleFactory(className);
+                        factory.addLifecycleFactory(className);
                     } else if (factoryName.equals(FactoryFinder.RENDER_KIT_FACTORY))
                     {
-                        getDispenser().feedRenderKitFactory(className);
+                        factory.addRenderkitFactory(className);
                     } else if (factoryName.equals(FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY))
                     {
-                        getDispenser().feedPartialViewContextFactory(className);
+                        factory.addPartialViewContextFactory(className);
                     } else if(factoryName.equals(FactoryFinder.VISIT_CONTEXT_FACTORY)) 
                     {
-                        getDispenser().feedVisitContextFactory(className);
+                        factory.addVisitContextFactory(className);
                     } else
                     {
                         throw new IllegalStateException("Unexpected factory name " + factoryName);
                     }
                 }
             }
+            getDispenser().feed(facesConfig);
         }
         catch (Throwable e)
         {