You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by am...@apache.org on 2001/09/06 06:18:54 UTC
cvs commit: jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters CompressionFilter.java CompressionFilterTestServlet.java CompressionResponseStream.java CompressionServletResponseWrapper.java
amyroh 01/09/05 21:18:54
Modified: webapps/examples/WEB-INF/classes/compressionFilters
CompressionFilter.java
CompressionFilterTestServlet.java
CompressionResponseStream.java
CompressionServletResponseWrapper.java
Log:
Fixed closing before flush, format, and unnecessary commit.
Revision Changes Path
1.4 +106 -98 jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
Index: CompressionFilter.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CompressionFilter.java 2001/03/22 17:49:24 1.3
+++ CompressionFilter.java 2001/09/06 04:18:53 1.4
@@ -1,8 +1,8 @@
/*
* CompressionFilter.java
- * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java,v 1.3 2001/03/22 17:49:24 amyroh Exp $
- * $Revision: 1.3 $
- * $Date: 2001/03/22 17:49:24 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java,v 1.4 2001/09/06 04:18:53 amyroh Exp $
+ * $Revision: 1.4 $
+ * $Date: 2001/09/06 04:18:53 $
*
* ====================================================================
*
@@ -80,116 +80,124 @@
* the ServletResponse if it is bigger than a threshold.
*
* @author Amy Roh
- * @version $Revision: 1.3 $, $Date: 2001/03/22 17:49:24 $
+ * @version $Revision: 1.4 $, $Date: 2001/09/06 04:18:53 $
*/
public class CompressionFilter implements Filter{
- /**
- * The filter configuration object we are associated with. If this value
- * is null, this filter instance is not currently configured.
- */
- private FilterConfig config = null;
-
- /**
- * The threshold number to compress
- */
- protected int compressionThreshold;
-
- /**
- * Debug level for this filter
- */
- private int debug = 0;
-
- /**
- * Place this filter into service.
- *
- * @param filterConfig The filter configuration object
- */
-
- public void init(FilterConfig filterConfig) {
-
- config = filterConfig;
- if (filterConfig != null) {
- String str = filterConfig.getInitParameter("compressionThreshold");
- if (str!=null) {
- compressionThreshold = Integer.parseInt(str);
- }
- else compressionThreshold = 0;
- String value = filterConfig.getInitParameter("debug");
- if (value!=null) {
- debug = Integer.parseInt(value);
- }
- else debug = 0;
- } else {
- compressionThreshold = 0;
- }
+ /**
+ * The filter configuration object we are associated with. If this value
+ * is null, this filter instance is not currently configured.
+ */
+ private FilterConfig config = null;
+
+ /**
+ * The threshold number to compress
+ */
+ protected int compressionThreshold;
+
+ /**
+ * Debug level for this filter
+ */
+ private int debug = 0;
+
+ /**
+ * Place this filter into service.
+ *
+ * @param filterConfig The filter configuration object
+ */
+
+ public void init(FilterConfig filterConfig) {
+
+ config = filterConfig;
+ if (filterConfig != null) {
+ String str = filterConfig.getInitParameter("compressionThreshold");
+ if (str!=null) {
+ compressionThreshold = Integer.parseInt(str);
+ } else {
+ compressionThreshold = 0;
+ }
+ String value = filterConfig.getInitParameter("debug");
+ if (value!=null) {
+ debug = Integer.parseInt(value);
+ } else {
+ debug = 0;
+ }
+ } else {
+ compressionThreshold = 0;
+ }
- }
+ }
- /**
- * Take this filter out of service.
- */
+ /**
+ * Take this filter out of service.
+ */
+ public void destroy() {
- public void destroy() {
+ this.config = null;
- this.config = null;
+ }
- }
+ /**
+ * The <code>doFilter</code> method of the Filter is called by the container
+ * each time a request/response pair is passed through the chain due
+ * to a client request for a resource at the end of the chain.
+ * The FilterChain passed into this method allows the Filter to pass on the
+ * request and response to the next entity in the chain.<p>
+ * This method first examines the request to check whether the client support
+ * compression. <br>
+ * It simply just pass the request and response if there is no support for
+ * compression.<br>
+ * If the compression support is available, it creates a
+ * CompressionServletResponseWrapper object which compresses the content and
+ * modifies the header if the content length is big enough.
+ * It then invokes the next entity in the chain using the FilterChain object
+ * (<code>chain.doFilter()</code>), <br>
+ **/
+ public void doFilter ( ServletRequest request, ServletResponse response,
+ FilterChain chain ) throws IOException, ServletException {
- /**
- * The <code>doFilter</code> method of the Filter is called by the container
- * each time a request/response pair is passed through the chain due
- * to a client request for a resource at the end of the chain. The FilterChain passed into this
- * method allows the Filter to pass on the request and response to the next entity in the
- * chain.<p>
- * This method first examines the request to check whether the client support compression. <br>
- * It simply just pass the request and response if there is no support for compression.<br>
- * If the compression support is available, it creates a CompressionServletResponseWrapper object which
- * compresses the content and modifies the header if the content length is big enough.
- * It then invokes the next entity in the chain using the FilterChain object (<code>chain.doFilter()</code>), <br>
- **/
+ if (debug > 0) {
+ System.out.println("@doFilter");
+ }
- public void doFilter ( ServletRequest request, ServletResponse response, FilterChain chain ) throws IOException, ServletException {
+ boolean supportCompression = false;
+ if (request instanceof HttpServletRequest) {
+ Enumeration e =
+ ((HttpServletRequest)request).getHeaders("Accept-Encoding");
+ while (e.hasMoreElements()) {
+ String name = (String)e.nextElement();
if (name.indexOf("gzip") != -1) {
+ if (debug > 0) {
+ System.out.println("supports compression");
+ }
+ supportCompression = true;
+ } else {
+ if (debug > 0) {
+ System.out.println("no suuport for compresion");
+ }
+ }
+ }
+ }
- if (debug > 0) {
- System.out.println("@doFilter");
- }
- boolean supportCompression = false;
- if (request instanceof HttpServletRequest) {
- Enumeration e = ((HttpServletRequest)request).getHeaders("Accept-Encoding");
- while (e.hasMoreElements()) {
- String name = (String)e.nextElement();
- if (name.indexOf("gzip") != -1) {
- if (debug > 0) {
- System.out.println("supports compression");
- }
- supportCompression = true;
+ if (!supportCompression) {
+ if (debug > 0) {
+ System.out.println("doFilter gets called wo compression");
+ }
+ chain.doFilter(request, response);
+ return;
} else {
- if (debug > 0) {
- System.out.println("no suuport for compresion");
- }
- }
- }
- }
- if (!supportCompression) {
- if (debug > 0) {
- System.out.println("doFilter gets called wo compression");
- }
- chain.doFilter(request, response);
- return;
- } else {
- if (response instanceof HttpServletResponse) {
- CompressionServletResponseWrapper wrappedResponse = new CompressionServletResponseWrapper((HttpServletResponse)response);
- wrappedResponse.setCompressionThreshold(compressionThreshold);
- if (debug > 0) {
- System.out.println("doFilter gets called with compression");
+ if (response instanceof HttpServletResponse) {
+ CompressionServletResponseWrapper wrappedResponse =
+ new CompressionServletResponseWrapper((HttpServletResponse)response);
+ wrappedResponse.setCompressionThreshold(compressionThreshold);
+ if (debug > 0) {
+ System.out.println("doFilter gets called with compression");
+ }
+ chain.doFilter(request, wrappedResponse);
+ return;
+ }
}
- chain.doFilter(request, wrappedResponse);
- return;
- }
}
- }
}
1.3 +19 -17 jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
Index: CompressionFilterTestServlet.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CompressionFilterTestServlet.java 2001/03/22 17:49:25 1.2
+++ CompressionFilterTestServlet.java 2001/09/06 04:18:54 1.3
@@ -1,8 +1,8 @@
/*
* CompressionFilterTestServlet.java
- * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java,v 1.2 2001/03/22 17:49:25 amyroh Exp $
- * $Revision: 1.2 $
- * $Date: 2001/03/22 17:49:25 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java,v 1.3 2001/09/06 04:18:54 amyroh Exp $
+ * $Revision: 1.3 $
+ * $Date: 2001/09/06 04:18:54 $
*
* ====================================================================
*
@@ -73,30 +73,32 @@
/**
* Very Simple test servlet to test compression filter
* @author Amy Roh
- * @version $Revision: 1.2 $, $Date: 2001/03/22 17:49:25 $
+ * @version $Revision: 1.3 $, $Date: 2001/09/06 04:18:54 $
*/
public class CompressionFilterTestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException
- {
+ throws ServletException, IOException {
- ServletOutputStream out = response.getOutputStream();
- response.setContentType("text/plain");
+ ServletOutputStream out = response.getOutputStream();
+ response.setContentType("text/plain");
- Enumeration e = ((HttpServletRequest)request).getHeaders("Accept-Encoding");
- while (e.hasMoreElements()) {
- String name = (String)e.nextElement();
out.println(name);
- if (name.indexOf("gzip") != -1) {
- out.println("gzip supported -- able to compress");
+ Enumeration e = ((HttpServletRequest)request).getHeaders("Accept-Encoding");
+ while (e.hasMoreElements()) {
+ String name = (String)e.nextElement();
out.println(name);
+ if (name.indexOf("gzip") != -1) {
+ out.println("gzip supported -- able to compress");
+ }
+ else {
+ out.println("gzip not supported");
+ }
}
- else out.println("gzip not supported");
- }
- out.println("Compression Filter Test Servlet");
- out.close();
+ out.println("Compression Filter Test Servlet");
+ out.close();
}
+
}
1.3 +90 -119 jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
Index: CompressionResponseStream.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CompressionResponseStream.java 2001/03/22 17:49:26 1.2
+++ CompressionResponseStream.java 2001/09/06 04:18:54 1.3
@@ -1,8 +1,8 @@
/*
* CompressionResponseStream.java
- * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java,v 1.2 2001/03/22 17:49:26 amyroh Exp $
- * $Revision: 1.2 $
- * $Date: 2001/03/22 17:49:26 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java,v 1.3 2001/09/06 04:18:54 amyroh Exp $
+ * $Revision: 1.3 $
+ * $Date: 2001/09/06 04:18:54 $
*
* ====================================================================
*
@@ -76,7 +76,7 @@
* the CompressionServletResponseWrapper implementation.
*
* @author Amy Roh
- * @version $Revision: 1.2 $, $Date: 2001/03/22 17:49:26 $
+ * @version $Revision: 1.3 $, $Date: 2001/09/06 04:18:54 $
*/
public class CompressionResponseStream
@@ -93,12 +93,11 @@
*/
public CompressionResponseStream(HttpServletResponse response) throws IOException{
- super();
- closed = false;
- commit = false;
- count = 0;
- this.response = response;
- this.output = response.getOutputStream();
+ super();
+ closed = false;
+ count = 0;
+ this.response = response;
+ this.output = response.getOutputStream();
}
@@ -121,7 +120,7 @@
* Is it big enough to compress?
*/
protected boolean compressionThresholdReached = false;
-
+
/**
* The number of data bytes currently in the buffer.
*/
@@ -137,14 +136,7 @@
*/
protected boolean closed = false;
-
/**
- * Should we commit the response when we are flushed?
- */
- protected boolean commit = true;
-
-
- /**
* The number of bytes which have already been written to this stream.
*/
protected int count = 0;
@@ -166,42 +158,17 @@
*/
protected ServletOutputStream output = null;
- // ------------------------------------------------------------- Properties
-
-
- /**
- * [Package Private] Return the "commit response on flush" flag.
- */
- boolean getCommit() {
-
- return (this.commit);
-
- }
-
- /**
- * [Package Private] Set the "commit response on flush" flag.
- *
- * @param commit The new commit flag
- */
- void setCommit(boolean commit) {
-
- this.commit = commit;
-
- }
-
-
// --------------------------------------------------------- Public Methods
-
/**
* Set the compressionThreshold number and create buffer for this size
*/
protected void setBuffer(int threshold) {
- compressionThreshold = threshold;
- buffer = new byte[compressionThreshold];
- //System.out.println("buffer is set to "+compressionThreshold);
+ compressionThreshold = threshold;
+ buffer = new byte[compressionThreshold];
+ //System.out.println("buffer is set to "+compressionThreshold);
}
/**
@@ -209,13 +176,17 @@
* any further output data to throw an IOException.
*/
public void close() throws IOException {
+
+ if (closed)
+ throw new IOException("This output stream has already been closed");
+
+ flush();
- if (closed)
- throw new IOException("This output stream has already been closed");
- if (gzipstream!=null) {
- gzipstream.close();
- }
- flush();
+ if (gzipstream!=null) {
+ gzipstream.close();
+ }
+
+ output.close();
closed = true;
}
@@ -227,31 +198,32 @@
*/
public void flush() throws IOException {
- //System.out.println("flush() @ CompressionResponseStream");
- if (closed)
- throw new IOException("Cannot flush a closed output stream");
-
- if (commit) {
- if (bufferCount > 0) {
- //System.out.println("writing to original stream");
- output.write(buffer, 0, bufferCount);
- bufferCount = 0;
- }
- } else {
- //System.out.println("commit false");
- }
+ //System.out.println("flush() @ CompressionResponseStream");
+ if (closed) {
+ throw new IOException("Cannot flush a closed output stream");
+ }
+
+ if (bufferCount > 0) {
+ //System.out.println("writing to original stream");
+ output.write(buffer, 0, bufferCount);
+ bufferCount = 0;
+ }
+
+ if (gzipstream!=null) {
+ gzipstream.flush();
+ }
}
public void flushToGZip() throws IOException {
- //System.out.println("flushToGZip() @ CompressionResponseStream");
+ //System.out.println("flushToGZip() @ CompressionResponseStream");
- if (bufferCount > 0) {
- //System.out.println("flushing out to GZipStream");
- gzipstream.write(buffer, 0, bufferCount);
- bufferCount = 0;
- }
+ if (bufferCount > 0) {
+ //System.out.println("flushing out to GZipStream");
+ gzipstream.write(buffer, 0, bufferCount);
+ bufferCount = 0;
+ }
}
@@ -264,20 +236,20 @@
*/
public void write(int b) throws IOException {
- //System.out.print("write "+b+" in CompressionResponseStream ");
- if (closed)
- throw new IOException("Cannot write to a closed output stream");
-
- if ((bufferCount >= buffer.length) || (count>=compressionThreshold)) {
- compressionThresholdReached = true;
- }
-
- if (compressionThresholdReached) {
- writeToGZip(b);
- } else {
- buffer[bufferCount++] = (byte) b;
- count++;
- }
+ //System.out.print("write "+b+" in CompressionResponseStream ");
+ if (closed)
+ throw new IOException("Cannot write to a closed output stream");
+
+ if ((bufferCount >= buffer.length) || (count>=compressionThreshold)) {
+ compressionThresholdReached = true;
+ }
+
+ if (compressionThresholdReached) {
+ writeToGZip(b);
+ } else {
+ buffer[bufferCount++] = (byte) b;
+ count++;
+ }
}
@@ -292,13 +264,13 @@
public void writeToGZip(int b) throws IOException {
- //System.out.println("writeToGZip (int b) compressing");
- if (gzipstream == null) {
- gzipstream = new GZIPOutputStream(output);
- flushToGZip();
- response.addHeader("Content-Encoding", "gzip");
- }
- gzipstream.write(b);
+ //System.out.println("writeToGZip (int b) compressing");
+ if (gzipstream == null) {
+ gzipstream = new GZIPOutputStream(output);
+ flushToGZip();
+ response.addHeader("Content-Encoding", "gzip");
+ }
+ gzipstream.write(b);
}
@@ -312,7 +284,7 @@
*/
public void write(byte b[]) throws IOException {
- write(b, 0, b.length);
+ write(b, 0, b.length);
}
@@ -329,35 +301,35 @@
*/
public void write(byte b[], int off, int len) throws IOException {
- //System.out.println("second write in CompressionResponseStream");
- if (closed)
- throw new IOException("Cannot write to a closed output stream");
-
- if (len == 0)
- return;
- if (len <= (buffer.length - bufferCount)) {
- System.arraycopy(b, off, buffer, bufferCount, len);
- bufferCount += len;
- count += len;
- return;
+ //System.out.println("second write in CompressionResponseStream");
+ if (closed)
+ throw new IOException("Cannot write to a closed output stream");
+
+ if (len == 0)
+ return;
+ if (len <= (buffer.length - bufferCount)) {
+ System.arraycopy(b, off, buffer, bufferCount, len);
+ bufferCount += len;
+ count += len;
+ return;
}
- // buffer full, start writing to gzipstream
+ // buffer full, start writing to gzipstream
- writeToGZip(b, off, len);
- count += len;
+ writeToGZip(b, off, len);
+ count += len;
}
public void writeToGZip(byte b[], int off, int len) throws IOException {
- //System.out.println("writeToGZip 2 compressing");
- if (gzipstream == null) {
- gzipstream = new GZIPOutputStream(output);
- flushToGZip();
- response.addHeader("Content-Encoding", "gzip");
- }
- gzipstream.write(b, off, len);
+ //System.out.println("writeToGZip 2 compressing");
+ if (gzipstream == null) {
+ gzipstream = new GZIPOutputStream(output);
+ flushToGZip();
+ response.addHeader("Content-Encoding", "gzip");
+ }
+ gzipstream.write(b, off, len);
}
@@ -368,9 +340,9 @@
/**
* Has this response stream been closed?
*/
- boolean closed() {
+ public boolean closed() {
- return (this.closed);
+ return (this.closed);
}
@@ -378,11 +350,10 @@
/**
* Reset the count of bytes written to this stream to zero.
*/
- void reset() {
+ public void reset() {
- count = 0;
+ count = 0;
}
-
}
1.3 +38 -38 jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
Index: CompressionServletResponseWrapper.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CompressionServletResponseWrapper.java 2001/03/22 17:49:27 1.2
+++ CompressionServletResponseWrapper.java 2001/09/06 04:18:54 1.3
@@ -1,8 +1,8 @@
/*
* CompressionServletResponseWrapper.java
- * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java,v 1.2 2001/03/22 17:49:27 amyroh Exp $
- * $Revision: 1.2 $
- * $Date: 2001/03/22 17:49:27 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java,v 1.3 2001/09/06 04:18:54 amyroh Exp $
+ * $Revision: 1.3 $
+ * $Date: 2001/09/06 04:18:54 $
*
* ====================================================================
*
@@ -83,23 +83,23 @@
* the CompressionServletResponseStream implementation..
*
* @author Amy Roh
- * @version $Revision: 1.2 $, $Date: 2001/03/22 17:49:27 $
+ * @version $Revision: 1.3 $, $Date: 2001/09/06 04:18:54 $
*/
public class CompressionServletResponseWrapper extends HttpServletResponseWrapper {
// ----------------------------------------------------- Constructor
- /**
- * Calls the parent constructor which creates a ServletResponse adaptor
- * wrapping the given response object.
- */
-
- public CompressionServletResponseWrapper(HttpServletResponse response) {
- super(response);
- origResponse = response;
- //System.out.println("CompressionServletResponseWrapper constructor gets called");
- }
+ /**
+ * Calls the parent constructor which creates a ServletResponse adaptor
+ * wrapping the given response object.
+ */
+
+ public CompressionServletResponseWrapper(HttpServletResponse response) {
+ super(response);
+ origResponse = response;
+ //System.out.println("CompressionServletResponseWrapper constructor gets called");
+ }
// ----------------------------------------------------- Instance Variables
@@ -136,6 +136,7 @@
*/
protected int threshold = 0;
+
// --------------------------------------------------------- Public Methods
@@ -143,10 +144,10 @@
* Set threshold number
*/
public void setCompressionThreshold(int threshold) {
- //System.out.println("setCompressionThreshold @ CompressionServletResponseWrapper");
- this.threshold = threshold;
+ //System.out.println("setCompressionThreshold @ CompressionServletResponseWrapper");
+ this.threshold = threshold;
}
-
+
/**
* Create and return a ServletOutputStream to write the content
* associated with this Response.
@@ -155,8 +156,8 @@
*/
public ServletOutputStream createOutputStream() throws IOException {
- //System.out.println("createOutputStream gets called");
- return (new CompressionResponseStream(origResponse));
+ //System.out.println("createOutputStream gets called");
+ return (new CompressionResponseStream(origResponse));
}
@@ -172,8 +173,8 @@
*/
public void flushBuffer() throws IOException {
- // System.out.println("flush buffer @ CompressionServletResponseWrapper");
- ((CompressionResponseStream)stream).flush();
+ // System.out.println("flush buffer @ CompressionServletResponseWrapper");
+ ((CompressionResponseStream)stream).flush();
}
@@ -186,14 +187,13 @@
*/
public ServletOutputStream getOutputStream() throws IOException {
- if (writer != null)
- throw new IllegalStateException("getWriter() has already been called for this response");
+ if (writer != null)
+ throw new IllegalStateException("getWriter() has already been called for this response");
- if (stream == null)
- stream = createOutputStream();
- //System.out.println("stream is set to "+stream+" in getOutputStream");
- ((CompressionResponseStream) stream).setCommit(true);
- ((CompressionResponseStream) stream).setBuffer(threshold);
+ if (stream == null)
+ stream = createOutputStream();
+ //System.out.println("stream is set to "+stream+" in getOutputStream");
+ ((CompressionResponseStream) stream).setBuffer(threshold);
return (stream);
}
@@ -207,18 +207,18 @@
*/
public PrintWriter getWriter() throws IOException {
- if (writer != null)
- return (writer);
+ if (writer != null)
+ return (writer);
- if (stream != null)
- throw new IllegalStateException("getOutputStream() has already been called for this response");
+ if (stream != null)
+ throw new IllegalStateException("getOutputStream() has already been called for this response");
- stream = createOutputStream();
- //System.out.println("strean is set to "+stream+" in getWriter");
- ((CompressionResponseStream) stream).setCommit(true);
- ((CompressionResponseStream) stream).setBuffer(threshold);
- writer = new PrintWriter(stream);
- return (writer);
+ stream = createOutputStream();
+ //System.out.println("strean is set to "+stream+" in getWriter");
+ ((CompressionResponseStream) stream).setBuffer(threshold);
+ writer = new PrintWriter(stream);
+ return (writer);
}
+
}