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 &lt;response:contains-header&gt;.
     </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) {