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]