ovidiu      02/03/29 21:30:04

  Modified:    src/scratchpad/schecoon/src/org/apache/cocoon/components/flow
                        JavaScriptInterpreter.java
  Log:
  Implement forwardTo().
  
  Revision  Changes    Path
  1.11      +31 -0     
xml-cocoon2/src/scratchpad/schecoon/src/org/apache/cocoon/components/flow/JavaScriptInterpreter.java
  
  Index: JavaScriptInterpreter.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/schecoon/src/org/apache/cocoon/components/flow/JavaScriptInterpreter.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- JavaScriptInterpreter.java        25 Mar 2002 07:33:54 -0000      1.10
  +++ JavaScriptInterpreter.java        30 Mar 2002 05:30:04 -0000      1.11
  @@ -14,7 +14,9 @@
   import org.apache.cocoon.components.treeprocessor.InvokeContext;
   import org.apache.cocoon.components.treeprocessor.MapStackResolver;
   import org.apache.cocoon.components.treeprocessor.ProcessingNode;
  +import org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode;
   import org.apache.cocoon.environment.Environment;
  +import org.apache.cocoon.environment.ForwardRedirector;
   import org.apache.cocoon.environment.Source;
   import org.mozilla.javascript.Context;
   import org.mozilla.javascript.Function;
  @@ -25,6 +27,12 @@
   import org.mozilla.javascript.ScriptableObject;
   import org.mozilla.javascript.tools.shell.Global;
   
  +/**
  + * Interface with the JavaScript interpreter.
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
  + * @since March 25, 2002
  + */
   public class JavaScriptInterpreter extends AbstractInterpreter
     implements Initializable
   {
  @@ -251,6 +259,29 @@
         environment.removeAttribute("kont");
         if (pipelineArgs != null)
           ctx.popMap();
  +    }
  +  }
  +
  +  public void forwardTo(String uri, Object bizData,
  +                        WebContinuation continuation,
  +                        Environment environment, InvokeContext ctx)
  +    throws Exception
  +  {
  +    if (ctx == null) {
  +      String msg = "Cannot invoke pipeline with a null InvokeContext! Make sure"
  +        + " you're calling the pipeline during the execution of a request.";
  +      throw new RuntimeException(msg);
  +    }
  +
  +    environment.setAttribute("bean-dict", bizData);
  +    environment.setAttribute("kont", continuation);
  +
  +    try {
  +      PipelinesNode.getRedirector(environment).redirect(false, uri);
  +    }
  +    finally {
  +      environment.removeAttribute("bean-dict");
  +      environment.removeAttribute("kont");
       }
     }
   }
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to