ovidiu 02/03/21 15:16:14
Modified: src/scratchpad/schecoon/src/org/apache/cocoon/components/flow
JavaScriptInterpreter.java
Log:
Define JSWebContinuation as object available in JavaScript.
Revision Changes Path
1.8 +12 -9
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.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JavaScriptInterpreter.java 19 Mar 2002 09:36:08 -0000 1.7
+++ JavaScriptInterpreter.java 21 Mar 2002 23:16:14 -0000 1.8
@@ -10,6 +10,7 @@
import org.apache.cocoon.components.flow.javascript.JSCocoon;
import org.apache.cocoon.components.flow.javascript.JSGlobal;
import org.apache.cocoon.components.flow.javascript.JSLog;
+import org.apache.cocoon.components.flow.javascript.JSWebContinuation;
import org.apache.cocoon.components.treeprocessor.InvokeContext;
import org.apache.cocoon.components.treeprocessor.MapStackResolver;
import org.apache.cocoon.components.treeprocessor.ProcessingNode;
@@ -28,10 +29,10 @@
implements Initializable
{
// This is the only optimization level that supports continuations
- // in the Rhino JavaScript implementation
+ // in the Christoper Oliver's Rhino JavaScript implementation
static int OPTIMIZATION_LEVEL = -1;
- Scriptable scope;
+ JSGlobal scope;
public void initialize()
throws Exception
@@ -51,6 +52,9 @@
// Access to Cocoon internal objects
ScriptableObject.defineClass(scope, JSCocoon.class);
+ // Wrapper for WebContinuation
+ ScriptableObject.defineClass(scope, JSWebContinuation.class);
+
// Define some functions on the top level scope
String[] names = { "print" };
try {
@@ -66,6 +70,7 @@
Scriptable log = context.newObject(scope, "Log", args);
((JSLog)log).setLogger(getLogger());
scope.put("log", scope, log);
+
} catch (Exception e) {
context.exit();
System.out.println("problem initializing JavaScriptInterpreter: ");
@@ -94,8 +99,9 @@
Object args[] = {};
Scriptable cocoon = context.newObject(scope, "Cocoon", args);
((JSCocoon)cocoon).setInterpreter(this);
- ((JSCocoon)cocoon).setContext(environment, ctx);
- thrScope.put("cocoon", scope, cocoon);
+ ((JSCocoon)cocoon).setContext(manager, environment, ctx);
+ ((JSCocoon)cocoon).setContinuationsManager(continuationsMgr);
+ thrScope.put("cocoon", thrScope, cocoon);
return thrScope;
}
@@ -112,14 +118,13 @@
Context.getCurrentContext().exit();
}
- public synchronized Source readScript(Environment environment,
- String sourceName)
+ public Source readScript(Environment environment, String sourceName)
throws Exception
{
Scriptable thrScope = null;
Source source = null;
- System.out.println("Reading JavaScript script " + sourceName);
+ System.out.println("Reading file " + sourceName);
try {
thrScope = enterContext(environment, null);
@@ -146,8 +151,6 @@
Scriptable thrScope = null;
checkForModifiedScripts(environment);
- System.out.println("JavaScript: invoking " + funName
- + ", params = " + params);
try {
thrScope = enterContext(environment, ctx);
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]