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/06/22 00:51:46 UTC

svn commit: r956722 - in /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context: FacesContextFactoryImpl.java servlet/FacesContextImpl.java

Author: lu4242
Date: Mon Jun 21 22:51:46 2010
New Revision: 956722

URL: http://svn.apache.org/viewvc?rev=956722&view=rev
Log:
MYFACES-2759 Clean up FacesContextImpl (use ReleasableExternalContext interface)

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/FacesContextFactoryImpl.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/FacesContextFactoryImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/FacesContextFactoryImpl.java?rev=956722&r1=956721&r2=956722&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/FacesContextFactoryImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/FacesContextFactoryImpl.java Mon Jun 21 22:51:46 2010
@@ -151,7 +151,19 @@ public class FacesContextFactoryImpl ext
         
         if (context instanceof ServletContext)
         {
-            FacesContext facesContext = new FacesContextImpl(externalContext, null, this);
+            FacesContext facesContext;
+            if (externalContext instanceof ReleaseableExternalContext)
+            {
+                facesContext = new FacesContextImpl(externalContext, (ReleaseableExternalContext) externalContext, this);
+            }
+            else if (defaultExternalContext != null && defaultExternalContext instanceof ReleaseableExternalContext)
+            {
+                facesContext = new FacesContextImpl(externalContext, (ReleaseableExternalContext) defaultExternalContext, this);
+            }
+            else
+            {
+                facesContext = new FacesContextImpl(externalContext, null, this);
+            }
             
             facesContext.setExceptionHandler(_exceptionHandlerFactory.getExceptionHandler());
             

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java?rev=956722&r1=956721&r2=956722&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java Mon Jun 21 22:51:46 2010
@@ -113,6 +113,7 @@ public class FacesContextImpl extends Fa
     private void init(final ExternalContext externalContext, final ReleaseableExternalContext defaultExternalContext)
     {       
         _externalContext = externalContext;
+        _defaultExternalContext = defaultExternalContext;
         FacesContext.setCurrentInstance(this);  //protected method, therefore must be called from here
         _application = ((ApplicationFactory)FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY))
                 .getApplication();