SimpleScriptContext context = new SimpleScriptContext(); PrintWriter out = response.getWriter(); context.setWriter(out); Bindings bindings = ScriptHelper. init(getServletContext(), filename, context);
private SimpleScriptContext createScriptContext(final NodeModel node, ScriptContext scriptContext, OutputStream outStream) { final SimpleScriptContext context = new SimpleScriptContext(); final OutputStreamWriter outWriter = new OutputStreamWriter(outStream); context.setWriter(outWriter); context.setErrorWriter(outWriter); context.setBindings(createBinding(node, scriptContext), javax.script.ScriptContext.ENGINE_SCOPE); return context; }
JsRunThread(final String myAddress, final ScriptEngine scriptEngine, final LibraryServiceInterface libraryService, final Path scriptFilePath, final Map<String, ?> initialVariables) { super(myAddress, getScriptFilePath(scriptFilePath), initialVariables); this.scriptEngine = scriptEngine; scriptContext = new SimpleScriptContext(); scriptContext.setBindings(new GlobalBindings(), ScriptContext.GLOBAL_SCOPE); if (initialVariables != null) initialVariables.forEach( (key, value) -> scriptContext.setAttribute(key, value, ScriptContext.ENGINE_SCOPE)); if (libraryService != null) scriptContext.setAttribute("library", libraryService, ScriptContext.ENGINE_SCOPE); scriptContext.setAttribute("closeable", closeables, ScriptContext.ENGINE_SCOPE); this.scriptFilePath = scriptFilePath; scriptContext.setWriter(outputWriter); scriptContext.setErrorWriter(errorWriter); scriptEngine.setContext(scriptContext); }
public Object eval(Bindings bindings) throws ScriptException { ScriptEngine engine = getEngine(); SimpleScriptContext context = new SimpleScriptContext(); context.setBindings(bindings, ScriptContext.ENGINE_SCOPE); context.setBindings(engine.getBindings(ScriptContext.GLOBAL_SCOPE), ScriptContext.GLOBAL_SCOPE); context.setReader(engine.getContext().getReader()); context.setWriter(engine.getContext().getWriter()); return eval(context); }