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 2008/07/10 17:05:23 UTC

svn commit: r675608 - in /myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter: TomahawkFacesContextFactory.java TomahawkFacesContextWrapper.java

Author: lu4242
Date: Thu Jul 10 08:05:22 2008
New Revision: 675608

URL: http://svn.apache.org/viewvc?rev=675608&view=rev
Log:
MYFACES-434 Fix problem wrapped response object and cast when mixing with orchestra

Modified:
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextFactory.java
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextWrapper.java

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextFactory.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextFactory.java?rev=675608&r1=675607&r2=675608&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextFactory.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextFactory.java Thu Jul 10 08:05:22 2008
@@ -56,7 +56,8 @@
             if (addResource.requiresBuffer())
             {
                 ExtensionsResponseWrapper extensionsResponseWrapper = new ExtensionsResponseWrapper((HttpServletResponse)response);
-                return new TomahawkFacesContextWrapper(delegate.getFacesContext(context, request, extensionsResponseWrapper, lifecycle));
+                return new TomahawkFacesContextWrapper(delegate.getFacesContext(context, request, extensionsResponseWrapper, lifecycle),
+                        extensionsResponseWrapper);
             }
         }
         return new TomahawkFacesContextWrapper(delegate.getFacesContext(context, request, response, lifecycle));

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextWrapper.java?rev=675608&r1=675607&r2=675608&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextWrapper.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/TomahawkFacesContextWrapper.java Thu Jul 10 08:05:22 2008
@@ -49,7 +49,13 @@
     private ExternalContext externalContextDelegate=null;
     private ExtensionsResponseWrapper extensionsResponseWrapper = null;
 
-    public TomahawkFacesContextWrapper(FacesContext delegate) {
+    public TomahawkFacesContextWrapper(FacesContext delegate)
+    {
+        this(delegate, null);
+    }
+    
+    public TomahawkFacesContextWrapper(FacesContext delegate, 
+            ExtensionsResponseWrapper extensionsResponseWrapper ) {
 
         this.delegate = delegate;
         
@@ -83,7 +89,6 @@
             HttpServletRequest httpRequest = (HttpServletRequest) delegate.getExternalContext().getRequest();
 
             HttpServletRequest extendedRequest = httpRequest;
-            HttpServletResponse extendedResponse = httpResponse;
 
             // For multipart/form-data requests we need to encapsulate
             // the request using MultipartRequestWrapper. This could not be
@@ -104,18 +109,18 @@
             AddResource addResource= AddResourceFactory.getInstance(this);
             addResource.responseStarted();
 
-            if (addResource.requiresBuffer())
+            if (addResource.requiresBuffer() && extensionsResponseWrapper != null)
             {
                 //If the request requires buffer, this was already
                 //wrapped (on TomahawkFacesContextFactory.getFacesContext(...) ),
                 //but we need to save the wrapped response value 
                 //on a local variable to then reference it on release() 
                 //method and parse the old response.
-                extensionsResponseWrapper = (ExtensionsResponseWrapper) extendedResponse; 
+                this.extensionsResponseWrapper = (ExtensionsResponseWrapper) extensionsResponseWrapper; 
             }
 
             externalContextDelegate = new ServletExternalContextWrapper(
-                    delegate.getExternalContext(), extendedRequest, extendedResponse, multipartContent);            
+                    delegate.getExternalContext(), extendedRequest, httpResponse, multipartContent);            
         }
     }