remm        02/03/07 21:13:28

  Modified:    coyote/src/java/org/apache/coyote/tomcat4
                        CoyoteResponse.java
  Log:
  - Fix the mechanism to prevent from using a writer when an os is used.
  
  Revision  Changes    Path
  1.4       +23 -8     
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponse.java
  
  Index: CoyoteResponse.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponse.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CoyoteResponse.java       7 Mar 2002 22:43:29 -0000       1.3
  +++ CoyoteResponse.java       8 Mar 2002 05:13:28 -0000       1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponse.java,v
 1.3 2002/03/07 22:43:29 remm Exp $
  - * $Revision: 1.3 $
  - * $Date: 2002/03/07 22:43:29 $
  + * $Header: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponse.java,v
 1.4 2002/03/08 05:13:28 remm Exp $
  + * $Revision: 1.4 $
  + * $Date: 2002/03/08 05:13:28 $
    *
    * ====================================================================
    *
  @@ -111,7 +111,8 @@
    * Wrapper object for the Coyote response.
    *
    * @author Remy Maucherat
  - * @version $Revision: 1.3 $ $Date: 2002/03/07 22:43:29 $
  + * @author Craig R. McClanahan
  + * @version $Revision: 1.4 $ $Date: 2002/03/08 05:13:28 $
    */
   
   public class CoyoteResponse
  @@ -258,6 +259,18 @@
       protected ArrayList cookies = new ArrayList();
   
   
  +    /**
  +     * Using output stream flag.
  +     */
  +    protected boolean usingOutputStream = false;
  +
  +
  +    /**
  +     * Using writer flag.
  +     */
  +    protected boolean usingWriter = false;
  +
  +
       // --------------------------------------------------------- Public Methods
   
   
  @@ -267,6 +280,8 @@
        */
       public void recycle() {
           outputBuffer.recycle();
  +        usingOutputStream = false;
  +        usingWriter = false;
           appCommitted = false;
           included = false;
           error = false;
  @@ -443,8 +458,6 @@
           throws IOException {
           // Writing leftover bytes
           outputBuffer.close();
  -        // Finishing response
  -        coyoteResponse.finish();
       }
   
   
  @@ -524,10 +537,11 @@
       public ServletOutputStream getOutputStream() 
           throws IOException {
   
  -        if (writer != null)
  +        if (usingWriter)
               throw new IllegalStateException
                   (sm.getString("coyoteResponse.getOutputStream.ise"));
   
  +        usingOutputStream = true;
           return outputStream;
   
       }
  @@ -551,10 +565,11 @@
       public PrintWriter getWriter() 
           throws IOException {
   
  -        if (outputStream != null)
  +        if (usingOutputStream)
               throw new IllegalStateException
                   (sm.getString("coyoteResponse.getWriter.ise"));
   
  +        usingWriter = true;
           return writer;
   
       }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to