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]>