You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/05/16 01:14:10 UTC

[03/10] incubator-tinkerpop git commit: TINKERPOP3-670: Add overloads to default tail limit to 1

TINKERPOP3-670: Add overloads to default tail limit to 1


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/3c772aac
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/3c772aac
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/3c772aac

Branch: refs/heads/master
Commit: 3c772aac418a828d31a17ddd11c4fa64333180a8
Parents: d75567e
Author: mhfrantz <mf...@redsealnetworks.com>
Authored: Fri May 8 06:52:09 2015 -0700
Committer: mhfrantz <mf...@redsealnetworks.com>
Committed: Fri May 15 14:14:45 2015 -0700

----------------------------------------------------------------------
 .../traversal/dsl/graph/GraphTraversal.java     |  8 +++++
 .../traversal/step/filter/GroovyTailTest.groovy | 10 ++++++
 .../process/traversal/step/filter/TailTest.java | 34 ++++++++++++++++++++
 3 files changed, 52 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/3c772aac/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index fa1e092..fc9aab3 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -550,10 +550,18 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
         return this.range(scope, 0, limit);
     }
 
+    public default GraphTraversal<S, E> tail() {
+        return this.tail(1);
+    }
+
     public default GraphTraversal<S, E> tail(final long limit) {
         return this.tail(Scope.global, limit);
     }
 
+    public default GraphTraversal<S, E> tail(final Scope scope) {
+        return this.tail(scope, 1);
+    }
+
     public default GraphTraversal<S, E> tail(final Scope scope, final long limit) {
         return this.asAdmin().addStep(scope.equals(Scope.global)
                 ? new TailGlobalStep<>(this.asAdmin(), limit)

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/3c772aac/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyTailTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyTailTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyTailTest.groovy
index e20286a..b89c92d 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyTailTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyTailTest.groovy
@@ -48,6 +48,11 @@ public abstract class GroovyTailTest {
         }
 
         @Override
+        public Traversal<Vertex, String> get_g_V_valuesXnameX_order_tail() {
+            g.V.values('name')order.tail
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_V_valuesXnameX_order_tailX7X() {
             g.V.values('name').order.tail(7)
         }
@@ -63,6 +68,11 @@ public abstract class GroovyTailTest {
         }
 
         @Override
+        public Traversal<Vertex, String> get_g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_tailXlocalX() {
+            g.V.as('a').out.as('a').out.as('a').select('a').by(unfold().values('name').fold).tail(local)
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXlimitXlocal_0XX_tailXlocal_1X() {
             g.V.as('a').out.as('a').out.as('a').select('a').by(limit(local, 0)).tail(local, 1)
         }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/3c772aac/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailTest.java
index f023d58..40714da 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailTest.java
@@ -52,12 +52,16 @@ public abstract class TailTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, String> get_g_V_valuesXnameX_order_tailX2X();
 
+    public abstract Traversal<Vertex, String> get_g_V_valuesXnameX_order_tail();
+
     public abstract Traversal<Vertex, String> get_g_V_valuesXnameX_order_tailX7X();
 
     public abstract Traversal<Vertex, List<String>> get_g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_tailXlocal_2X();
 
     public abstract Traversal<Vertex, String> get_g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_tailXlocal_1X();
 
+    public abstract Traversal<Vertex, String> get_g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_tailXlocalX();
+
     public abstract Traversal<Vertex, String> get_g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXlimitXlocal_0XX_tailXlocal_1X();
 
     public abstract Traversal<Vertex, Map<String, String>> get_g_V_asXaX_out_asXbX_out_asXcX_select_byXnameX_tailXlocal_2X();
@@ -82,6 +86,15 @@ public abstract class TailTest extends AbstractGremlinProcessTest {
         assertEquals(Arrays.asList("ripple", "vadas"), traversal.toList());
     }
 
+    /** Scenario: Default is global, N=1 */
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_valuesXnameX_order_tail() {
+        final Traversal<Vertex, String> traversal = get_g_V_valuesXnameX_order_tail();
+        printTraversalForm(traversal);
+        assertEquals(Arrays.asList("vadas"), traversal.toList());
+    }
+
     /** Scenario: Global scope, not enough elements */
     @Test
     @LoadGraphWith(MODERN)
@@ -116,6 +129,17 @@ public abstract class TailTest extends AbstractGremlinProcessTest {
         assertEquals(expected, actual);
     }
 
+    /** Scenario: Local scope, List input, default N=1 */
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_tailXlocalX() {
+        final Traversal<Vertex, String> traversal = get_g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_tailXlocalX();
+        printTraversalForm(traversal);
+        final Set<String> expected = new HashSet(Arrays.asList("ripple", "lop"));
+        final Set<String> actual = new HashSet(traversal.toList());
+        assertEquals(expected, actual);
+    }
+
     /** Scenario: Local scope, List input, N=1, empty input */
     @Test
     @LoadGraphWith(MODERN)
@@ -166,6 +190,11 @@ public abstract class TailTest extends AbstractGremlinProcessTest {
         }
 
         @Override
+        public Traversal<Vertex, String> get_g_V_valuesXnameX_order_tail() {
+            return g.V().<String>values("name").order().tail();
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_V_valuesXnameX_order_tailX7X() {
             return g.V().<String>values("name").order().tail(7);
         }
@@ -181,6 +210,11 @@ public abstract class TailTest extends AbstractGremlinProcessTest {
         }
 
         @Override
+        public Traversal<Vertex, String> get_g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_tailXlocalX() {
+            return g.V().as("a").out().as("a").out().as("a").<String>select("a").by(unfold().values("name").fold()).tail(local);
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXlimitXlocal_0XX_tailXlocal_1X() {
             return g.V().as("a").out().as("a").out().as("a").<String>select("a").by(limit(local, 0)).tail(local, 1);
         }