This is an automated email from the ASF dual-hosted git repository. okram pushed a commit to branch tp4 in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/tp4 by this push: new 635eeca identity() is now a map(traverser::object). Now Map, Filter, FlatMap, Reduce, and Branch are self-consistent. 635eeca is described below commit 635eecaf3be3cb37a550ef284ff54c65ab27dae9 Author: Marko A. Rodriguez <okramma...@gmail.com> AuthorDate: Sat Mar 23 09:06:42 2019 -0600 identity() is now a map(traverser::object). Now Map, Filter, FlatMap, Reduce, and Branch are self-consistent. --- .../main/java/org/apache/tinkerpop/language/gremlin/Traversal.java | 2 +- .../java/org/apache/tinkerpop/machine/bytecode/CoreCompiler.java | 4 +--- .../org/apache/tinkerpop/machine/function/filter/FilterFilter.java | 4 +--- .../tinkerpop/machine/strategy/optimization/IdentityStrategy.java | 5 +++-- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/java/language/gremlin/src/main/java/org/apache/tinkerpop/language/gremlin/Traversal.java b/java/language/gremlin/src/main/java/org/apache/tinkerpop/language/gremlin/Traversal.java index 8525d92..c7214bd 100644 --- a/java/language/gremlin/src/main/java/org/apache/tinkerpop/language/gremlin/Traversal.java +++ b/java/language/gremlin/src/main/java/org/apache/tinkerpop/language/gremlin/Traversal.java @@ -191,7 +191,7 @@ public class Traversal<C, S, E> implements Iterator<E> { } public Traversal<C, S, E> identity() { - this.bytecode.addInstruction(this.currentCoefficient, Symbols.FILTER, Boolean.TRUE); + this.bytecode.addInstruction(this.currentCoefficient, Symbols.MAP, "traverser::object"); return this; } diff --git a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/bytecode/CoreCompiler.java b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/bytecode/CoreCompiler.java index c692651..359e6e7 100644 --- a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/bytecode/CoreCompiler.java +++ b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/bytecode/CoreCompiler.java @@ -80,9 +80,7 @@ public final class CoreCompiler implements BytecodeCompiler { case Symbols.BRANCH: return new BranchBranch<>(coefficient, labels, BranchBranch.makeBranches(instruction.args())); case Symbols.FILTER: - return instruction.args().length == 1 ? - new FilterFilter<>(coefficient, labels, null, Argument.create(instruction.args())) : - new FilterFilter<>(coefficient, labels, Pred.valueOf(instruction.args()[0]), Argument.create(Arrays.copyOfRange(instruction.args(), 1, instruction.args().length))); + return new FilterFilter<>(coefficient, labels, Pred.valueOf(instruction.args()[0]), Argument.create(Arrays.copyOfRange(instruction.args(), 1, instruction.args().length))); case Symbols.FLATMAP: return new FlatmapFlatmap<>(coefficient, labels, Argument.create(instruction.args())); case Symbols.GROUP_COUNT: diff --git a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/function/filter/FilterFilter.java b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/function/filter/FilterFilter.java index d93a420..df39450 100644 --- a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/function/filter/FilterFilter.java +++ b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/function/filter/FilterFilter.java @@ -45,9 +45,7 @@ public final class FilterFilter<C, S> extends AbstractFunction<C> implements Fil @Override public boolean test(final Traverser<C, S> traverser) { - return null == this.pred ? - this.argument.filterArg(traverser) : - this.pred.test(traverser.object(), this.argument.mapArg(traverser)); + return this.pred.test(traverser.object(), this.argument.mapArg(traverser)); } @Override diff --git a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/strategy/optimization/IdentityStrategy.java b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/strategy/optimization/IdentityStrategy.java index 6c1bd99..db223b9 100644 --- a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/strategy/optimization/IdentityStrategy.java +++ b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/strategy/optimization/IdentityStrategy.java @@ -31,8 +31,9 @@ public final class IdentityStrategy extends AbstractStrategy<Strategy.Optimizati @Override public <C> void apply(final Bytecode<C> bytecode) { bytecode.getInstructions().removeIf(instruction -> - instruction.op().equals(CoreCompiler.Symbols.FILTER) && - Boolean.TRUE.equals(instruction.args()[0]) && + instruction.op().equals(CoreCompiler.Symbols.MAP) && + instruction.args().length == 1 && + "traverser::object".equals(instruction.args()[0]) && instruction.labels().isEmpty() && instruction.coefficient().isUnity()); }