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 2017/04/06 11:33:30 UTC
[03/50] tinkerpop git commit: added a @twilmes test case to
AddEdgeTest that fails in TINKERPOP-1642. That test also exposed a small bug
in all the Mutating steps where Step.setTraversal() was not defined which is
necessary to ensure proper ID redefiniti
added a @twilmes test case to AddEdgeTest that fails in TINKERPOP-1642. That test also exposed a small bug in all the Mutating steps where Step.setTraversal() was not defined which is necessary to ensure proper ID redefinitions at compile time. CTR.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/49fb2579
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/49fb2579
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/49fb2579
Branch: refs/heads/TINKERPOP-1443
Commit: 49fb2579714144cdf9f47a82c0754b7e37e0b35f
Parents: 1b6ad3c
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Mar 29 08:39:29 2017 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Mar 29 08:39:50 2017 -0600
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../process/traversal/step/map/AddEdgeStep.java | 10 +++++--
.../traversal/step/map/AddVertexStartStep.java | 6 ++++
.../traversal/step/map/AddVertexStep.java | 6 ++++
.../step/sideEffect/AddPropertyStep.java | 8 +++++-
.../traversal/step/map/GroovyAddEdgeTest.groovy | 15 ++++++----
.../process/traversal/step/map/AddEdgeTest.java | 30 ++++++++++++++++++++
7 files changed, 68 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/49fb2579/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 98237a1..7d4e74b 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Fixed a step id compilation bug in `AddVertexStartStep`, `AddVertexStep`, `AddEdgeStep`, and `AddPropertyStep`.
* De-registered metrics on Gremlin Server shutdown.
* Added "help" command option on `:remote config` for plugins that support that feature in the Gremlin Console.
* Allowed for multiple scripts and related arguments to be passed to `gremlin.sh` via `-i` and `-e`.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/49fb2579/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
index 4308291..13efc8e 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
@@ -73,13 +73,13 @@ public final class AddEdgeStep<S> extends MapStep<S, Edge> implements Mutating<E
}
@Override
- public void addTo(final Traversal.Admin<?,?> toObject) {
+ public void addTo(final Traversal.Admin<?, ?> toObject) {
this.parameters.set(TO, toObject);
this.parameters.integrateTraversals(this);
}
@Override
- public void addFrom(final Traversal.Admin<?,?> fromObject) {
+ public void addFrom(final Traversal.Admin<?, ?> fromObject) {
this.parameters.set(FROM, fromObject);
this.parameters.integrateTraversals(this);
}
@@ -120,6 +120,12 @@ public final class AddEdgeStep<S> extends MapStep<S, Edge> implements Mutating<E
}
@Override
+ public void setTraversal(final Traversal.Admin<?, ?> parentTraversal) {
+ super.setTraversal(parentTraversal);
+ this.parameters.getTraversals().forEach(this::integrateChild);
+ }
+
+ @Override
public AddEdgeStep<S> clone() {
final AddEdgeStep<S> clone = (AddEdgeStep<S>) super.clone();
clone.parameters = this.parameters.clone();
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/49fb2579/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
index 58c3ef3..e7939dc 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
@@ -114,6 +114,12 @@ public final class AddVertexStartStep extends AbstractStep<Vertex, Vertex> imple
}
@Override
+ public void setTraversal(final Traversal.Admin<?, ?> parentTraversal) {
+ super.setTraversal(parentTraversal);
+ this.parameters.getTraversals().forEach(this::integrateChild);
+ }
+
+ @Override
public AddVertexStartStep clone() {
final AddVertexStartStep clone = (AddVertexStartStep) super.clone();
clone.parameters = this.parameters.clone();
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/49fb2579/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
index 1d5e8c0..57cd616 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
@@ -99,6 +99,12 @@ public final class AddVertexStep<S> extends MapStep<S, Vertex> implements Mutati
}
@Override
+ public void setTraversal(final Traversal.Admin<?, ?> parentTraversal) {
+ super.setTraversal(parentTraversal);
+ this.parameters.getTraversals().forEach(this::integrateChild);
+ }
+
+ @Override
public AddVertexStep<S> clone() {
final AddVertexStep<S> clone = (AddVertexStep<S>) super.clone();
clone.parameters = this.parameters.clone();
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/49fb2579/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
index 3ccff52..44232f0 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
@@ -105,7 +105,7 @@ public final class AddPropertyStep<S extends Element> extends SideEffectStep<S>
else if (element instanceof VertexProperty)
evt = new Event.VertexPropertyPropertyChangedEvent(DetachedFactory.detach((VertexProperty) element, true),
newProperty ?
- new DetachedProperty(key, null):
+ new DetachedProperty(key, null) :
DetachedFactory.detach(currentProperty), value);
else
throw new IllegalStateException(String.format("The incoming object cannot be processed by change eventing in %s: %s", AddPropertyStep.class.getName(), element));
@@ -139,6 +139,12 @@ public final class AddPropertyStep<S extends Element> extends SideEffectStep<S>
}
@Override
+ public void setTraversal(final Traversal.Admin<?, ?> parentTraversal) {
+ super.setTraversal(parentTraversal);
+ this.parameters.getTraversals().forEach(this::integrateChild);
+ }
+
+ @Override
public String toString() {
return StringFactory.stepString(this, this.parameters);
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/49fb2579/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddEdgeTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddEdgeTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddEdgeTest.groovy
index b3d5f49..13d3e0a 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddEdgeTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddEdgeTest.groovy
@@ -43,17 +43,17 @@ public abstract class GroovyAddEdgeTest {
@Override
public Traversal<Vertex, Edge> get_g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX() {
- new ScriptTraversal<>(g, "gremlin-groovy", "g.V.aggregate('x').as('a').select('x').unfold.addE('existsWith').to('a').property('time', 'now')");
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.V.aggregate('x').as('a').select('x').unfold.addE('existsWith').to('a').property('time', 'now')")
}
@Override
public Traversal<Vertex, Edge> get_g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X() {
- new ScriptTraversal<>(g, "gremlin-groovy", "g.V.as('a').out('created').in('created').where(neq('a')).as('b').addE('codeveloper').from('a').to('b').property('year', 2009)");
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.V.as('a').out('created').in('created').where(neq('a')).as('b').addE('codeveloper').from('a').to('b').property('year', 2009)")
}
@Override
public Traversal<Vertex, Edge> get_g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX() {
- new ScriptTraversal<>(g, "gremlin-groovy", "g.V.as('a').in('created').addE('createdBy').from('a').property('year', 2009).property('acl', 'public')");
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.V.as('a').in('created').addE('createdBy').from('a').property('year', 2009).property('acl', 'public')")
}
@Override
@@ -74,12 +74,17 @@ public abstract class GroovyAddEdgeTest {
@Override
public Traversal<Vertex, Edge> get_g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_selectXa_bX_addInEXa_codeveloper_b_year_2009X() {
- new ScriptTraversal<>(g, "gremlin-groovy", "g.V.as('a').out('created').in('created').where(neq('a')).as('b').select('a','b').addInE('a', 'codeveloper', 'b', 'year', 2009)");
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.V.as('a').out('created').in('created').where(neq('a')).as('b').select('a','b').addInE('a', 'codeveloper', 'b', 'year', 2009)")
}
@Override
public Traversal<Vertex, Edge> get_g_V_asXaX_inXcreatedX_addInEXcreatedBy_a_year_2009_acl_publicX() {
- new ScriptTraversal<>(g, "gremlin-groovy", "g.V.as('a').in('created').addInE('createdBy', 'a', 'year', 2009, 'acl', 'public')");
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.V.as('a').in('created').addInE('createdBy', 'a', 'year', 2009, 'acl', 'public')")
+ }
+
+ @Override
+ public Traversal<Vertex, Edge> get_g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX() {
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.addV().as('first').repeat(addE('next').to(addV()).inV).times(5).addE('next').to(select('first'))")
}
}
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/49fb2579/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
index 4a5ab72..d418944 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
@@ -24,6 +24,7 @@ import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
import org.apache.tinkerpop.gremlin.process.traversal.P;
import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.structure.Direction;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Graph;
@@ -33,7 +34,13 @@ import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
+import java.util.Arrays;
+
import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.bothE;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.inE;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.outE;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.select;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -54,6 +61,8 @@ public abstract class AddEdgeTest extends AbstractGremlinProcessTest {
public abstract Traversal<Vertex, Edge> get_g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX();
+ public abstract Traversal<Vertex, Edge> get_g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX();
+
///////
@Deprecated
@@ -302,6 +311,22 @@ public abstract class AddEdgeTest extends AbstractGremlinProcessTest {
assertEquals(6, IteratorUtils.count(g.V()));
}
+ @Test
+ @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
+ @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
+ public void g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX() {
+ final Traversal<Vertex, Edge> traversal = get_g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX();
+ printTraversalForm(traversal);
+ assertEquals("next", traversal.next().label());
+ assertFalse(traversal.hasNext());
+ assertEquals(6L, g.V().count().next().longValue());
+ assertEquals(6L, g.E().count().next().longValue());
+ assertEquals(Arrays.asList(2L, 2L, 2L, 2L, 2L, 2L), g.V().map(bothE().count()).toList());
+ assertEquals(Arrays.asList(1L, 1L, 1L, 1L, 1L, 1L), g.V().map(inE().count()).toList());
+ assertEquals(Arrays.asList(1L, 1L, 1L, 1L, 1L, 1L), g.V().map(outE().count()).toList());
+ }
+
+
public static class Traversals extends AddEdgeTest {
@Override
@@ -355,5 +380,10 @@ public abstract class AddEdgeTest extends AbstractGremlinProcessTest {
public Traversal<Vertex, Edge> get_g_V_asXaX_inXcreatedX_addInEXcreatedBy_a_year_2009_acl_publicX() {
return g.V().as("a").in("created").addInE("createdBy", "a", "year", 2009, "acl", "public");
}
+
+ @Override
+ public Traversal<Vertex, Edge> get_g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX() {
+ return g.addV().as("first").repeat(__.addE("next").to(__.addV()).inV()).times(5).addE("next").to(select("first"));
+ }
}
}