@Override public void mergeInto(final TraversalSideEffects sideEffects) { this.sideEffects.mergeInto(sideEffects); }
@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); } } }
@SuppressWarnings({ "unchecked", "resource" }) Admin<S, E> traversal = (Admin<S, E>) result; traversal.getSideEffects().mergeInto(this.sideEffects); traversal.getSteps().forEach(this::addStep); this.strategies = traversal.getStrategies();
public default <S, E> Traversal.Admin<S, E> integrateChild(final Traversal.Admin<?, ?> childTraversal) { if (null == childTraversal) return null; childTraversal.setParent(this); childTraversal.getSideEffects().mergeInto(this.asStep().getTraversal().getSideEffects()); childTraversal.setSideEffects(this.asStep().getTraversal().getSideEffects()); return (Traversal.Admin<S, E>) childTraversal; }
@Override public void mergeInto(final TraversalSideEffects sideEffects) { this.sideEffects.mergeInto(sideEffects); }
@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); } } }
@SuppressWarnings({ "unchecked", "resource" }) Admin<S, E> traversal = (Admin<S, E>) result; traversal.getSideEffects().mergeInto(this.sideEffects); traversal.getSteps().forEach(this::addStep); this.strategies = traversal.getStrategies();
public default <S, E> Traversal.Admin<S, E> integrateChild(final Traversal.Admin<?, ?> childTraversal) { if (null == childTraversal) return null; childTraversal.setParent(this); childTraversal.getSideEffects().mergeInto(this.asStep().getTraversal().getSideEffects()); childTraversal.setSideEffects(this.asStep().getTraversal().getSideEffects()); return (Traversal.Admin<S, E>) childTraversal; }