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 2019/03/06 11:53:27 UTC

[tinkerpop] 01/02: TINKERPOP-2172 Fix PartitionStrategy to apply AddEdgeStartStep

This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2172
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 522ba25bdde4aa5b7c830915d5b3f4e316cc4631
Author: Vladimir Bogomolov <vl...@gmail.com>
AuthorDate: Mon Mar 4 20:16:42 2019 +0300

    TINKERPOP-2172 Fix PartitionStrategy to apply AddEdgeStartStep
---
 .../traversal/strategy/decoration/PartitionStrategy.java |  4 +++-
 .../decoration/PartitionStrategyProcessTest.java         | 16 +++++++++++-----
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategy.java
index 438d8b2..122debb 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategy.java
@@ -30,6 +30,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.process.traversal.step.Mutating;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.HasStep;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.AddEdgeStartStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.AddEdgeStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.AddVertexStartStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.AddVertexStep;
@@ -195,7 +196,8 @@ public final class PartitionStrategy extends AbstractTraversalStrategy<Traversal
 
         final List<Step> stepsToInsertPropertyMutations = traversal.getSteps().stream().filter(step ->
                 step instanceof AddEdgeStep || step instanceof AddVertexStep ||
-                        step instanceof AddVertexStartStep || (includeMetaProperties && step instanceof AddPropertyStep)
+                step instanceof AddEdgeStartStep || step instanceof AddVertexStartStep ||
+                (includeMetaProperties && step instanceof AddPropertyStep)
         ).collect(Collectors.toList());
 
         stepsToInsertPropertyMutations.forEach(step -> {
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategyProcessTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategyProcessTest.java
index 917e2b1..e07dcbe 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategyProcessTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategyProcessTest.java
@@ -297,7 +297,8 @@ public class PartitionStrategyProcessTest extends AbstractGremlinProcessTest {
         final GraphTraversalSource source = g.withStrategies(partitionStrategy);
         final Vertex v1 = source.addV().property("any", "thing").next();
         final Vertex v2 = source.addV().property("some", "thing").next();
-        final Edge e = source.withSideEffect("v2", v2).V(v1.id()).addE("connectsTo").from("v2").property("every", "thing").next();
+        final Edge e1 = source.withSideEffect("v2", v2).V(v1.id()).addE("connectsTo").from("v2").property("every", "thing").next();
+        final Edge e2 = source.addE("relatesTo").from(v2).to(v1).property("every", "thing").next();
 
         assertNotNull(v1);
         assertEquals("thing", g.V(v1).values("any").next());
@@ -307,10 +308,15 @@ public class PartitionStrategyProcessTest extends AbstractGremlinProcessTest {
         assertEquals("thing", g.V(v2).values("some").next());
         assertEquals("A", g.V(v2).values(partition).next());
 
-        assertNotNull(e);
-        assertEquals("thing", g.E(e).values("every").next());
-        assertEquals("connectsTo", e.label());
-        assertEquals("A", g.E(e).values(partition).next());
+        assertNotNull(e1);
+        assertEquals("thing", g.E(e1).values("every").next());
+        assertEquals("connectsTo", e1.label());
+        assertEquals("A", g.E(e1).values(partition).next());
+
+        assertNotNull(e2);
+        assertEquals("thing", g.E(e2).values("every").next());
+        assertEquals("relatesTo", e2.label());
+        assertEquals("A", g.E(e2).values(partition).next());
     }
 
     @Test