public ScriptBindings(List<Resolver> scriptResolvers, VariableScope variableScope) { this.scriptResolvers = scriptResolvers; this.variableScope = variableScope; this.defaultBindings = new SimpleScriptContext().getBindings(SimpleScriptContext.ENGINE_SCOPE); }
private static void test3() throws ScriptException { NashornScriptEngine engine = createEngine(); ScriptContext defaultContext = engine.getContext(); Bindings defaultBindings = defaultContext.getBindings(ScriptContext.ENGINE_SCOPE); SimpleScriptContext context = new SimpleScriptContext(); context.setBindings(defaultBindings, ScriptContext.ENGINE_SCOPE); engine.eval("function foo() { print('bar') };", context); engine.eval("foo();", context); Bindings bindings = context.getBindings(ScriptContext.ENGINE_SCOPE); System.out.println(bindings.get("foo")); System.out.println(context.getAttribute("foo")); }
private static void test8() throws ScriptException { NashornScriptEngine engine = createEngine(); engine.eval("var obj = { foo: 23 };"); ScriptContext defaultContext = engine.getContext(); Bindings defaultBindings = defaultContext.getBindings(ScriptContext.ENGINE_SCOPE); SimpleScriptContext context1 = new SimpleScriptContext(); context1.setBindings(defaultBindings, ScriptContext.ENGINE_SCOPE); SimpleScriptContext context2 = new SimpleScriptContext(); context2.getBindings(ScriptContext.ENGINE_SCOPE).put("obj", defaultBindings.get("obj")); engine.eval("obj.foo = 44;", context1); engine.eval("print(obj.foo);", context1); engine.eval("print(obj.foo);", context2); }
private static void test7() throws ScriptException { NashornScriptEngine engine = createEngine(); engine.eval("var foo = 23;"); ScriptContext defaultContext = engine.getContext(); Bindings defaultBindings = defaultContext.getBindings(ScriptContext.ENGINE_SCOPE); SimpleScriptContext context1 = new SimpleScriptContext(); context1.setBindings(defaultBindings, ScriptContext.ENGINE_SCOPE); SimpleScriptContext context2 = new SimpleScriptContext(); context2.getBindings(ScriptContext.ENGINE_SCOPE).put("foo", defaultBindings.get("foo")); engine.eval("foo = 44;", context1); engine.eval("print(foo);", context1); engine.eval("print(foo);", context2); }
public int getAttributesScope(String name) { if (name == null) throw new IllegalArgumentException("Name is null"); for (int scope : getScopes()) { if (getBindings(scope) != null && getBindings(scope).containsKey(name)) { return scope; } } return -1; }
public ScriptBindings(List<Resolver> scriptResolvers, VariableScope variableScope) { this.scriptResolvers = scriptResolvers; this.variableScope = variableScope; this.defaultBindings = new SimpleScriptContext().getBindings(SimpleScriptContext.ENGINE_SCOPE); }
public ScriptBindings(List<Resolver> scriptResolvers, VariableScope variableScope) { this.scriptResolvers = scriptResolvers; this.variableScope = variableScope; this.defaultBindings = new SimpleScriptContext().getBindings(SimpleScriptContext.ENGINE_SCOPE); }
public ScriptBindings(List<Resolver> scriptResolvers, VariableScope variableScope) { this.scriptResolvers = scriptResolvers; this.variableScope = variableScope; this.defaultBindings = new SimpleScriptContext().getBindings(SimpleScriptContext.ENGINE_SCOPE); }
public ScriptBindings(List<Resolver> scriptResolvers, VariableScope variableScope) { this.scriptResolvers = scriptResolvers; this.variableScope = variableScope; this.defaultBindings = new SimpleScriptContext().getBindings(SimpleScriptContext.ENGINE_SCOPE); }
@Override public void reset() { super.reset(); item = null; result = null; rowCount = 0; if (this.scriptContext != null) { this.scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).clear(); } }
@Override public void reset() { super.reset(); item = null; result = null; rowCount = 0; if (this.scriptContext != null) { this.scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).clear(); } }
@Override public void reset() { super.reset(); item = null; result = null; rowCount = 0; if (this.scriptContext != null) { this.scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).clear(); } }
private static void test3() throws ScriptException { NashornScriptEngine engine = createEngine(); ScriptContext defaultContext = engine.getContext(); Bindings defaultBindings = defaultContext.getBindings(ScriptContext.ENGINE_SCOPE); SimpleScriptContext context = new SimpleScriptContext(); context.setBindings(defaultBindings, ScriptContext.ENGINE_SCOPE); engine.eval("function foo() { print('bar') };", context); engine.eval("foo();", context); Bindings bindings = context.getBindings(ScriptContext.ENGINE_SCOPE); System.out.println(bindings.get("foo")); System.out.println(context.getAttribute("foo")); }
private void evaluate() throws TeiidComponentException, ExpressionEvaluationException, BlockedException, TeiidProcessingException { if (result != null) { return; } setReferenceValues(this.table); Evaluator eval = getEvaluator(Collections.emptyMap()); eval.evaluateParameters(this.table.getPassing(), null, scriptContext.getBindings(ScriptContext.ENGINE_SCOPE)); Object value = evalScript(this.table.getCompiledScript(), this.table.getRowScript()); if (value instanceof Iterable<?>) { result = ((Iterable<?>)value).iterator(); } else if (value instanceof Iterator<?>) { result = (Iterator<?>)value; } else if (value != null && value.getClass().isArray()){ result = new ReflectiveArrayIterator(value); } else if (value instanceof Array) { try { result = new ReflectiveArrayIterator(((Array)value).getArray()); } catch (SQLException e) { throw new TeiidProcessingException(e); } } else { result = Arrays.asList(value).iterator(); } }
private void evaluate() throws TeiidComponentException, ExpressionEvaluationException, BlockedException, TeiidProcessingException { if (result != null) { return; } setReferenceValues(this.table); Evaluator eval = getEvaluator(Collections.emptyMap()); eval.evaluateParameters(this.table.getPassing(), null, scriptContext.getBindings(ScriptContext.ENGINE_SCOPE)); Object value = evalScript(this.table.getCompiledScript(), this.table.getRowScript()); if (value instanceof Iterable<?>) { result = ((Iterable<?>)value).iterator(); } else if (value instanceof Iterator<?>) { result = (Iterator<?>)value; } else if (value != null && value.getClass().isArray()){ result = new ReflectiveArrayIterator(value); } else if (value instanceof Array) { try { result = new ReflectiveArrayIterator(((Array)value).getArray()); } catch (SQLException e) { throw new TeiidProcessingException(e); } } else { result = Arrays.asList(value).iterator(); } }
private void evaluate() throws TeiidComponentException, ExpressionEvaluationException, BlockedException, TeiidProcessingException { if (result != null) { return; } setReferenceValues(this.table); Evaluator eval = getEvaluator(Collections.emptyMap()); eval.evaluateParameters(this.table.getPassing(), null, scriptContext.getBindings(ScriptContext.ENGINE_SCOPE)); Object value = evalScript(this.table.getCompiledScript(), this.table.getRowScript()); if (value instanceof Iterable<?>) { result = ((Iterable<?>)value).iterator(); } else if (value instanceof Iterator<?>) { result = (Iterator<?>)value; } else if (value != null && value.getClass().isArray()){ result = new ReflectiveArrayIterator(value); } else if (value instanceof Array) { try { result = new ReflectiveArrayIterator(((Array)value).getArray()); } catch (SQLException e) { throw new TeiidProcessingException(e); } } else { result = Arrays.asList(value).iterator(); } }
private static void test7() throws ScriptException { NashornScriptEngine engine = createEngine(); engine.eval("var foo = 23;"); ScriptContext defaultContext = engine.getContext(); Bindings defaultBindings = defaultContext.getBindings(ScriptContext.ENGINE_SCOPE); SimpleScriptContext context1 = new SimpleScriptContext(); context1.setBindings(defaultBindings, ScriptContext.ENGINE_SCOPE); SimpleScriptContext context2 = new SimpleScriptContext(); context2.getBindings(ScriptContext.ENGINE_SCOPE).put("foo", defaultBindings.get("foo")); engine.eval("foo = 44;", context1); engine.eval("print(foo);", context1); engine.eval("print(foo);", context2); }
private static void test8() throws ScriptException { NashornScriptEngine engine = createEngine(); engine.eval("var obj = { foo: 23 };"); ScriptContext defaultContext = engine.getContext(); Bindings defaultBindings = defaultContext.getBindings(ScriptContext.ENGINE_SCOPE); SimpleScriptContext context1 = new SimpleScriptContext(); context1.setBindings(defaultBindings, ScriptContext.ENGINE_SCOPE); SimpleScriptContext context2 = new SimpleScriptContext(); context2.getBindings(ScriptContext.ENGINE_SCOPE).put("obj", defaultBindings.get("obj")); engine.eval("obj.foo = 44;", context1); engine.eval("print(obj.foo);", context1); engine.eval("print(obj.foo);", context2); }