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/10/26 03:59:22 UTC
svn commit: r1188994 -
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java
Author: lu4242
Date: Wed Oct 26 01:59:22 2011
New Revision: 1188994
URL: http://svn.apache.org/viewvc?rev=1188994&view=rev
Log:
MYFACES-3372 Multiple Lifecycle instances are not taken into account when setup phase listeners
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=1188994&r1=1188993&r2=1188994&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 Wed Oct 26 01:59:22 2011
@@ -29,6 +29,7 @@ import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
+import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -944,31 +945,37 @@ public class FacesConfigurator
// create the lifecycle used by the app
LifecycleFactory lifecycleFactory
= (LifecycleFactory) FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
- Lifecycle lifecycle = lifecycleFactory.getLifecycle(getLifecycleId());
-
- // add phase listeners
- for (String listenerClassName : getDispenser().getLifecyclePhaseListeners())
- {
- try
+
+ //Lifecycle lifecycle = lifecycleFactory.getLifecycle(getLifecycleId());
+ for (Iterator<String> it = lifecycleFactory.getLifecycleIds(); it.hasNext();)
+ {
+ Lifecycle lifecycle = lifecycleFactory.getLifecycle(it.next());
+
+ // add phase listeners
+ for (String listenerClassName : getDispenser().getLifecyclePhaseListeners())
{
- lifecycle.addPhaseListener((PhaseListener)
- ClassUtils.newInstance(listenerClassName, PhaseListener.class));
+ try
+ {
+ lifecycle.addPhaseListener((PhaseListener)
+ ClassUtils.newInstance(listenerClassName, PhaseListener.class));
+ }
+ catch (ClassCastException e)
+ {
+ log.severe("Class " + listenerClassName + " does not implement PhaseListener");
+ }
}
- catch (ClassCastException e)
+
+ // if ProjectStage is Development, install the DebugPhaseListener
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ if (facesContext.isProjectStage(ProjectStage.Development) &&
+ MyfacesConfig.getCurrentInstance(facesContext.getExternalContext()).isDebugPhaseListenerEnabled())
{
- log.severe("Class " + listenerClassName + " does not implement PhaseListener");
+ lifecycle.addPhaseListener(new DebugPhaseListener());
}
}
-
- // if ProjectStage is Development, install the DebugPhaseListener
- FacesContext facesContext = FacesContext.getCurrentInstance();
- if (facesContext.isProjectStage(ProjectStage.Development) &&
- MyfacesConfig.getCurrentInstance(facesContext.getExternalContext()).isDebugPhaseListenerEnabled())
- {
- lifecycle.addPhaseListener(new DebugPhaseListener());
- }
}
+ /*
private String getLifecycleId()
{
String id = _externalContext.getInitParameter(FacesServlet.LIFECYCLE_ID_ATTR);
@@ -979,7 +986,7 @@ public class FacesConfigurator
}
return LifecycleFactory.DEFAULT_LIFECYCLE;
- }
+ }*/
private void handleSerialFactory()
{