Merge branch 'tp32' into tp33 Conflicts: gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource.java
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/1f15781a Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/1f15781a Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/1f15781a Branch: refs/heads/TINKERPOP-1996 Commit: 1f15781ac049008e50b63e3632c86158e570ef15 Parents: 65ba04f 309957b Author: Stephen Mallette <sp...@genoprime.com> Authored: Sat Jun 30 06:28:22 2018 -0400 Committer: Stephen Mallette <sp...@genoprime.com> Committed: Sat Jun 30 06:28:22 2018 -0400 ---------------------------------------------------------------------- .../dsl/graph/GraphTraversalSource.java | 94 +++++++++++++++++++- 1 file changed, 93 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1f15781a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource.java ---------------------------------------------------------------------- diff --cc gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource.java index 81a0a71,baba19c..bc3ef9e --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource.java @@@ -127,6 -139,15 +133,9 @@@ public class GraphTraversalSource imple return (GraphTraversalSource) TraversalSource.super.withoutStrategies(traversalStrategyClasses); } - @Override - @Deprecated - public GraphTraversalSource withBindings(final Bindings bindings) { - return (GraphTraversalSource) TraversalSource.super.withBindings(bindings); - } - + /** + * {@inheritDoc} + */ @Override public GraphTraversalSource withComputer(final Computer computer) { return (GraphTraversalSource) TraversalSource.super.withComputer(computer); @@@ -247,6 -319,30 +307,10 @@@ //// SPAWNS - /** - * @deprecated As of release 3.1.0, replaced by {@link #addV()} - */ - @Deprecated - public GraphTraversal<Vertex, Vertex> addV(final Object... keyValues) { - ElementHelper.legalPropertyKeyValueArray(keyValues); - if (keyValues.length != 0 && keyValues[0].equals(T.label)) { - final GraphTraversal<Vertex, Vertex> traversal = this.addV(keyValues[1].toString()); - for (int i = 2; i < keyValues.length; i = i + 2) { - traversal.property(keyValues[i], keyValues[i + 1]); - } - return traversal; - } else { - final GraphTraversal<Vertex, Vertex> traversal = this.addV(); - for (int i = 0; i < keyValues.length; i = i + 2) { - traversal.property(keyValues[i], keyValues[i + 1]); - } - return traversal; - } - } + + /** + * Spawns a {@link GraphTraversal} by adding a vertex with the specified label. + */ public GraphTraversal<Vertex, Vertex> addV(final String label) { final GraphTraversalSource clone = this.clone(); clone.bytecode.addStep(GraphTraversal.Symbols.addV, label); @@@ -254,34 -350,19 +318,49 @@@ return traversal.addStep(new AddVertexStartStep(traversal, label)); } + /** ++ * Spawns a {@link GraphTraversal} by adding a vertex with the label as determined by a {@link Traversal}. ++ */ + public GraphTraversal<Vertex, Vertex> addV(final Traversal<?, String> vertexLabelTraversal) { + final GraphTraversalSource clone = this.clone(); + clone.bytecode.addStep(GraphTraversal.Symbols.addV, vertexLabelTraversal); + final GraphTraversal.Admin<Vertex, Vertex> traversal = new DefaultGraphTraversal<>(clone); + return traversal.addStep(new AddVertexStartStep(traversal, vertexLabelTraversal)); + } + ++ /** + * Spawns a {@link GraphTraversal} by adding a vertex with the default label. + */ public GraphTraversal<Vertex, Vertex> addV() { final GraphTraversalSource clone = this.clone(); clone.bytecode.addStep(GraphTraversal.Symbols.addV); final GraphTraversal.Admin<Vertex, Vertex> traversal = new DefaultGraphTraversal<>(clone); - return traversal.addStep(new AddVertexStartStep(traversal, null)); + return traversal.addStep(new AddVertexStartStep(traversal, (String)null)); + } + ++ /** ++ * Spawns a {@link GraphTraversal} by adding a edge with the specified label. ++ */ + public GraphTraversal<Edge, Edge> addE(final String label) { + final GraphTraversalSource clone = this.clone(); + clone.bytecode.addStep(GraphTraversal.Symbols.addE, label); + final GraphTraversal.Admin<Edge, Edge> traversal = new DefaultGraphTraversal<>(clone); + return traversal.addStep(new AddEdgeStartStep(traversal, label)); + } + ++ /** ++ * Spawns a {@link GraphTraversal} by adding a edge with a label as specified by the provided {@link Traversal}. ++ */ + public GraphTraversal<Edge, Edge> addE(final Traversal<?, String> edgeLabelTraversal) { + final GraphTraversalSource clone = this.clone(); + clone.bytecode.addStep(GraphTraversal.Symbols.addE, edgeLabelTraversal); + final GraphTraversal.Admin<Edge, Edge> traversal = new DefaultGraphTraversal<>(clone); + return traversal.addStep(new AddEdgeStartStep(traversal, edgeLabelTraversal)); } + /** + * Spawns a {@link GraphTraversal} starting it with arbitrary values. + */ public <S> GraphTraversal<S, S> inject(S... starts) { final GraphTraversalSource clone = this.clone(); clone.bytecode.addStep(GraphTraversal.Symbols.inject, starts);