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());
     }