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 at...@apache.org on 2009/01/07 17:18:21 UTC
svn commit: r732381 -
/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletResponseImpl.java
Author: ate
Date: Wed Jan 7 08:18:21 2009
New Revision: 732381
URL: http://svn.apache.org/viewvc?rev=732381&view=rev
Log:
Re-enabling PortletResponse.getOutputStream() handling as was done in Pluto 1.0.1
This change allows a portlet to generate binary output instead of being forced to use the PrintWriter.
Modified:
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletResponseImpl.java
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletResponseImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletResponseImpl.java?rev=732381&r1=732380&r2=732381&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletResponseImpl.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletResponseImpl.java Wed Jan 7 08:18:21 2009
@@ -210,8 +210,15 @@
+ "after getWriter was invoked.");
}
if (wrappedWriter == null) {
- wrappedWriter = new PrintWriterServletOutputStream(
- getHttpServletResponse().getWriter());
+ try {
+ wrappedWriter = getHttpServletResponse().getOutputStream();
+ }
+ catch (IllegalStateException ise) {
+ // handle situation where underlying ServletResponse its getWriter()
+ // has been called already anyway: return a wrapped PrintWriter in that case
+ wrappedWriter = new PrintWriterServletOutputStream(getHttpServletResponse().getWriter(),
+ getHttpServletResponse().getCharacterEncoding());
+ }
}
usingStream = true;
return wrappedWriter;