You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gr...@apache.org on 2001/01/23 19:37:37 UTC
cvs commit: xml-cocoon/src/org/apache/cocoon/response HttpServletResponseFacade.java
greenrd 01/01/23 10:37:35
Modified: . changes.xml
src/org/apache/cocoon Engine.java
src/org/apache/cocoon/response
HttpServletResponseFacade.java
Log:
fixed redirect to not throw exception
Revision Changes Path
1.192 +6 -1 xml-cocoon/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/changes.xml,v
retrieving revision 1.191
retrieving revision 1.192
diff -u -r1.191 -r1.192
--- changes.xml 2001/01/23 18:29:58 1.191
+++ changes.xml 2001/01/23 18:37:18 1.192
@@ -4,7 +4,7 @@
<!--
History of Cocoon changes
- $Id: changes.xml,v 1.191 2001/01/23 18:29:58 greenrd Exp $
+ $Id: changes.xml,v 1.192 2001/01/23 18:37:18 greenrd Exp $
-->
<changes title="History of Changes">
@@ -18,6 +18,11 @@
</devs>
<release version="@version@" date="@date@">
+ <action dev="RDG" type="fix">
+ response.sendRedirect no longer throws an Exception; processing is instead stopped inside the Cocoon
+ Engine for that request, after this processor returns. This is needed to fix a redirect problem
+ with Tomcat (see below).
+ </action>
<action dev="RDG" type="fix" due-to="Steffen Stundzig" due-to-email="steffen@smb-tec.com">
Fixed <response:contains-header>.
</action>
1.48 +3 -2 xml-cocoon/src/org/apache/cocoon/Engine.java
Index: Engine.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/Engine.java,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- Engine.java 2001/01/19 19:31:37 1.47
+++ Engine.java 2001/01/23 18:37:27 1.48
@@ -1,4 +1,4 @@
-/*-- $Id: Engine.java,v 1.47 2001/01/19 19:31:37 greenrd Exp $ --
+/*-- $Id: Engine.java,v 1.48 2001/01/23 18:37:27 greenrd Exp $ --
============================================================================
The Apache Software License, Version 1.1
@@ -77,7 +77,7 @@
*
* @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
* @author <a href="mailto:greenrd@hotmail.com">Robin Green</a>
- * @version $Revision: 1.47 $ $Date: 2001/01/19 19:31:37 $
+ * @version $Revision: 1.48 $ $Date: 2001/01/23 18:37:27 $
*/
public class Engine implements Defaults {
@@ -381,6 +381,7 @@
String processDesc = processor.getClass ().getName () + "-" + processNum;
if (PROFILE) profiler.startEvent (requestMarker, processDesc);
document = processor.process(document, environment);
+ if ((HttpServletResponseFacade) response).hasRedirected) throw new RedirectException ();
page.setChangeable(processor);
if (PROFILE) profiler.finishEvent (requestMarker, processDesc);
if (LOG) logger.log(this, "Document processed", Logger.DEBUG);
1.2 +6 -3 xml-cocoon/src/org/apache/cocoon/response/HttpServletResponseFacade.java
Index: HttpServletResponseFacade.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/response/HttpServletResponseFacade.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- HttpServletResponseFacade.java 2000/11/20 18:35:58 1.1
+++ HttpServletResponseFacade.java 2001/01/23 18:37:32 1.2
@@ -1,4 +1,4 @@
-/*-- $Id: HttpServletResponseFacade.java,v 1.1 2000/11/20 18:35:58 greenrd Exp $ --
+/*-- $Id: HttpServletResponseFacade.java,v 1.2 2001/01/23 18:37:32 greenrd Exp $ --
============================================================================
The Apache Software License, Version 1.1
@@ -61,11 +61,12 @@
* Hack to handle redirects correctly with Tomcat 3.1.
*
* @author <a href="mailto:greenrd@hotmail.com">Robin Green</a>
- * @version $Revision: 1.1 $ $Date: 2000/11/20 18:35:58 $
+ * @version $Revision: 1.2 $ $Date: 2001/01/23 18:37:32 $
*/
public class HttpServletResponseFacade implements HttpServletResponse {
+ public boolean hasRedirected = false;
protected final HttpServletResponse r;
public HttpServletResponseFacade (HttpServletResponse response) {
@@ -126,7 +127,9 @@
public void sendRedirect(String location) throws IOException, RedirectException {
r.sendRedirect (location);
- throw new RedirectException ();
+ //this breaks too much code
+ //throw new RedirectException ();
+ this.hasRedirected = true;
}
public String encodeURL (String url) {