cziegeler 2003/03/12 04:55:16
Modified: src/java/org/apache/cocoon/environment/wrapper
EnvironmentWrapper.java
src/java/org/apache/cocoon/components/source/impl
SitemapSource.java
src/deprecated/java/org/apache/cocoon/components/source
SitemapSource.java
src/java/org/apache/cocoon/components
CocoonComponentManager.java
Log:
Fix the determination of the correct pipeline used for internal processing. Thanks
to Tim Myers [EMAIL PROTECTED]
Revision Changes Path
1.2 +12 -20
cocoon-2.1/src/java/org/apache/cocoon/environment/wrapper/EnvironmentWrapper.java
Index: EnvironmentWrapper.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/environment/wrapper/EnvironmentWrapper.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- EnvironmentWrapper.java 9 Mar 2003 00:09:30 -0000 1.1
+++ EnvironmentWrapper.java 12 Mar 2003 12:55:16 -0000 1.2
@@ -50,12 +50,17 @@
*/
package org.apache.cocoon.environment.wrapper;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.logger.Logger;
-
-import org.apache.cocoon.Processor;
import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.components.CocoonComponentManager;
import org.apache.cocoon.environment.AbstractEnvironment;
import org.apache.cocoon.environment.Environment;
import org.apache.cocoon.environment.ObjectModelHelper;
@@ -63,13 +68,6 @@
import org.apache.cocoon.util.BufferedOutputStream;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
/**
@@ -332,16 +330,10 @@
* Change the current context to the last one set by changeContext()
* and return last processor
*/
- public Processor changeToLastContext() {
+ public void changeToLastContext() {
this.setContext(this.lastContext);
this.setURIPrefix(this.lastPrefix);
this.uris = this.lastURI;
- // HACK: As processing enters sitemap, capture current processor.
- // If pipeline is successfully assembled, this will contain proper
processor.
- // Used by cocoon protocol.
- // FIXME (CZ) : Is this the right place? This was before
- // in the setComponentManager method!
- return CocoonComponentManager.getCurrentProcessor();
}
/**
@@ -371,7 +363,7 @@
{
Object value = super.getAttribute(name);
if (value == null)
- value = environment.getAttribute(name);
+ value = this.environment.getAttribute(name);
return value;
}
@@ -384,7 +376,7 @@
*/
public void removeAttribute(String name) {
super.removeAttribute(name);
- environment.removeAttribute(name);
+ this.environment.removeAttribute(name);
}
}
1.2 +3 -2
cocoon-2.1/src/java/org/apache/cocoon/components/source/impl/SitemapSource.java
Index: SitemapSource.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/source/impl/SitemapSource.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SitemapSource.java 9 Mar 2003 00:09:14 -0000 1.1
+++ SitemapSource.java 12 Mar 2003 12:55:16 -0000 1.2
@@ -343,7 +343,8 @@
this.processKey =
CocoonComponentManager.startProcessing(this.environment);
this.environment.setURI(this.prefix, this.uri);
this.processingPipeline =
this.processor.processInternal(this.environment);
- this.pipelineProcessor = this.environment.changeToLastContext();
+ this.pipelineProcessor =
CocoonComponentManager.getLastProcessor(this.environment);
+ this.environment.changeToLastContext();
String redirectURL = this.environment.getRedirectURL();
if (redirectURL == null) {
1.2 +3 -2
cocoon-2.1/src/deprecated/java/org/apache/cocoon/components/source/SitemapSource.java
Index: SitemapSource.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/deprecated/java/org/apache/cocoon/components/source/SitemapSource.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SitemapSource.java 9 Mar 2003 00:07:01 -0000 1.1
+++ SitemapSource.java 12 Mar 2003 12:55:16 -0000 1.2
@@ -278,7 +278,8 @@
this.processKey =
CocoonComponentManager.startProcessing(this.environment);
this.environment.setURI(this.prefix, this.uri);
this.processingPipeline =
this.processor.processInternal(this.environment);
- this.pipelineProcessor = this.environment.changeToLastContext();
+ this.pipelineProcessor =
CocoonComponentManager.getLastProcessor(this.environment);
+ this.environment.changeToLastContext();
String redirectURL = this.environment.getRedirectURL();
if (redirectURL != null) {
if (redirectURL.indexOf(":") == -1) {
1.2 +9 -1
cocoon-2.1/src/java/org/apache/cocoon/components/CocoonComponentManager.java
Index: CocoonComponentManager.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/CocoonComponentManager.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CocoonComponentManager.java 9 Mar 2003 00:08:46 -0000 1.1
+++ CocoonComponentManager.java 12 Mar 2003 12:55:16 -0000 1.2
@@ -151,6 +151,7 @@
stack.push(new Object[] {env, processor, manager});
final EnvironmentDescription desc =
(EnvironmentDescription)env.getObjectModel().get(PROCESS_KEY);
desc.addSitemapConfiguration(processor.getComponentConfigurations());
+ env.setAttribute("CocoonComponentManager.processor", processor);
}
/**
@@ -223,6 +224,13 @@
*/
public static EnvironmentStack getCurrentEnvironmentStack() {
return (EnvironmentStack)environmentStack.get();
+ }
+
+ /**
+ * Return the processor that is actually processing the request
+ */
+ public static Processor getLastProcessor(Environment env) {
+ return (Processor)env.getAttribute("CocoonComponentManager.processor");
}
/**