You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by un...@apache.org on 2004/01/27 14:28:13 UTC

cvs commit: cocoon-2.2/src/java/org/apache/cocoon/components/flow/javascript/fom FOM_Cocoon.java

unico       2004/01/27 05:28:12

  Modified:    src/java/org/apache/cocoon/components/cprocessor/sitemap
                        RedirectToURINode.java CallFunctionNode.java
                        ActNode.java PipelinesNode.java
                        ErrorHandlerHelper.java
               src/java/org/apache/cocoon/components/pipeline
                        ProcessingPipeline.java
               src/java/org/apache/cocoon/components/cprocessor
                        ProcessingNode.java sitemap2xconf.xsl
                        AbstractProcessingNode.java
               src/java/org/apache/cocoon/components/flow/javascript
                        JSCocoon.java
               src/java/org/apache/cocoon/environment/internal
                        EnvironmentHelper.java
               src/java/org/apache/cocoon/components/flow
                        AbstractInterpreter.java
               src/java/org/apache/cocoon/components/flow/javascript/fom
                        FOM_Cocoon.java
  Log:
  make map:act work
  use EnvronmentHelper to store the current sourceresolver and redirector objects in the EnvironmentContext
  
  Revision  Changes    Path
  1.3       +3 -2      cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/RedirectToURINode.java
  
  Index: RedirectToURINode.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/RedirectToURINode.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RedirectToURINode.java	5 Jan 2004 08:17:30 -0000	1.2
  +++ RedirectToURINode.java	27 Jan 2004 13:27:37 -0000	1.3
  @@ -60,6 +60,7 @@
   import org.apache.cocoon.environment.Environment;
   import org.apache.cocoon.environment.PermanentRedirector;
   import org.apache.cocoon.environment.Redirector;
  +import org.apache.cocoon.environment.internal.EnvironmentHelper;
   import org.apache.cocoon.sitemap.PatternException;
   
   /**
  @@ -104,7 +105,7 @@
               getLogger().info("Redirecting to '" + resolvedURI + "' at " + getLocation());
           }
   
  -        final Redirector redirector = PipelinesNode.getRedirector(env);
  +        final Redirector redirector = EnvironmentHelper.getRedirector();
   
           if (m_global) {
               redirector.globalRedirect(m_createSession, resolvedURI);
  
  
  
  1.4       +3 -2      cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/CallFunctionNode.java
  
  Index: CallFunctionNode.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/CallFunctionNode.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CallFunctionNode.java	5 Jan 2004 08:17:30 -0000	1.3
  +++ CallFunctionNode.java	27 Jan 2004 13:27:40 -0000	1.4
  @@ -64,6 +64,7 @@
   import org.apache.cocoon.components.flow.Interpreter;
   import org.apache.cocoon.environment.Environment;
   import org.apache.cocoon.environment.Redirector;
  +import org.apache.cocoon.environment.internal.EnvironmentHelper;
   import org.apache.cocoon.sitemap.PatternException;
   
   /**
  @@ -151,7 +152,7 @@
       }
   
       public boolean invoke(Environment env, InvokeContext context) throws Exception {
  -        Redirector redirector = PipelinesNode.getRedirector(env);
  +        Redirector redirector = EnvironmentHelper.getRedirector();
           
           List params = null;
   
  
  
  
  1.2       +33 -31    cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/ActNode.java
  
  Index: ActNode.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/ActNode.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ActNode.java	29 Dec 2003 17:13:15 -0000	1.1
  +++ ActNode.java	27 Jan 2004 13:27:43 -0000	1.2
  @@ -54,6 +54,7 @@
   import java.util.Map;
   
   import org.apache.avalon.framework.activity.Disposable;
  +import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.avalon.framework.parameters.Parameters;
  @@ -68,6 +69,7 @@
   import org.apache.cocoon.environment.Environment;
   import org.apache.cocoon.environment.Redirector;
   import org.apache.cocoon.environment.SourceResolver;
  +import org.apache.cocoon.environment.internal.EnvironmentHelper;
   import org.apache.cocoon.sitemap.PatternException;
   
   /**
  @@ -83,7 +85,7 @@
    * @x-avalon.info name=act-node
    */
   public class ActNode extends SimpleParentProcessingNode
  -implements ProcessingNode, Disposable {
  +implements ProcessingNode, Initializable, Disposable {
       
       /** The 'name' for the variable anchor */
       private String m_name;
  @@ -161,39 +163,39 @@
       
       public final boolean invoke(Environment env, InvokeContext context) throws Exception {
         
  -      if (m_actionSetNode != null) {
  -          // Perform any common invoke functionality 
  -          super.invoke(env, context);
  -
  -          Parameters resolvedParams = VariableResolver.buildParameters(
  -              super.m_parameters,
  -              context,
  -              env.getObjectModel()
  -          );
  -
  -          Map result = m_actionSetNode.call(env, context, resolvedParams);
  -
  -          if (PipelinesNode.getRedirector(env).hasRedirected()) {
  -              return true;
  -
  -          } else if (result == null) {
  -              return false;
  -
  -          } else if (getChildNodes() == null) {
  -              return true;
  -
  -          } else {
  -              return this.invokeNodes(getChildNodes(), env, context, null, result);
  -          }
  -      }
  +        if (m_actionSetNode != null) {
  +            // Perform any common invoke functionality 
  +            super.invoke(env, context);
  +
  +            Parameters resolvedParams = VariableResolver.buildParameters(
  +                super.m_parameters,
  +                context,
  +                env.getObjectModel()
  +            );
  +
  +            Map result = m_actionSetNode.call(env, context, resolvedParams);
  +
  +            if (EnvironmentHelper.getRedirector().hasRedirected()) {
  +                return true;
  +
  +            } else if (result == null) {
  +                return false;
  +
  +            } else if (getChildNodes() == null) {
  +                return true;
  +
  +            } else {
  +                return this.invokeNodes(getChildNodes(), env, context, null, result);
  +            }
  +        }
           
  -      // Perform any common invoke functionality 
  -      super.invoke(env, context);
  +        // Perform any common invoke functionality 
  +        super.invoke(env, context);
   
           // Prepare data needed by the action
           Map            objectModel    = env.getObjectModel();
  -        Redirector     redirector     = PipelinesNode.getRedirector(env);
  -        SourceResolver resolver       = getSourceResolver(objectModel);
  +        Redirector     redirector     = EnvironmentHelper.getRedirector();
  +        SourceResolver resolver       = EnvironmentHelper.getSourceResolver();
           String         resolvedSource = m_source.resolve(context, objectModel);
           Parameters     resolvedParams = VariableResolver.buildParameters(super.m_parameters, context, objectModel);
   
  
  
  
  1.3       +1 -26     cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/PipelinesNode.java
  
  Index: PipelinesNode.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/PipelinesNode.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PipelinesNode.java	5 Jan 2004 08:17:30 -0000	1.2
  +++ PipelinesNode.java	27 Jan 2004 13:27:44 -0000	1.3
  @@ -51,7 +51,6 @@
   package org.apache.cocoon.components.cprocessor.sitemap;
   
   import java.util.ArrayList;
  -import java.util.Map;
   
   import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.framework.configuration.ConfigurationException;
  @@ -63,8 +62,6 @@
   import org.apache.cocoon.components.cprocessor.ProcessingNode;
   import org.apache.cocoon.components.cprocessor.SimpleParentProcessingNode;
   import org.apache.cocoon.environment.Environment;
  -import org.apache.cocoon.environment.ForwardRedirector;
  -import org.apache.cocoon.environment.Redirector;
   
   /**
    * Handles <map:pipelines>
  @@ -82,8 +79,6 @@
    * @x-avalon.info name=pipelines-node
    */
   public final class PipelinesNode extends SimpleParentProcessingNode implements Initializable {
  -
  -    private static final String REDIRECTOR_ATTR = "sitemap:redirector";
       
       private ErrorHandlerHelper m_errorHandlerHelper = new ErrorHandlerHelper();
   
  @@ -126,10 +121,6 @@
           m_pipelines = (ProcessingNode[]) pipelines.toArray(new ProcessingNode[pipelines.size()]);
       }
   
  -    public static Redirector getRedirector(Environment env) {
  -        return (Redirector) env.getAttribute(REDIRECTOR_ATTR);
  -    }
  -
       /**
        * Process the environment. Also adds a <code>SourceResolver</code>
        * and a <code>Redirector</code> in the object model. The previous resolver and
  @@ -144,18 +135,6 @@
           // Recompose context (and pipelines) to the local component manager
           context.reservice(super.m_manager);
   
  -        // Build a redirector
  -        ForwardRedirector redirector = new ForwardRedirector(env);
  -        setupLogger(redirector);
  -
  -        Map objectModel = env.getObjectModel();
  -        
  -        Object oldResolver = objectModel.get(OBJECT_SOURCE_RESOLVER);
  -        Object oldRedirector = env.getAttribute(REDIRECTOR_ATTR);
  -
  -        objectModel.put(OBJECT_SOURCE_RESOLVER, env);
  -        env.setAttribute(REDIRECTOR_ATTR, redirector);
  -
           try {
               // FIXME : is there any useful information that can be passed as top-level parameters,
               //         such as the URI of the mount point ?
  @@ -173,10 +152,6 @@
                   // No handler : propagate
                   throw ex;
               }
  -        } finally {
  -            // Restore old redirector and resolver
  -            env.setAttribute(REDIRECTOR_ATTR, oldRedirector);
  -            objectModel.put(OBJECT_SOURCE_RESOLVER, oldResolver);
           }
       }
   
  
  
  
  1.3       +2 -2      cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/ErrorHandlerHelper.java
  
  Index: ErrorHandlerHelper.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap/ErrorHandlerHelper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ErrorHandlerHelper.java	5 Jan 2004 08:17:30 -0000	1.2
  +++ ErrorHandlerHelper.java	27 Jan 2004 13:27:44 -0000	1.3
  @@ -84,7 +84,7 @@
       public boolean invokeErrorHandler(ProcessingNode node, Exception ex, Environment env)
       throws Exception {
   		Map objectModel = env.getObjectModel();
  -  	
  +        
           InvokeContext errorContext = null;
   		boolean nodeSuccessful = false;
   		
  
  
  
  1.7       +2 -2      cocoon-2.2/src/java/org/apache/cocoon/components/pipeline/ProcessingPipeline.java
  
  Index: ProcessingPipeline.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/pipeline/ProcessingPipeline.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ProcessingPipeline.java	8 Jan 2004 11:13:07 -0000	1.6
  +++ ProcessingPipeline.java	27 Jan 2004 13:27:47 -0000	1.7
  @@ -73,7 +73,7 @@
    *
    * <p>
    * A <code>ProcessingPipeline</code> is <code>Recomposable</code> since the
  - * <code>ComponentManager</code> used to get the generato, transformers etc.
  + * <code>ComponentManager</code> used to get the generators, transformers etc.
    * depends on the pipeline assembly engine where they are defined (i.e. a given
    * sitemap file).
    *
  
  
  
  1.3       +1 -4      cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/ProcessingNode.java
  
  Index: ProcessingNode.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/ProcessingNode.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ProcessingNode.java	5 Jan 2004 08:16:00 -0000	1.2
  +++ ProcessingNode.java	27 Jan 2004 13:27:47 -0000	1.3
  @@ -64,9 +64,6 @@
   
       public static final String ROLE = ProcessingNode.class.getName();
   
  -    /** The key used for the <code>SourceResolver</code> in the object model. */
  -    static final String OBJECT_SOURCE_RESOLVER = "source-resolver";
  -
       /**
        * Process this node with the suppled environment information.  Will recursively
        * process child nodes.
  
  
  
  1.7       +14 -6     cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap2xconf.xsl
  
  Index: sitemap2xconf.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/sitemap2xconf.xsl,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- sitemap2xconf.xsl	27 Jan 2004 10:32:59 -0000	1.6
  +++ sitemap2xconf.xsl	27 Jan 2004 13:27:47 -0000	1.7
  @@ -268,14 +268,22 @@
       </xsl:variable>
       <act-node id="{$id}" logger="sitemap.processor">
         <xsl:apply-templates select="@*" mode="copy" />
  -      <xsl:if test="not(@type)">
  -        <!-- set the default type -->
  -        <xsl:if test="/map:sitemap/map:components/map:actions/@default">
  +      <xsl:choose>
  +        <xsl:when test="@type">
             <xsl:attribute name="type">
  -            <xsl:value-of select="/map:sitemap/map:components/map:actions/@default" />
  +            <xsl:value-of select="@type"/>
  +            <xsl:text>-action</xsl:text>
             </xsl:attribute>
  -        </xsl:if>
  -      </xsl:if>
  +        </xsl:when>
  +        <xsl:otherwise>
  +          <xsl:if test="/map:sitemap/map:components/map:actions/@default">
  +            <xsl:attribute name="type">
  +              <xsl:value-of select="/map:sitemap/map:components/map:actions/@default" />
  +              <xsl:text>-action</xsl:text>
  +            </xsl:attribute>
  +          </xsl:if>
  +        </xsl:otherwise>
  +      </xsl:choose>
         <xsl:for-each select="map:match|map:select|map:act|map:call|map:aggregate|map:generate|map:transform|map:serialize|map:read|map:mount|map:redirect-to">
           <xsl:element name="{local-name()}">
             <xsl:attribute name="id-ref">
  
  
  
  1.2       +1 -9      cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/AbstractProcessingNode.java
  
  Index: AbstractProcessingNode.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/cprocessor/AbstractProcessingNode.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractProcessingNode.java	28 Dec 2003 21:03:17 -0000	1.1
  +++ AbstractProcessingNode.java	27 Jan 2004 13:27:47 -0000	1.2
  @@ -61,7 +61,6 @@
   import org.apache.avalon.framework.service.ServiceManager;
   import org.apache.avalon.framework.service.Serviceable;
   import org.apache.cocoon.components.cprocessor.variables.VariableResolverFactory;
  -import org.apache.cocoon.environment.SourceResolver;
   import org.apache.cocoon.sitemap.PatternException;
   import org.apache.cocoon.xml.LocationAugmentationPipe;
   
  @@ -162,13 +161,6 @@
       protected final String getConfigLocation(Configuration config) {
           return config.getAttribute(LocationAugmentationPipe.LOCATION_ATTR,
               LocationAugmentationPipe.UNKNOWN_LOCATION);
  -    }
  -    
  -    /**
  -     * Get the <code>SourceResolver</code> in an object model.
  -     */
  -    protected static final SourceResolver getSourceResolver(Map objectModel) {
  -        return (SourceResolver) objectModel.get(OBJECT_SOURCE_RESOLVER);
       }
   
   }
  
  
  
  1.17      +2 -3      cocoon-2.2/src/java/org/apache/cocoon/components/flow/javascript/JSCocoon.java
  
  Index: JSCocoon.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/flow/javascript/JSCocoon.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- JSCocoon.java	10 Jan 2004 14:38:19 -0000	1.16
  +++ JSCocoon.java	27 Jan 2004 13:27:49 -0000	1.17
  @@ -70,7 +70,6 @@
   import org.apache.cocoon.environment.internal.EnvironmentHelper;
   import org.apache.cocoon.components.modules.output.OutputModule;
   import org.apache.cocoon.components.modules.input.InputModule;
  -import org.apache.cocoon.components.cprocessor.sitemap.PipelinesNode;
   import org.apache.cocoon.components.flow.ContinuationsManager;
   import org.apache.cocoon.components.flow.WebContinuation;
   import org.apache.cocoon.acting.Action;
  @@ -264,7 +263,7 @@
           try {
               // Cannot use environment directly as TreeProcessor uses own version of redirector
               // environment.redirect(false, uri);
  -            PipelinesNode.getRedirector(environment).redirect(false, uri);
  +            EnvironmentHelper.getRedirector().redirect(false, uri);
           } catch (Exception e) {
               throw new JavaScriptException(e);
           }
  
  
  
  1.3       +47 -7     cocoon-2.2/src/java/org/apache/cocoon/environment/internal/EnvironmentHelper.java
  
  Index: EnvironmentHelper.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/environment/internal/EnvironmentHelper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- EnvironmentHelper.java	19 Jan 2004 10:47:14 -0000	1.2
  +++ EnvironmentHelper.java	27 Jan 2004 13:27:54 -0000	1.3
  @@ -64,7 +64,9 @@
   import org.apache.cocoon.Processor;
   import org.apache.cocoon.components.source.SourceUtil;
   import org.apache.cocoon.environment.Environment;
  +import org.apache.cocoon.environment.ForwardRedirector;
   import org.apache.cocoon.environment.ObjectModelHelper;
  +import org.apache.cocoon.environment.Redirector;
   import org.apache.cocoon.environment.Request;
   import org.apache.cocoon.environment.Response;
   import org.apache.cocoon.environment.Session;
  @@ -86,6 +88,14 @@
   extends AbstractLogEnabled
   implements SourceResolver, Serviceable, Disposable {
   
  +    /** The key used to store the current SourceResolver 
  +     * in the environment context */
  +    private static final String SOURCE_RESOLVER_KEY = "global:" + SourceResolver.class.getName();
  +
  +    /** The key used to store the current redirector 
  +     * in the environment context */
  +    private static final String REDIRECTOR_KEY = "global:" + Redirector.class.getName();
  +
       /** The key used to store the current environment context
        * in the object model */
       static protected final String PROCESS_KEY = EnvironmentHelper.class.getName();
  @@ -340,10 +350,10 @@
           this.doRedirect(env, sessionmode, newURL, true, false);
       }
   
  -   /**
  -    *  Redirect the client to new URL with session mode
  -    */
  -   protected void doRedirect(Environment env, 
  +    /**
  +     *  Redirect the client to new URL with session mode
  +     */
  +    protected void doRedirect(Environment env, 
                                boolean sessionmode, 
                                String newURL, 
                                boolean permanent,
  @@ -403,7 +413,15 @@
           }
           stack.pushInfo(new EnvironmentInfo(processor, stack.getOffset(), manager, env));
           stack.setOffset(stack.size()-1);
  -        ((EnvironmentContext)env.getObjectModel().get(PROCESS_KEY)).addAttribute(LAST_PROCESSOR_KEY, processor);
  +        
  +        EnvironmentContext ctx = (EnvironmentContext)env.getObjectModel().get(PROCESS_KEY);
  +        ctx.addAttribute(LAST_PROCESSOR_KEY, processor);
  +        ctx.addAttribute(SOURCE_RESOLVER_KEY, processor.getEnvironmentHelper());
  +        
  +        ForwardRedirector redirector = new ForwardRedirector(env);
  +        redirector.enableLogging(processor.getEnvironmentHelper().getLogger());
  +        ctx.addAttribute(REDIRECTOR_KEY, redirector);
  +
       }
   
       /**
  @@ -452,11 +470,33 @@
        * Return the environment context
        */
       public static EnvironmentContext getCurrentEnvironmentContext() {
  -        final EnvironmentStack stack = (EnvironmentStack)environmentStack.get();
  +        final EnvironmentStack stack = (EnvironmentStack) environmentStack.get();
           if ( stack != null && !stack.empty() ) {
               final EnvironmentInfo info = stack.getCurrentInfo();
               final Map objectModel = info.environment.getObjectModel();
               return (EnvironmentContext)objectModel.get(PROCESS_KEY);
  +        }
  +        return null;
  +    }
  +    
  +    /**
  +     * Return the SourceResolver
  +     */
  +    public static SourceResolver getSourceResolver() {
  +        final EnvironmentContext ctx = getCurrentEnvironmentContext();
  +        if (ctx != null) {
  +            return (SourceResolver) ctx.getAttribute(SOURCE_RESOLVER_KEY);
  +        }
  +        return null;
  +    }
  +    
  +    /**
  +     * Return the Redirector
  +     */
  +    public static Redirector getRedirector() {
  +        final EnvironmentContext ctx = getCurrentEnvironmentContext();
  +        if (ctx != null) {
  +            return (Redirector) ctx.getAttribute(REDIRECTOR_KEY);
           }
           return null;
       }
  
  
  
  1.17      +2 -3      cocoon-2.2/src/java/org/apache/cocoon/components/flow/AbstractInterpreter.java
  
  Index: AbstractInterpreter.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/flow/AbstractInterpreter.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- AbstractInterpreter.java	10 Jan 2004 14:38:19 -0000	1.16
  +++ AbstractInterpreter.java	27 Jan 2004 13:28:01 -0000	1.17
  @@ -61,7 +61,6 @@
   import org.apache.avalon.framework.thread.SingleThreaded;
   import org.apache.cocoon.Constants;
   import org.apache.cocoon.Processor;
  -import org.apache.cocoon.components.cprocessor.sitemap.PipelinesNode;
   import org.apache.cocoon.environment.Context;
   import org.apache.cocoon.environment.Environment;
   import org.apache.cocoon.environment.internal.EnvironmentHelper;
  @@ -243,6 +242,6 @@
           Map objectModel = environment.getObjectModel();
           FlowHelper.setContextObject(objectModel, bizData);
           FlowHelper.setWebContinuation(objectModel, continuation);
  -        PipelinesNode.getRedirector(environment).redirect(false, uri);
  +        EnvironmentHelper.getRedirector().redirect(false, uri);
       }
   }
  
  
  
  1.19      +4 -4      cocoon-2.2/src/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java
  
  Index: FOM_Cocoon.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- FOM_Cocoon.java	28 Dec 2003 21:09:59 -0000	1.18
  +++ FOM_Cocoon.java	27 Jan 2004 13:28:06 -0000	1.19
  @@ -61,7 +61,6 @@
   
   import org.apache.avalon.framework.logger.Logger;
   import org.apache.avalon.framework.service.ServiceManager;
  -import org.apache.cocoon.components.cprocessor.sitemap.PipelinesNode;
   import org.apache.cocoon.components.flow.ContinuationsManager;
   import org.apache.cocoon.components.flow.WebContinuation;
   import org.apache.cocoon.components.flow.Interpreter.Argument;
  @@ -72,6 +71,7 @@
   import org.apache.cocoon.environment.Response;
   import org.apache.cocoon.environment.Session;
   import org.apache.cocoon.environment.http.HttpResponse;
  +import org.apache.cocoon.environment.internal.EnvironmentHelper;
   import org.mozilla.javascript.Context;
   import org.mozilla.javascript.JavaScriptException;
   import org.mozilla.javascript.Script;
  @@ -206,11 +206,11 @@
       public void jsFunction_redirectTo(String uri) throws Exception {
           // Cannot use environment directly as TreeProcessor uses own version of redirector
           // environment.redirect(false, uri);
  -        PipelinesNode.getRedirector(environment).redirect(false, uri);
  +        EnvironmentHelper.getRedirector().redirect(false, uri);
       }
       
       public void jsFunction_sendStatus(int sc) {
  -        PipelinesNode.getRedirector(environment).sendStatus(sc);
  +        EnvironmentHelper.getRedirector().sendStatus(sc);
       }
   
   /*