You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by jw...@apache.org on 2010/12/29 20:07:21 UTC

svn commit: r1053705 - in /myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit: FacesConfigInfo.java FacesConfigParser.java RenderKitBootstrap.java

Author: jwaldman
Date: Wed Dec 29 19:07:21 2010
New Revision: 1053705

URL: http://svn.apache.org/viewvc?rev=1053705&view=rev
Log:
TRINIDAD-1974 Register lifecycle factories in Trinidad test framework
thanks to Jing Wu for the patch

Modified:
    myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigInfo.java
    myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigParser.java
    myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java

Modified: myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigInfo.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigInfo.java?rev=1053705&r1=1053704&r2=1053705&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigInfo.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigInfo.java Wed Dec 29 19:07:21 2010
@@ -26,6 +26,7 @@ import java.io.InputStream;
 import java.io.IOException;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.List;
@@ -98,6 +99,27 @@ public class FacesConfigInfo
     return _renderKitFactories;
   }
 
+  public List<String> getLifecycleFactories()
+  {
+    return _lifecycleFactories;
+  }
+
+  public List<String> getFactoriesByName(String factoryName)
+  {
+    if ("render-kit-factory".equals(factoryName))
+      return getRenderKitFactories();
+    else if ("lifecycle-factory".equals(factoryName))
+      return getLifecycleFactories();
+    else
+      return Collections.<String>emptyList();
+  }
+
+  public static boolean isFactorySupported(String factoryName)
+  {
+    return ("render-kit-factory".equals(factoryName) ||
+            "lifecycle-factory".equals(factoryName));
+  }
+
   public Map<String, RenderKit> getRenderKits()
   {
     return _renderKits;
@@ -200,6 +222,7 @@ public class FacesConfigInfo
 
   private Map<String, ComponentInfo> _components = new HashMap<String, ComponentInfo>();
   private List<String> _renderKitFactories  = new ArrayList<String>();
+  private List<String> _lifecycleFactories  = new ArrayList<String>();
   private Map<String, RenderKit> _renderKits  = new HashMap<String, RenderKit>();
   private Map<String, String> _convertersByType  = new HashMap<String, String>();
   private Map<String, String> _convertersById  = new HashMap<String, String>();

Modified: myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigParser.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigParser.java?rev=1053705&r1=1053704&r2=1053705&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigParser.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/FacesConfigParser.java Wed Dec 29 19:07:21 2010
@@ -168,8 +168,7 @@ class FacesConfigParser extends BaseNode
       String       localName,
       Attributes   attrs) throws SAXParseException
     {
-      // For now, let's just parse renderkit factories
-      if ("render-kit-factory".equals(localName))
+      if (FacesConfigInfo.isFactorySupported(localName))
         return new StringParser();
 
       return BaseNodeParser.getIgnoreParser();
@@ -182,14 +181,14 @@ class FacesConfigParser extends BaseNode
       String       localName,
       Object       child) throws SAXParseException
     {
-      if ("render-kit-factory".equals(localName))
+      if (FacesConfigInfo.isFactorySupported(localName))
       {
         String factoryName = (String) child;
         if (factoryName != null)
         {
           factoryName = factoryName.trim();
           if (!"".equals(factoryName))
-            _info.getRenderKitFactories().add(factoryName);
+            _info.getFactoriesByName(localName).add(factoryName);
         }
       }
     }
@@ -198,7 +197,6 @@ class FacesConfigParser extends BaseNode
   }
 
 
-
   private class ComponentParser extends BaseNodeParser
   {
     @Override

Modified: myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java?rev=1053705&r1=1053704&r2=1053705&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java Wed Dec 29 19:07:21 2010
@@ -128,6 +128,19 @@ public class RenderKitBootstrap
       }
     }
 
+    // set up the lifecycle factories
+    // Install the basic lifecycleFactory impl.
+    FactoryFinder.setFactory(FactoryFinder.LIFECYCLE_FACTORY, "com.sun.faces.lifecycle.LifecycleFactoryImpl");
+
+    // Install all registered lifecycle factories
+    if (info != null)
+    {
+      for (String lifecycleFactory : info.getLifecycleFactories())
+      {
+        FactoryFinder.setFactory(FactoryFinder.LIFECYCLE_FACTORY, lifecycleFactory);
+      }
+    }
+    
     // Set up the SkinFactory
     if (SkinFactory.getFactory() == null)
     {