You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by cd...@apache.org on 2005/09/11 15:24:31 UTC

svn commit: r280129 - /portals/pluto/trunk/container/src/java/org/apache/pluto/core/impl/RenderResponseImpl.java

Author: cdoremus
Date: Sun Sep 11 06:24:29 2005
New Revision: 280129

URL: http://svn.apache.org/viewcvs?rev=280129&view=rev
Log:
Fix for Pluto-164 which was a violation of PLT.12.3.1. Now Content Type cannot be set after OuputStream or Writer is obtained by portlet.

Modified:
    portals/pluto/trunk/container/src/java/org/apache/pluto/core/impl/RenderResponseImpl.java

Modified: portals/pluto/trunk/container/src/java/org/apache/pluto/core/impl/RenderResponseImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/container/src/java/org/apache/pluto/core/impl/RenderResponseImpl.java?rev=280129&r1=280128&r2=280129&view=diff
==============================================================================
--- portals/pluto/trunk/container/src/java/org/apache/pluto/core/impl/RenderResponseImpl.java (original)
+++ portals/pluto/trunk/container/src/java/org/apache/pluto/core/impl/RenderResponseImpl.java Sun Sep 11 06:24:29 2005
@@ -43,6 +43,9 @@
 
     private String currentContentType = null;   // needed as servlet 2.3 does not have a response.getContentType
 
+    private boolean usingWriter;
+    private boolean usingStream;
+
     public RenderResponseImpl(PortletWindow portletWindow,
                               javax.servlet.http.HttpServletRequest servletRequest,
                               javax.servlet.http.HttpServletResponse servletResponse,
@@ -104,8 +107,10 @@
         if (!isValidContentType(mimeType)) {
             throw new IllegalArgumentException(mimeType);
         }
-        this._getHttpServletResponse().setContentType(mimeType);
-        currentContentType = mimeType;
+        if (!usingWriter && !usingStream) {
+        	this._getHttpServletResponse().setContentType(mimeType);
+        	currentContentType = mimeType;
+		}
     }
 
     public String getCharacterEncoding()
@@ -117,7 +122,7 @@
         if (currentContentType == null) {
             throw new java.lang.IllegalStateException(illegalStateExceptionText);
         }
-
+		usingWriter = true;
         return super.getWriter();
     }
 
@@ -171,6 +176,7 @@
         if (currentContentType == null) {
             throw new java.lang.IllegalStateException(illegalStateExceptionText);
         }
+		usingStream = true;
         return getOutputStream();
     }
     // --------------------------------------------------------------------------------------------