tcurdt 01/12/04 11:05:36
Modified: src/org/apache/cocoon/environment AbstractEnvironment.java
Redirector.java
src/org/apache/cocoon/environment/wrapper
EnvironmentWrapper.java
src/org/apache/cocoon/sitemap SitemapRedirector.java
Log:
added the globalRedirect method to the Redirector interface.
now it's always possible to do a redirect on root level even
from aggregated pipelines.
Revision Changes Path
1.27 +4 -1
xml-cocoon2/src/org/apache/cocoon/environment/AbstractEnvironment.java
Index: AbstractEnvironment.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/org/apache/cocoon/environment/AbstractEnvironment.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- AbstractEnvironment.java 2001/11/26 11:36:16 1.26
+++ AbstractEnvironment.java 2001/12/04 19:05:36 1.27
@@ -26,7 +26,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.26 $ $Date: 2001/11/26 11:36:16 $
+ * @version CVS $Revision: 1.27 $ $Date: 2001/12/04 19:05:36 $
*/
public abstract class AbstractEnvironment extends AbstractLoggable implements
Environment {
@@ -228,6 +228,9 @@
* Redirect the client to a new URL
*/
public abstract void redirect(boolean sessionmode, String newURL) throws
IOException;
+ public void globalRedirect(boolean sessionmode, String newURL) throws
IOException {
+ redirect(sessionmode,newURL);
+ }
// Request methods
1.2 +2 -1 xml-cocoon2/src/org/apache/cocoon/environment/Redirector.java
Index: Redirector.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/environment/Redirector.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Redirector.java 2001/06/05 21:36:24 1.1
+++ Redirector.java 2001/12/04 19:05:36 1.2
@@ -14,7 +14,7 @@
* Interface for an redirector abstraction
*
* @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a>
- * @version CVS $Revision: 1.1 $ $Date: 2001/06/05 21:36:24 $
+ * @version CVS $Revision: 1.2 $ $Date: 2001/12/04 19:05:36 $
*/
public interface Redirector {
@@ -23,5 +23,6 @@
* Redirect to the given URL
*/
void redirect(boolean sessionmode, String url) throws IOException;
+ void globalRedirect(boolean sessionmode, String url) throws IOException;
}
1.12 +14 -1
xml-cocoon2/src/org/apache/cocoon/environment/wrapper/EnvironmentWrapper.java
Index: EnvironmentWrapper.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/org/apache/cocoon/environment/wrapper/EnvironmentWrapper.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- EnvironmentWrapper.java 2001/10/11 07:28:21 1.11
+++ EnvironmentWrapper.java 2001/12/04 19:05:36 1.12
@@ -30,7 +30,7 @@
* contains a <code>RequestWrapper</code> object.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version $Id: EnvironmentWrapper.java,v 1.11 2001/10/11 07:28:21 cziegeler Exp $
+ * @version $Id: EnvironmentWrapper.java,v 1.12 2001/12/04 19:05:36 tcurdt Exp $
*/
public final class EnvironmentWrapper
extends AbstractEnvironment
@@ -100,6 +100,19 @@
// get session from request, or create new session
session = request.getSession(true);
}
+ }
+
+ /**
+ * Redirect in the first non-wrapped environment
+ */
+ public void globalRedirect(boolean sessionmode, String newURL)
+ throws IOException {
+ if (environment instanceof EnvironmentWrapper) {
+ ((EnvironmentWrapper)environment).globalRedirect(sessionmode, newURL);
+ }
+ else {
+ environment.redirect(sessionmode,newURL);
+ }
}
/**
1.6 +11 -1 xml-cocoon2/src/org/apache/cocoon/sitemap/SitemapRedirector.java
Index: SitemapRedirector.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/org/apache/cocoon/sitemap/SitemapRedirector.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SitemapRedirector.java 2001/10/11 07:28:23 1.5
+++ SitemapRedirector.java 2001/12/04 19:05:36 1.6
@@ -10,6 +10,7 @@
import org.apache.cocoon.environment.Environment;
import org.apache.cocoon.environment.Redirector;
+import org.apache.cocoon.environment.wrapper.EnvironmentWrapper;
import java.io.IOException;
@@ -17,7 +18,7 @@
* Wrapper for sitemap redirection
*
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.5 $ $Date: 2001/10/11 07:28:23 $
+ * @version CVS $Revision: 1.6 $ $Date: 2001/12/04 19:05:36 $
*/
public class SitemapRedirector implements Redirector {
private boolean hasRedirected = false;
@@ -35,6 +36,15 @@
*/
public void redirect(boolean sessionMode, String url) throws IOException {
e.redirect(sessionMode, url);
+ this.hasRedirected = true;
+ }
+ public void globalRedirect(boolean sessionMode, String url) throws IOException {
+ if (e instanceof EnvironmentWrapper) {
+ ((EnvironmentWrapper)e).globalRedirect(sessionMode,url);
+ }
+ else {
+ e.redirect(sessionMode, url);
+ }
this.hasRedirected = true;
}
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]