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 2018/04/25 11:27:55 UTC
[1/3] tinkerpop git commit: TINKERPOP-1947 Fixed path history problem
with mutations
Repository: tinkerpop
Updated Branches:
refs/heads/tp33 012eba661 -> 9d5b72290
TINKERPOP-1947 Fixed path history problem with mutations
When a key of a mutation was a traversal it was not being integrated to the parent traversal and tracked in the Parameters.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8fbfab79
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8fbfab79
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8fbfab79
Branch: refs/heads/tp33
Commit: 8fbfab7947d3cf547f7c27025be6876c5d86a1a4
Parents: b99c56a
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Apr 19 14:25:33 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Apr 19 14:25:33 2018 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../process/traversal/step/util/Parameters.java | 30 +++++++++++---------
.../step/map/GroovyAddVertexTest.groovy | 5 ++++
gremlin-test/features/map/AddVertex.feature | 27 ++++++++++++++++++
.../traversal/step/map/AddVertexTest.java | 20 +++++++++++--
5 files changed, 68 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8fbfab79/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 0f3a71a..6f7baa5 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -23,6 +23,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
[[release-3-2-9]]
=== TinkerPop 3.2.9 (Release Date: NOT OFFICIALLY RELEASED YET)
+* Fixed bug where path history was not being preserved for keys in mutations.
* Bumped to httpclient 4.5.5.
[[release-3-2-8]]
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8fbfab79/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/Parameters.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/Parameters.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/Parameters.java
index 7fae30a..d368322 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/Parameters.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/Parameters.java
@@ -174,26 +174,30 @@ public final class Parameters implements Cloneable, Serializable {
if (keyValues.length % 2 != 0)
throw Element.Exceptions.providedKeyValuesMustBeAMultipleOfTwo();
- for (int i = 0; i < keyValues.length; i = i + 2) {
- if (!(keyValues[i] instanceof String) && !(keyValues[i] instanceof T) && !(keyValues[i] instanceof Traversal))
+ for (int ix = 0; ix < keyValues.length; ix = ix + 2) {
+ if (!(keyValues[ix] instanceof String) && !(keyValues[ix] instanceof T) && !(keyValues[ix] instanceof Traversal))
throw new IllegalArgumentException("The provided key/value array must have a String, T, or Traversal on even array indices");
- if (keyValues[i + 1] != null) {
- // track the list of traversals that are present so that elsewhere in Parameters there is no need
- // to iterate all values to not find any. also grab available labels in traversal values
- if (keyValues[i + 1] instanceof Traversal.Admin) {
- final Traversal.Admin t = (Traversal.Admin) keyValues[i + 1];
- addTraversal(t);
- if (parent != null) parent.integrateChild(t);
+ if (keyValues[ix + 1] != null) {
+
+ // check both key and value for traversal instances. track the list of traversals that are present so
+ // that elsewhere in Parameters there is no need to iterate all values to not find any. also grab
+ // available labels in traversal values
+ for (int iy = 0; iy < 2; iy++) {
+ if (keyValues[ix + iy] instanceof Traversal.Admin) {
+ final Traversal.Admin t = (Traversal.Admin) keyValues[ix + iy];
+ addTraversal(t);
+ if (parent != null) parent.integrateChild(t);
+ }
}
- List<Object> values = this.parameters.get(keyValues[i]);
+ List<Object> values = this.parameters.get(keyValues[ix]);
if (null == values) {
values = new ArrayList<>();
- values.add(keyValues[i + 1]);
- this.parameters.put(keyValues[i], values);
+ values.add(keyValues[ix + 1]);
+ this.parameters.put(keyValues[ix], values);
} else {
- values.add(keyValues[i + 1]);
+ values.add(keyValues[ix + 1]);
}
}
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8fbfab79/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddVertexTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddVertexTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddVertexTest.groovy
index 1956a7e..b9d753b 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddVertexTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddVertexTest.groovy
@@ -81,6 +81,11 @@ public abstract class GroovyAddVertexTest {
new ScriptTraversal<>(g, "gremlin-groovy", "g.withSideEffect('a', 'marko').addV().property('name', select('a')).name")
}
+ @Override
+ public Traversal<Vertex, String> get_g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name() {
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.withSideEffect('a', 'name').addV().property(select('a'), 'marko').name")
+ }
+
///////// DEPRECATED BELOW
@Override
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8fbfab79/gremlin-test/features/map/AddVertex.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/map/AddVertex.feature b/gremlin-test/features/map/AddVertex.feature
index 2813733..996521b 100644
--- a/gremlin-test/features/map/AddVertex.feature
+++ b/gremlin-test/features/map/AddVertex.feature
@@ -308,3 +308,30 @@ Feature: Step - addV()
| result |
| m[{"temp": ["test"], "name": ["lop"]}] |
| m[{"temp": ["test"], "name": ["ripple"]}] |
+
+ Scenario: g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And the traversal of
+ """
+ g.withSideEffect("a", "name").addV().property(__.select("a"), "marko").values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | marko |
+ And the graph should return 2 for count of "g.V().has(\"name\",\"marko\")"
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8fbfab79/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java
index d44b439..7cf5e6a 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java
@@ -38,10 +38,8 @@ import java.util.Map;
import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.select;
-import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
@@ -70,6 +68,8 @@ public abstract class AddVertexTest extends AbstractGremlinTest {
public abstract Traversal<Vertex, String> get_g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name();
+ public abstract Traversal<Vertex, String> get_g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name();
+
// 3.0.0 DEPRECATIONS
@Deprecated
public abstract Traversal<Vertex, Vertex> get_g_V_addVXlabel_animal_age_0X();
@@ -296,6 +296,17 @@ public abstract class AddVertexTest extends AbstractGremlinTest {
assertFalse(traversal.hasNext());
}
+ @Test
+ @LoadGraphWith(MODERN)
+ @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
+ @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_PROPERTY)
+ public void g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name() {
+ final Traversal<Vertex, String> traversal = get_g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name();
+ printTraversalForm(traversal);
+ assertEquals("marko", traversal.next());
+ assertFalse(traversal.hasNext());
+ }
+
public static class Traversals extends AddVertexTest {
@@ -358,5 +369,10 @@ public abstract class AddVertexTest extends AbstractGremlinTest {
public Traversal<Vertex, String> get_g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name() {
return g.withSideEffect("a", "marko").addV().property("name", select("a")).values("name");
}
+
+ @Override
+ public Traversal<Vertex, String> get_g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name() {
+ return g.withSideEffect("a", "name").addV().property(select("a"),"marko").values("name");
+ }
}
}
\ No newline at end of file
[3/3] tinkerpop git commit: Merge branch 'tp32' into tp33
Posted by sp...@apache.org.
Merge branch 'tp32' into tp33
Conflicts:
gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyAddVertexTest.groovy
gremlin-test/features/map/AddVertex.feature
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9d5b7229
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9d5b7229
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9d5b7229
Branch: refs/heads/tp33
Commit: 9d5b72290bddfbc0b987297626427e2cfedd86d5
Parents: 012eba6 44c4073
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Apr 25 07:27:29 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Apr 25 07:27:29 2018 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../process/traversal/step/util/Parameters.java | 30 +++++++++++---------
gremlin-test/features/map/AddVertex.feature | 26 +++++++++++++++++
.../traversal/step/map/AddVertexTest.java | 20 +++++++++++--
4 files changed, 62 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9d5b7229/CHANGELOG.asciidoc
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9d5b7229/gremlin-test/features/map/AddVertex.feature
----------------------------------------------------------------------
diff --cc gremlin-test/features/map/AddVertex.feature
index e58040c,996521b..5d324f3
--- a/gremlin-test/features/map/AddVertex.feature
+++ b/gremlin-test/features/map/AddVertex.feature
@@@ -309,54 -309,29 +309,80 @@@ Feature: Step - addV(
| m[{"temp": ["test"], "name": ["lop"]}] |
| m[{"temp": ["test"], "name": ["ripple"]}] |
+ Scenario: g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And the traversal of
+ """
+ g.withSideEffect("a", "name").addV().property(__.select("a"), "marko").values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | marko |
- And the graph should return 2 for count of "g.V().has(\"name\",\"marko\")"
++ And the graph should return 2 for count of "g.V().has(\"name\",\"marko\")"
+ Scenario: g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMapXtrueX
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And the traversal of
+ """
+ g.V().as("a").has("name", "marko").out("created").as("b").addV(__.select("a").label()).property("test", __.select("b").label()).valueMap(true)
+ """
+ When iterated to list
+ Then the result should have a count of 1
+ And the graph should return 1 for count of "g.V().has(\"person\",\"test\",\"software\")"
+
+ Scenario: g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And the traversal of
+ """
+ g.addV(__.V().has("name", "marko").properties("name").key()).label()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | name |
+
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9d5b7229/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java
index 5823891,7cf5e6a..f732a44
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexTest.java
@@@ -37,12 -37,9 +37,10 @@@ import java.util.List
import java.util.Map;
import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.V;
import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.select;
- import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
- import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
@@@ -71,9 -68,14 +69,11 @@@ public abstract class AddVertexTest ext
public abstract Traversal<Vertex, String> get_g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name();
- public abstract Traversal<Vertex, String> get_g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name();
+ public abstract Traversal<Vertex, String> get_g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label();
- // 3.0.0 DEPRECATIONS
- @Deprecated
- public abstract Traversal<Vertex, Vertex> get_g_V_addVXlabel_animal_age_0X();
++ public abstract Traversal<Vertex, String> get_g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name();
+
- @Deprecated
- public abstract Traversal<Vertex, Vertex> get_g_addVXlabel_person_name_stephenX();
+ public abstract Traversal<Vertex, Map<Object, Object>> get_g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMapXtrueX();
@Test
@LoadGraphWith(MODERN)
@@@ -263,27 -299,14 +263,38 @@@
@Test
@LoadGraphWith(MODERN)
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
+ @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_PROPERTY)
+ public void g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name() {
+ final Traversal<Vertex, String> traversal = get_g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name();
+ printTraversalForm(traversal);
+ assertEquals("marko", traversal.next());
+ assertFalse(traversal.hasNext());
+ }
+
++ @Test
++ @LoadGraphWith(MODERN)
++ @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
+ public void g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label() {
+ final Traversal<Vertex, String> traversal = get_g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label();
+ printTraversalForm(traversal);
+ assertEquals("name", traversal.next());
+ assertFalse(traversal.hasNext());
+ }
+
+ @Test
+ @LoadGraphWith(MODERN)
+ @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
+ @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_PROPERTY)
+ public void g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMapXtrueX() {
+ final Traversal<Vertex, Map<Object,Object>> traversal = get_g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMapXtrueX();
+ printTraversalForm(traversal);
+ final Map<Object,Object> map = traversal.next();
+ assertFalse(traversal.hasNext());
+ assertEquals("person",map.get(T.label));
+ assertEquals("software",((List)map.get("test")).get(0));
+ assertEquals(1, ((List)map.get("test")).size());
+ assertEquals(3, map.size());
+ }
public static class Traversals extends AddVertexTest {
@@@ -338,13 -371,8 +349,18 @@@
}
@Override
+ public Traversal<Vertex, String> get_g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name() {
+ return g.withSideEffect("a", "name").addV().property(select("a"),"marko").values("name");
+ }
++
++ @Override
+ public Traversal<Vertex, String> get_g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label() {
+ return g.addV(V().has("name", "marko").properties("name").key()).label();
+ }
+
+ @Override
+ public Traversal<Vertex, Map<Object, Object>> get_g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMapXtrueX() {
+ return g.V().as("a").has("name", "marko").out("created").as("b").addV(select("a").label()).property("test", select("b").label()).valueMap(true);
+ }
}
}
[2/3] tinkerpop git commit: Merge branch 'TINKERPOP-1947' into tp32
Posted by sp...@apache.org.
Merge branch 'TINKERPOP-1947' into tp32
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/44c4073f
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/44c4073f
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/44c4073f
Branch: refs/heads/tp33
Commit: 44c4073f2711cd56948ea9753f94e51897262031
Parents: 42ce7a5 8fbfab7
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Apr 25 06:56:17 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Apr 25 06:56:17 2018 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../process/traversal/step/util/Parameters.java | 30 +++++++++++---------
.../step/map/GroovyAddVertexTest.groovy | 5 ++++
gremlin-test/features/map/AddVertex.feature | 27 ++++++++++++++++++
.../traversal/step/map/AddVertexTest.java | 20 +++++++++++--
5 files changed, 68 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/44c4073f/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 797072d,6f7baa5..f71602a
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -23,9 -23,8 +23,10 @@@ image::https://raw.githubusercontent.co
[[release-3-2-9]]
=== TinkerPop 3.2.9 (Release Date: NOT OFFICIALLY RELEASED YET)
+ * Fixed bug where path history was not being preserved for keys in mutations.
* Bumped to httpclient 4.5.5.
+* Bumped to Groovy 2.4.15 - fixes bug with `Lambda` construction.
+* Improved performance of GraphSON deserialization of `Bytecode`.
[[release-3-2-8]]
=== TinkerPop 3.2.8 (Release Date: April 2, 2018)