cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ovi...@apache.org
Subject cvs commit: xml-cocoon2/src/java/org/apache/cocoon/components/flow/javascript JavaScriptInterpreter.java
Date Fri, 06 Sep 2002 00:18:31 GMT
ovidiu      2002/09/05 17:18:31

  Modified:    src/java/org/apache/cocoon/components/flow/javascript
                        JavaScriptInterpreter.java
  Log:
  Do an exec() on the compiledScript in enterContext() instead of doing
  it every time in callFunction(). The exec() is also done only if the
  scope is fresh, to preserve the values of global variables in scopes
  maintained in the session scope.
  
  Consistently name the Context objects in a similar way.
  
  Revision  Changes    Path
  1.8       +12 -7     xml-cocoon2/src/java/org/apache/cocoon/components/flow/javascript/JavaScriptInterpreter.java
  
  Index: JavaScriptInterpreter.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/flow/javascript/JavaScriptInterpreter.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JavaScriptInterpreter.java	30 Aug 2002 00:55:12 -0000	1.7
  +++ JavaScriptInterpreter.java	6 Sep 2002 00:18:31 -0000	1.8
  @@ -226,6 +226,9 @@
         ((JSCocoon)cocoon).setInterpreter(this);
         ((JSCocoon)cocoon).setScope(thrScope);
         thrScope.put("cocoon", thrScope, cocoon);
  +
  +      if (compiledScript != null)
  +        compiledScript.exec(context, thrScope);
       }
       else
         cocoon = (JSCocoon)thrScope.get("cocoon", thrScope);
  @@ -259,9 +262,9 @@
       try {
         thrScope = enterContext(environment);
         Reader reader = new BufferedReader(new InputStreamReader(is));
  -      Context ctx = Context.getCurrentContext();
  +      Context context = Context.getCurrentContext();
   
  -      compiledScript = ctx.compileReader(thrScope, reader,
  +      compiledScript = context.compileReader(thrScope, reader,
                                            "(combined)", 1, null);
       }
       catch (Exception ex) {
  @@ -362,9 +365,7 @@
   
       try {
         thrScope = enterContext(environment);
  -      Context cx = Context.getCurrentContext();
  -
  -      compiledScript.exec(cx, thrScope);
  +      Context context = Context.getCurrentContext();
   
         JSCocoon cocoon = (JSCocoon)thrScope.get("cocoon", thrScope);
   
  @@ -387,14 +388,14 @@
         if (size != 0) {
           for (int i = 0; i < size; i++) {
             Interpreter.Argument arg = (Interpreter.Argument)params.get(i);
  -          funArgs[i] = ScriptRuntime.toObject(cx, thrScope, arg.value);
  +          funArgs[i] = ScriptRuntime.toObject(context, thrScope, arg.value);
             parameters.put(arg.name, parameters, arg.value);
           }
         }
   
         cocoon.setParameters(parameters);
         Object callFunArgs[] = { fun, funArgsArray };
  -      ((Function) callFunction).call(cx, thrScope, thrScope, callFunArgs);
  +      ((Function) callFunction).call(context, thrScope, thrScope, callFunArgs);
       }
       catch (Exception ex) {
         ex.printStackTrace();
  @@ -448,6 +449,10 @@
   
       try {
         ((Function)handleContFunction).call(context, kScope, kScope, args);
  +    }
  +    catch (Exception ex) {
  +      ex.printStackTrace();
  +      throw ex;
       }
       finally {
         context.exit();
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org


Mime
View raw message