ovidiu      02/03/23 23:39:30

  Modified:    src/scratchpad/schecoon/src/org/apache/cocoon/components/flow/javascript
                        JSCocoon.java
  Log:
  If the value of property is JavaScript's Undefined, simply pass null
  in the dictionary.
  
  Revision  Changes    Path
  1.5       +13 -11    
xml-cocoon2/src/scratchpad/schecoon/src/org/apache/cocoon/components/flow/javascript/JSCocoon.java
  
  Index: JSCocoon.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/schecoon/src/org/apache/cocoon/components/flow/javascript/JSCocoon.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JSCocoon.java     21 Mar 2002 23:23:30 -0000      1.4
  +++ JSCocoon.java     24 Mar 2002 07:39:30 -0000      1.5
  @@ -16,9 +16,9 @@
   import org.mozilla.javascript.ScriptRuntime;
   import org.mozilla.javascript.Scriptable;
   import org.mozilla.javascript.ScriptableObject;
  +import org.mozilla.javascript.Undefined;
   import org.mozilla.javascript.Wrapper;
   
  -
   /**
    * JavaScript interface to various Cocoon abstractions.
    *
  @@ -126,7 +126,8 @@
     }
   
     public void jsFunction_processPipeline(String name, Object pipelineArgs,
  -                                         Object bizData)
  +                                         Object bizData,
  +                                         Object cont)
       throws Exception
     {
       if (responseSent) {
  @@ -146,14 +147,11 @@
       else if (bizData instanceof Scriptable)
         bizData = jsobjectToMap((Scriptable)bizData);
   
  -    environment.setAttribute("bean-dict", bizData);
  -    try {
  -      interp.processPipeline(name, (Map)pipelineArgs, bizData,
  -                             environment, context);
  -    }
  -    finally {
  -      environment.removeAttribute("bean-dict");
  -    }
  +    JSWebContinuation kont = (JSWebContinuation)cont;
  +
  +    interp.processPipeline(name, (Map)pipelineArgs, bizData,
  +                           kont.getWebContinuation(),
  +                           environment, context);
     }
   
     public Scriptable jsFunction_lookupContinuation(String id)
  @@ -186,7 +184,11 @@
       Object[] ids = jsobject.getIds();
       for (int i = 0; i < ids.length; i++) {
         String key = ScriptRuntime.toString(ids[i]);
  -      Object value = ScriptRuntime.toPrimitive(jsobject.get(key, jsobject));
  +      Object value = jsobject.get(key, jsobject);
  +      if (value == Undefined.instance)
  +        value = null;
  +      else
  +        value = ScriptRuntime.toPrimitive(value);
         hash.put(key, value);
       }
       return hash;
  
  
  

----------------------------------------------------------------------
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