Refine search
jsscope = jscx.initStandardObjects( null, false ); try { jscx.setOptimizationLevel( Integer.valueOf( transMeta.environmentSubstitute( optimizationLevel ) ) ); } catch ( NumberFormatException nfe ) { error_message = Scriptable jsR = Context.toObject( jsScripts[i].getScript(), jsscope ); jsscope.put( jsScripts[i].getScriptName(), jsscope, jsR ); jsscript.exec( jscx, jsscope );
String optimizationLevelAsString = environmentSubstitute( meta.getOptimizationLevel() ); if ( !Utils.isEmpty( Const.trim( optimizationLevelAsString ) ) ) { data.cx.setOptimizationLevel( Integer.parseInt( optimizationLevelAsString.trim() ) ); logBasic( BaseMessages.getString( PKG, "ScriptValuesMod.Optimization.Level", environmentSubstitute( meta .getOptimizationLevel() ) ) ); } else { data.cx.setOptimizationLevel( Integer.parseInt( ScriptValuesMetaMod.OPTIMIZATION_LEVEL_DEFAULT ) ); logBasic( BaseMessages.getString( PKG, "ScriptValuesMod.Optimization.UsingDefault", ScriptValuesMetaMod.OPTIMIZATION_LEVEL_DEFAULT ) ); data.scope = data.cx.initStandardObjects( null, false ); Script startScript = data.cx.compileString( strStartScript, "trans_Start", 1, null ); startScript.exec( data.cx, data.scope ); if ( log.isDetailed() ) { logDetailed( ( "Start Script found!" ) ); data.script.exec( data.cx, data.scope );
@POST @Path("/{scriptName}") public String scriptPOST(@PathParam("scriptName") String scriptName, String code) throws LeanException { //todo resolve Script name Context ctx = Context.enter(); try { ScriptableObject scope = ctx.initStandardObjects(); Script script = ctx.compileString(code, "<code>", 1, null); Object result = script.exec(ctx, scope); if (result == null || !result.getClass().equals(NativeObject.class)) { throw new LeanException(LeanException.Error.ScriptOutputError, scriptName); } return toJSON((NativeObject) result).toString(); } catch (RhinoException ex) { throw new LeanException(LeanException.Error.ScriptExecutionError, scriptName, ex); } finally { Context.exit(); } }
public static String compile(String coffeeScript) throws ScriptException { Context ctx = Context.enter(); try { Scriptable scope = ctx.initStandardObjects(); Script script = (Script) new CoffeeScript(); script.exec(ctx, scope); NativeObject obj = (NativeObject) scope.get("CoffeeScript", scope); Function fun = (Function) obj.get("compile", scope); Object opts = ctx.evaluateString(scope, "({bare: true})", null, 1, null); String javaScript = (String) fun.call(ctx, scope, obj, new Object[] {coffeeScript, opts}); return javaScript; } catch (JavaScriptException e) { // Extract line and column of the error location in the CoffeeScript. // The below code is guessed from: // - Experimenting http://coffeescript.org/ with Chrome JavaScript Console // - https://code.google.com/p/wiquery/source/browse/trunk/src/main/java/org/mozilla/javascript/NativeError.java?spec=svn1010&r=1010 Scriptable syntaxError = (Scriptable) e.getValue(); Scriptable location = (Scriptable) ScriptableObject.getProperty(syntaxError, "location"); Double firstLine = (Double) ScriptableObject.getProperty(location, "first_line"); Double firstColumn = (Double) ScriptableObject.getProperty(location, "first_column"); throw new ScriptException("CoffeeScript syntax error", "", firstLine.intValue(), firstColumn.intValue()); } finally { Context.exit(); } } }
public Object evaluate(ObjectModel objectModel) throws ExpressionException { Context ctx = Context.enter(); try { Scriptable scope = ctx.newObject(getScope(rootScope)); // Populate the scope Iterator iter = objectModel.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); String key = (String) entry.getKey(); Object value = entry.getValue(); scope.put(key, scope, Context.toObject(value, scope)); } Object result = this.script.exec(ctx, scope); return unwrap(result); } finally { Context.exit(); } }
public Object execute(Object[] args) { Context cx = RhinoUtil.enter(); Object ret = null; try { compileFromSource(cx, getSource()); Object jsRet = _rhinoScript.exec(cx, RhinoUtil.getScope()); ret = RhinoUtil.convertResult(cx, getExpectedClass(), jsRet); } catch (WrappedException e) { RhinoUtil.removeWrappedException(e); } finally { Context.exit(); } return ret; }
public static synchronized void init() throws IOException { if (jsScope != null) return; try { Context jsContext = ContextFactory.getGlobal().enterContext(); jsContext.setClassShutter(new SecurityClassShutter()); jsScope = jsContext.initStandardObjects(null, true); Object o = Context.javaToJS(new TokenApi(), jsScope); ScriptableObject.putProperty(jsScope, "rptools_global_tokens", o); for (String script : JAVASCRIPT_FILES) { Reader reader = new InputStreamReader(ScriptManager.class.getClassLoader().getResourceAsStream(script)); Script compiled = jsContext.compileReader(reader, script, 1, null); compiled.exec(jsContext, jsScope); } // jsScope.sealObject(); } finally { Context.exit(); } }
@Override public Object[] transform(final InputRow inputRow) { final Context context = _contextFactory.enterContext(); try { // this scope is local to the execution of a single row final Scriptable scope = context.newObject(_sharedScope); scope.setPrototype(_sharedScope); scope.setParentScope(null); JavaScriptUtils.addToScope(scope, inputRow, columns, "values"); Object result = _script.exec(context, scope); // String stringResult = Context.toString(result); if (result == null) { result = null; } else if (returnType == ReturnType.NUMBER) { result = Context.toNumber(result); } else if (returnType == ReturnType.BOOLEAN) { result = Context.toBoolean(result); } else { result = Context.toString(result); } return new Object[] { result }; } finally { Context.exit(); } }
Script endScript = data.cx.compileString( strEndScript, "trans_End", 1, null ); endScript.exec( data.cx, data.scope ); if ( log.isDetailed() ) { logDetailed( ( "End Script found!" ) ); Context.exit();
public Object call() throws ExpressionParseException { Object result = null; try { final Script script = ((RhinoExpression) theExpression).getCompiledExpression(); final Context rhinoContext = Context.enter(); final Scriptable scope = new RhinoScriptObject(theContext); scope.setPrototype(parentScope); scope.setParentScope(null); result = script.exec(rhinoContext, scope); } catch (ExpressionParseException e) { throw new ExpressionParseException(MessageFormat.format("" + e.getMessage() + "\n Failed to parse script:{0}", theExpression.getStringExpression()), e); } finally { Context.exit(); } return result; } };
@Override public Category categorize(final InputRow inputRow) { final Context context = _contextFactory.enterContext(); try { // this scope is local to the execution of a single row final Scriptable scope = context.newObject(_sharedScope); scope.setPrototype(_sharedScope); scope.setParentScope(null); JavaScriptUtils.addToScope(scope, inputRow, columns, "values"); final Object result = _script.exec(context, scope); final boolean booleanResult = Context.toBoolean(result); if (booleanResult) { return JavaScriptFilter.Category.VALID; } return JavaScriptFilter.Category.INVALID; } finally { Context.exit(); } }
Script script = cx.compileString(scriptText, "<command>", 1, null); if (script != null) { script.exec(cx, getShellScope()); // <- just an eval }
private Object[] compileScript(Context cx, String scriptStr, Scriptable scriptScope, File f) { int opt = cx.getOptimizationLevel(); cx.setOptimizationLevel(-1); Script script = cx.compileString(scriptStr, f.getName(), 1, null); script.exec(cx, scriptScope); Object[] ids = scriptScope.getIds(); cx.setOptimizationLevel(opt); script = cx.compileString(scriptStr, f.getName(), 1, null); script.exec(cx, scriptScope); return ids; }
/** * Evaluate a JavaScript source string. * * The provided source name and line number are used for error messages * and for producing debug information. * * @param scope the scope to execute in * @param source the JavaScript source * @param sourceName a string describing the source, such as a filename * @param lineno the starting line number * @param securityDomain an arbitrary object that specifies security * information about the origin or owner of the script. For * implementations that don't care about security, this value * may be null. * @return the result of evaluating the string * @see org.mozilla.javascript.SecurityController */ public final Object evaluateString(Scriptable scope, String source, String sourceName, int lineno, Object securityDomain) { Script script = compileString(source, sourceName, lineno, securityDomain); if (script != null) { return script.exec(this, scope); } else { return null; } }
public Object run(Context cx) { ScriptableObject global = getGlobal(cx); // get the command line arguments and define "arguments" // array in the top-level object Object[] argsCopy = new Object[args.length]; System.arraycopy(args, 0, argsCopy, 0, args.length); Scriptable argsObj = cx.newArray(global, argsCopy); global.defineProperty("arguments", argsObj, ScriptableObject.DONTENUM); script.exec(cx, global); return null; } });
private Scriptable executeModuleScript(Context cx, String id, Scriptable exports, ModuleScript moduleScript, boolean isMain) { final ScriptableObject moduleObject = (ScriptableObject)cx.newObject( nativeScope); URI uri = moduleScript.getUri(); URI base = moduleScript.getBase(); defineReadOnlyProperty(moduleObject, "id", id); if(!sandboxed) { defineReadOnlyProperty(moduleObject, "uri", uri.toString()); } final Scriptable executionScope = new ModuleScope(nativeScope, uri, base); // Set this so it can access the global JS environment objects. // This means we're currently using the "MGN" approach (ModuleScript // with Global Natives) as specified here: // <http://wiki.commonjs.org/wiki/Modules/ProposalForNativeExtension> executionScope.put("exports", executionScope, exports); executionScope.put("module", executionScope, moduleObject); moduleObject.put("exports", moduleObject, exports); install(executionScope); if(isMain) { defineReadOnlyProperty(this, "main", moduleObject); } executeOptionalScript(preExec, cx, executionScope); moduleScript.getScript().exec(cx, executionScope); executeOptionalScript(postExec, cx, executionScope); return ScriptRuntime.toObject(cx, nativeScope, ScriptableObject.getProperty(moduleObject, "exports")); }
throws IOException Script script = compileReader(scope, in, sourceName, lineno, securityDomain); if (script != null) { return script.exec(this, scope); } else { return null;
@Override protected boolean isValid(Row row) throws Exception { Map<String, Object> values = new ScriptAccessColumnMap(_columns, row, _evaluatedColumns); Scriptable scope = _context.newObject(_standardObjectsScope); scope.setPrototype(_standardObjectsScope); scope.setParentScope(null); Object wrappedValues = Context.javaToJS(values, scope); ScriptableObject.putProperty(scope, "values", wrappedValues); Object result = _script.exec(_context, scope); if (result instanceof Boolean) { return (Boolean) result; } throw new IllegalStateException( "Javascript expression did not return a boolean"); }
static void evalInlineScript(Context cx, String scriptText) { try { Script script = cx.compileString(scriptText, "<command>", 1, null); if (script != null) { script.exec(cx, getShellScope()); } } catch (RhinoException rex) { ToolErrorReporter.reportException( cx.getErrorReporter(), rex); exitCode = EXITCODE_RUNTIME_ERROR; } catch (VirtualMachineError ex) { // Treat StackOverflow and OutOfMemory as runtime errors ex.printStackTrace(); String msg = ToolErrorReporter.getMessage( "msg.uncaughtJSException", ex.toString()); Context.reportError(msg); exitCode = EXITCODE_RUNTIME_ERROR; } }
public Object execute(CompilableSource source) { try { logger.debug("Compiling source {}", source.getSource()); Script script = compile(source); if (script != null) { logger.debug("Executing compiled script"); Object result = script.exec(Context.getCurrentContext(), shellScope.get()); logger.debug("Returned object [{}]", result); if(result instanceof Undefined) { return null; } return result; } } catch(RhinoException rex) { logger.error(rex.getMessage(), rex); Context.reportError(rex.details(), null, rex.lineNumber(), rex.lineSource(), rex.columnNumber()); } catch(VirtualMachineError ex) { logger.error(ex.getMessage(), ex); String msg = ToolErrorReporter.getMessage("msg.uncaughtJSException", ex.toString()); Context.reportError(msg); } catch(Throwable t) { logger.error(t.getMessage(), t); String msg = ToolErrorReporter.getMessage("msg.uncaughtJSException", t.toString()); Context.reportError(msg); } return null; }