You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mc...@apache.org on 2010/04/19 14:28:41 UTC
svn commit: r935542 -
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java
Author: mconcini
Date: Mon Apr 19 12:28:41 2010
New Revision: 935542
URL: http://svn.apache.org/viewvc?rev=935542&view=rev
Log:
MYFACES-2664 - attach UIViewRoot to FacesContext during startup/shutdown
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java?rev=935542&r1=935541&r2=935542&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java Mon Apr 19 12:28:41 2010
@@ -19,6 +19,7 @@
package org.apache.myfaces.webapp;
import java.util.List;
+import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -27,6 +28,7 @@ import javax.faces.FactoryFinder;
import javax.faces.application.Application;
import javax.faces.application.ApplicationFactory;
import javax.faces.application.ProjectStage;
+import javax.faces.component.UIViewRoot;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.context.FacesContextFactory;
@@ -194,6 +196,13 @@ public abstract class AbstractFacesIniti
FacesContextFactory facFac = (FacesContextFactory) FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
fc = facFac.getFacesContext(servletContext, new _SystemEventServletRequest(), new _SystemEventServletResponse(), lifeFac.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE));
}
+
+ // in order to allow FacesContext.getViewRoot calls during startup/shutdown listeners,
+ // we need to initialize a new ViewRoot with locale set to Locale.getDefault().
+ UIViewRoot root = new UIViewRoot();
+ root.setLocale(Locale.getDefault());
+ fc.setViewRoot(root);
+
appFac.getApplication().publishEvent(fc, eventClass, Application.class, appFac.getApplication());
}