Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-1545 [created] 54dbeaaca
Made SimplePathStep implement PathProcessor and IncidentToAdjacentStrategy skip all traversals that contain path processing steps Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/54dbeaac Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/54dbeaac Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/54dbeaac Branch: refs/heads/TINKERPOP-1545 Commit: 54dbeaacaf6ccfaab8db9de8ce736243fe32b78e Parents: 1e554ca Author: Daniel Kuppitz <daniel_kupp...@hotmail.com> Authored: Fri Nov 11 00:00:03 2016 +0100 Committer: Daniel Kuppitz <daniel_kupp...@hotmail.com> Committed: Fri Nov 11 00:00:03 2016 +0100 ---------------------------------------------------------------------- .../gremlin/process/traversal/step/filter/SimplePathStep.java | 3 ++- .../strategy/optimization/IncidentToAdjacentStrategy.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/54dbeaac/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SimplePathStep.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SimplePathStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SimplePathStep.java index 5789803..82af0b5 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SimplePathStep.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SimplePathStep.java @@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.filter; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.Traverser; +import org.apache.tinkerpop.gremlin.process.traversal.step.PathProcessor; import org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequirement; import java.util.Collections; @@ -29,7 +30,7 @@ import java.util.Set; /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ -public final class SimplePathStep<S> extends FilterStep<S> { +public final class SimplePathStep<S> extends FilterStep<S> implements PathProcessor { public SimplePathStep(final Traversal.Admin traversal) { super(traversal); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/54dbeaac/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java index 712110d4..e0a7ff4 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java @@ -22,9 +22,9 @@ import org.apache.tinkerpop.gremlin.process.traversal.Step; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy; import org.apache.tinkerpop.gremlin.process.traversal.step.LambdaHolder; +import org.apache.tinkerpop.gremlin.process.traversal.step.PathProcessor; import org.apache.tinkerpop.gremlin.process.traversal.step.map.EdgeOtherVertexStep; import org.apache.tinkerpop.gremlin.process.traversal.step.map.EdgeVertexStep; -import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathStep; import org.apache.tinkerpop.gremlin.process.traversal.step.map.VertexStep; import org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy; import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper; @@ -45,7 +45,7 @@ import java.util.Set; * The strategy won't modify the traversal if: * <ul> * <li>the edge step is labeled</li> - * <li>the traversal contains a {@code path} step</li> + * <li>the traversal contains a {@code path} processing step</li> * <li>the traversal contains a lambda step</li> * </ul> * <p/> @@ -63,7 +63,7 @@ public final class IncidentToAdjacentStrategy extends AbstractTraversalStrategy< implements TraversalStrategy.OptimizationStrategy { private static final IncidentToAdjacentStrategy INSTANCE = new IncidentToAdjacentStrategy(); - private static final Set<Class> INVALIDATING_STEP_CLASSES = new HashSet<>(Arrays.asList(PathStep.class, LambdaHolder.class)); + private static final Set<Class> INVALIDATING_STEP_CLASSES = new HashSet<>(Arrays.asList(PathProcessor.class, LambdaHolder.class)); private IncidentToAdjacentStrategy() { }