vmassol     02/04/21 07:37:08

  Modified:    framework/src/java/j2ee13/org/apache/cactus/server
                        FilterTestCaller.java
               framework/src/java/share/org/apache/cactus/server
                        AbstractTestCaller.java JspTestCaller.java
                        ServletTestCaller.java
  Log:
  corrected bug. For some containers you cannot call HttpServletResponse.getWriter() 
twice (ex. Orion 1.5)
  
  Revision  Changes    Path
  1.3       +10 -1     
jakarta-cactus/framework/src/java/j2ee13/org/apache/cactus/server/FilterTestCaller.java
  
  Index: FilterTestCaller.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-cactus/framework/src/java/j2ee13/org/apache/cactus/server/FilterTestCaller.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FilterTestCaller.java     14 Apr 2002 10:35:44 -0000      1.2
  +++ FilterTestCaller.java     21 Apr 2002 14:37:07 -0000      1.3
  @@ -57,6 +57,8 @@
   package org.apache.cactus.server;
   
   import java.lang.reflect.Field;
  +import java.io.Writer;
  +import java.io.IOException;
   import javax.servlet.http.HttpServletRequest;
   
   import org.apache.cactus.AbstractTestCase;
  @@ -69,7 +71,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vincent Massol</a>
    *
  - * @version $Id: FilterTestCaller.java,v 1.2 2002/04/14 10:35:44 vmassol Exp $
  + * @version $Id: FilterTestCaller.java,v 1.3 2002/04/21 14:37:07 vmassol Exp $
    */
   public class FilterTestCaller extends AbstractTestCaller
   {
  @@ -126,4 +128,11 @@
               filterImplicitObjects.getFilterChain());
       }
   
  +    /**
  +     * @see AbstractTestCaller#getResponseWriter()
  +     */
  +    protected Writer getResponseWriter() throws IOException
  +    {
  +        return this.webImplicitObjects.getHttpServletResponse().getWriter();
  +    }
   }
  
  
  
  1.7       +12 -6     
jakarta-cactus/framework/src/java/share/org/apache/cactus/server/AbstractTestCaller.java
  
  Index: AbstractTestCaller.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-cactus/framework/src/java/share/org/apache/cactus/server/AbstractTestCaller.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AbstractTestCaller.java   21 Apr 2002 13:45:11 -0000      1.6
  +++ AbstractTestCaller.java   21 Apr 2002 14:37:08 -0000      1.7
  @@ -57,7 +57,7 @@
   package org.apache.cactus.server;
   
   import java.io.IOException;
  -import java.io.PrintWriter;
  +import java.io.Writer;
   import java.lang.reflect.Constructor;
   import javax.servlet.ServletException;
   
  @@ -75,7 +75,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vincent Massol</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Nicholas Lesiecki</a>
    *
  - * @version $Id: AbstractTestCaller.java,v 1.6 2002/04/21 13:45:11 vmassol Exp $
  + * @version $Id: AbstractTestCaller.java,v 1.7 2002/04/21 14:37:08 vmassol Exp $
    */
   public abstract class AbstractTestCaller
   {
  @@ -118,6 +118,13 @@
           throws Exception;
   
       /**
  +     * @return a <code>Writer</code> object that will be used to return the
  +     *         test result to the client side.
  +     * @exception IOException if an error occurs when retrieving the writer
  +     */
  +    protected abstract Writer getResponseWriter() throws IOException;
  +
  +    /**
        * Calls a test method. The parameters needed to call this method are found
        * in the HTTP request. Save the results in the <code>application</code>
        * scope so that the Get Test Result service can find them.
  @@ -184,10 +191,9 @@
           // Write back the results to the outgoing stream as an XML string.
           try {
   
  -            PrintWriter pw =
  -                this.webImplicitObjects.getHttpServletResponse().getWriter();
  -            pw.print(result.toXml());
  -            pw.close();
  +            Writer writer = getResponseWriter();
  +            writer.write(result.toXml());
  +            writer.close();
   
           } catch (IOException e) {
               String message = "Error writing WebTestResult instance to output " +
  
  
  
  1.2       +13 -1     
jakarta-cactus/framework/src/java/share/org/apache/cactus/server/JspTestCaller.java
  
  Index: JspTestCaller.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-cactus/framework/src/java/share/org/apache/cactus/server/JspTestCaller.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JspTestCaller.java        1 Mar 2002 00:43:46 -0000       1.1
  +++ JspTestCaller.java        21 Apr 2002 14:37:08 -0000      1.2
  @@ -57,6 +57,8 @@
   package org.apache.cactus.server;
   
   import java.lang.reflect.Field;
  +import java.io.Writer;
  +import java.io.IOException;
   import javax.servlet.http.HttpServletRequest;
   
   import org.apache.cactus.AbstractTestCase;
  @@ -69,7 +71,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vincent Massol</a>
    *
  - * @version $Id: JspTestCaller.java,v 1.1 2002/03/01 00:43:46 vmassol Exp $
  + * @version $Id: JspTestCaller.java,v 1.2 2002/04/21 14:37:08 vmassol Exp $
    */
   public class JspTestCaller extends ServletTestCaller
   {
  @@ -115,6 +117,16 @@
   
           Field outField = jspInstance.getClass().getField("out");
           outField.set(jspInstance, jspImplicitObjects.getJspWriter());
  +    }
  +
  +    /**
  +     * @see AbstractTestCaller#getResponseWriter()
  +     */
  +    protected Writer getResponseWriter() throws IOException
  +    {
  +        JspImplicitObjects jspImplicitObjects =
  +            (JspImplicitObjects) this.webImplicitObjects;
  +        return jspImplicitObjects.getJspWriter();
       }
   
   }
  
  
  
  1.2       +11 -1     
jakarta-cactus/framework/src/java/share/org/apache/cactus/server/ServletTestCaller.java
  
  Index: ServletTestCaller.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-cactus/framework/src/java/share/org/apache/cactus/server/ServletTestCaller.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ServletTestCaller.java    1 Mar 2002 00:43:46 -0000       1.1
  +++ ServletTestCaller.java    21 Apr 2002 14:37:08 -0000      1.2
  @@ -57,6 +57,8 @@
   package org.apache.cactus.server;
   
   import java.lang.reflect.Field;
  +import java.io.Writer;
  +import java.io.IOException;
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpSession;
   
  @@ -70,7 +72,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vincent Massol</a>
    *
  - * @version $Id: ServletTestCaller.java,v 1.1 2002/03/01 00:43:46 vmassol Exp $
  + * @version $Id: ServletTestCaller.java,v 1.2 2002/04/21 14:37:08 vmassol Exp $
    */
   public class ServletTestCaller extends AbstractTestCaller
   {
  @@ -133,6 +135,14 @@
               sessionField.set(servletInstance, session);
   
           }
  +    }
  +
  +    /**
  +     * @see AbstractTestCaller#getResponseWriter()
  +     */
  +    protected Writer getResponseWriter() throws IOException
  +    {
  +        return this.webImplicitObjects.getHttpServletResponse().getWriter();
       }
   
   }
  
  
  

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

Reply via email to