You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2015/07/15 12:26:09 UTC

[2/3] incubator-tinkerpop git commit: minor fix in IdentityRemovalStrategy

minor fix in IdentityRemovalStrategy

Don't remove IdentityStep if it's the only step in the traversal.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/6db0ff1a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/6db0ff1a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/6db0ff1a

Branch: refs/heads/master
Commit: 6db0ff1ab5142b2a9be9f98a1eb18601a0982c90
Parents: 3f5405a
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Jul 15 03:10:26 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed Jul 15 03:10:26 2015 +0200

----------------------------------------------------------------------
 .../traversal/strategy/optimization/IdentityRemovalStrategy.java   | 2 +-
 .../strategy/optimization/IdentityRemovalStrategyTest.java         | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/6db0ff1a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategy.java
index 47f60e3..8c106f9 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategy.java
@@ -48,7 +48,7 @@ public final class IdentityRemovalStrategy extends AbstractTraversalStrategy<Tra
 
     @Override
     public void apply(final Traversal.Admin<?, ?> traversal) {
-        if (!TraversalHelper.hasStepOfClass(IdentityStep.class, traversal))
+        if (traversal.getSteps().size() <= 1 || !TraversalHelper.hasStepOfClass(IdentityStep.class, traversal))
             return;
 
         TraversalHelper.getStepsOfClass(IdentityStep.class, traversal).stream().forEach(identityStep -> {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/6db0ff1a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategyTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategyTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategyTest.java
index 52232a6..22ee676 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategyTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IdentityRemovalStrategyTest.java
@@ -118,6 +118,7 @@ public class IdentityRemovalStrategyTest {
         static Iterable<Object[]> generateTestParameters() {
 
             return Arrays.asList(new Traversal[][]{
+                    {__.identity(), __.identity()},
                     {__.identity().out(), __.out()},
                     {__.identity().out().identity(), __.out()},
                     {__.identity().as("a").out().identity(), __.identity().as("a").out()},