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");
       }
   
       /**
  
  
  

Reply via email to