You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/05/15 20:24:56 UTC

incubator-tinkerpop git commit: TraversalBiPredicate clone is smart about negation.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master b039963a8 -> 36d93c920


TraversalBiPredicate clone is smart about negation.


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

Branch: refs/heads/master
Commit: 36d93c920d78170574e426b9fe7edeb6143b273e
Parents: b039963
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Fri May 15 12:24:53 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Fri May 15 12:24:53 2015 -0600

----------------------------------------------------------------------
 .../process/traversal/lambda/TraversalBiPredicate.java  |  4 ++++
 .../process/traversal/step/filter/WhereStep.java        |  4 +++-
 .../process/traversal/step/filter/WhereTest.java        | 12 ++++++++----
 3 files changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/36d93c92/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TraversalBiPredicate.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TraversalBiPredicate.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TraversalBiPredicate.java
index 4fba800..ec4cca5 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TraversalBiPredicate.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TraversalBiPredicate.java
@@ -61,6 +61,10 @@ public class TraversalBiPredicate<S, E> implements BiPredicate<S, E> {
         return new TraversalBiPredicate<>(this.traversal.clone(), !this.negate);
     }
 
+    public boolean isNegated() {
+        return this.negate;
+    }
+
     @Override
     public TraversalBiPredicate<S, E> clone() {
         try {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/36d93c92/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereStep.java
index 532050a..3b545f3 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereStep.java
@@ -103,7 +103,9 @@ public final class WhereStep<S> extends FilterStep<S> implements TraversalParent
     public WhereStep<S> clone() {
         final WhereStep<S> clone = (WhereStep<S>) super.clone();
         if (this.predicate.getBiPredicate() instanceof TraversalBiPredicate)
-            clone.predicate = P.traversal(((TraversalBiPredicate) this.predicate.getBiPredicate()).getTraversal().clone());
+            clone.predicate = ((TraversalBiPredicate) this.predicate.getBiPredicate()).isNegated() ?
+                    P.not(((TraversalBiPredicate) this.predicate.getBiPredicate()).getTraversal().clone()) :
+                    P.traversal(((TraversalBiPredicate) this.predicate.getBiPredicate()).getTraversal().clone());
         return clone;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/36d93c92/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
index 7e4cd9d..d3c612c 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
@@ -30,7 +30,11 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.as;
@@ -228,7 +232,7 @@ public abstract class WhereTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    public void get_g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path() {
+    public void g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path() {
         final Traversal<Vertex, Path> traversal = get_g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path(convertToVertexId("marko"));
         printTraversalForm(traversal);
         final List<Path> paths = traversal.toList();
@@ -239,9 +243,9 @@ public abstract class WhereTest extends AbstractGremlinProcessTest {
         assertFalse(traversal.hasNext());
     }
 
-        @Test
+    @Test
     @LoadGraphWith(MODERN)
-    public void g_V_hasNotXoutXcreatedXX() {
+    public void g_V_whereXnotXoutXcreatedXXX_name() {
         final Traversal<Vertex, String> traversal = get_g_V_whereXnotXoutXcreatedXXX_name();
         checkResults(Arrays.asList("vadas", "lop", "ripple"), traversal);
     }