TINKERPOP-786 Improved the TraversalSource definition in the archetype
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b47b25cd Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b47b25cd Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b47b25cd Branch: refs/heads/tp32-glv Commit: b47b25cda2ee3b38159c127e3f0218e7a9a55e37 Parents: df012d3 Author: Stephen Mallette <[email protected]> Authored: Tue May 9 13:47:31 2017 -0400 Committer: Stephen Mallette <[email protected]> Committed: Tue May 16 11:01:51 2017 -0400 ---------------------------------------------------------------------- .../src/main/java/SocialTraversalSourceDsl.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b47b25cd/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/src/main/java/SocialTraversalSourceDsl.java ---------------------------------------------------------------------- diff --git a/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/src/main/java/SocialTraversalSourceDsl.java b/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/src/main/java/SocialTraversalSourceDsl.java index 3bd8297..d14b843 100644 --- a/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/src/main/java/SocialTraversalSourceDsl.java +++ b/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/src/main/java/SocialTraversalSourceDsl.java @@ -52,17 +52,15 @@ public class SocialTraversalSourceDsl extends GraphTraversalSource { */ public GraphTraversal<Vertex, Vertex> persons(String... names) { GraphTraversalSource clone = this.clone(); - clone.getBytecode().addStep(GraphTraversal.Symbols.V); - clone.getBytecode().addStep(GraphTraversal.Symbols.hasLabel, "person"); - GraphTraversal.Admin<Vertex, Vertex> traversal = new DefaultGraphTraversal<>(clone); - traversal.addStep(new GraphStep<>(traversal, Vertex.class, true)); - TraversalHelper.addHasContainer(traversal, new HasContainer(T.label.getAccessor(), P.eq("person"))); + // Manually add a "start" step for the traversal in this case the equivalent of V(). GraphStep is marked + // as a "start" step by passing "true" in the constructor. + clone.getBytecode().addStep(GraphTraversal.Symbols.V); + GraphTraversal<Vertex, Vertex> traversal = new DefaultGraphTraversal<>(clone); + traversal.asAdmin().addStep(new GraphStep<>(traversal.asAdmin(), Vertex.class, true)); - if (names.length > 0) { - clone.getBytecode().addStep(GraphTraversal.Symbols.has, P.within(names)); - TraversalHelper.addHasContainer(traversal, new HasContainer("name", P.within(names))); - } + traversal = traversal.hasLabel("person"); + if (names.length > 0) traversal = traversal.has("name", P.within(names)); return traversal; }
