public ScriptEngineLambda(final String engineName, final String script) { this.engine = SingleGremlinScriptEngineManager.get(engineName); this.script = script; }
@Test public void shouldBeSameInstanceInSingleManager() { final Set<GremlinScriptEngine> scriptEngines = new HashSet<>(); IntStream.range(0,100).forEach(i -> scriptEngines.add(SingleGremlinScriptEngineManager.get(ENGINE_TO_TEST))); assertEquals(1, scriptEngines.size()); } }
@Override public void applyStrategies() throws IllegalStateException { try { assert 0 == this.getSteps().size(); final ScriptEngine engine = SingleGremlinScriptEngineManager.get(this.scriptEngine); final Bindings engineBindings = engine.createBindings(); final List<TraversalStrategy<?>> strategyList = this.getStrategies().toList(); engineBindings.put(this.alias, this.factory.createTraversalSource(this.graph).withStrategies(strategyList.toArray(new TraversalStrategy[strategyList.size()]))); engineBindings.put("graph", this.graph); // TODO: we don't need this as the traversalSource.getGraph() exists, but its now here and people might be using it (remove in 3.3.0) for (int i = 0; i < this.bindings.length; i = i + 2) { engineBindings.put((String) this.bindings[i], this.bindings[i + 1]); } final Traversal.Admin<S, E> traversal = (Traversal.Admin<S, E>) engine.eval(this.script, engineBindings); traversal.getSideEffects().mergeInto(this.sideEffects); traversal.getSteps().forEach(this::addStep); this.strategies = traversal.getStrategies(); super.applyStrategies(); } catch (final ScriptException e) { throw new IllegalStateException(e.getMessage(), e); } } }
assert 0 == this.getSteps().size(); ScriptEngine engine = SingleGremlinScriptEngineManager.get(this.language);
try { final GremlinScriptEngine scriptEngine = SingleGremlinScriptEngineManager.get(this.translator.getTargetLanguage()); final Bindings bindings = scriptEngine.createBindings(); bindings.putAll(scriptEngine.getContext().getBindings(ScriptContext.ENGINE_SCOPE));
public ScriptEngineLambda(final String engineName, final String script) { this.engine = SingleGremlinScriptEngineManager.get(engineName); this.script = script; }
@Test public void shouldBeSameInstanceInSingleManager() { final Set<GremlinScriptEngine> scriptEngines = new HashSet<>(); IntStream.range(0,100).forEach(i -> scriptEngines.add(SingleGremlinScriptEngineManager.get(ENGINE_TO_TEST))); assertEquals(1, scriptEngines.size()); } }
@Override public void applyStrategies() throws IllegalStateException { try { assert 0 == this.getSteps().size(); final ScriptEngine engine = SingleGremlinScriptEngineManager.get(this.scriptEngine); final Bindings engineBindings = engine.createBindings(); final List<TraversalStrategy<?>> strategyList = this.getStrategies().toList(); engineBindings.put(this.alias, this.factory.createTraversalSource(this.graph).withStrategies(strategyList.toArray(new TraversalStrategy[strategyList.size()]))); engineBindings.put("graph", this.graph); // TODO: we don't need this as the traversalSource.getGraph() exists, but its now here and people might be using it (remove in 3.3.0) for (int i = 0; i < this.bindings.length; i = i + 2) { engineBindings.put((String) this.bindings[i], this.bindings[i + 1]); } final Traversal.Admin<S, E> traversal = (Traversal.Admin<S, E>) engine.eval(this.script, engineBindings); traversal.getSideEffects().mergeInto(this.sideEffects); traversal.getSteps().forEach(this::addStep); this.strategies = traversal.getStrategies(); super.applyStrategies(); } catch (final ScriptException e) { throw new IllegalStateException(e.getMessage(), e); } } }
assert 0 == this.getSteps().size(); ScriptEngine engine = SingleGremlinScriptEngineManager.get(this.language);
try { final GremlinScriptEngine scriptEngine = SingleGremlinScriptEngineManager.get(this.translator.getTargetLanguage()); final Bindings bindings = scriptEngine.createBindings(); bindings.putAll(scriptEngine.getContext().getBindings(ScriptContext.ENGINE_SCOPE));