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 2017/05/31 19:08:56 UTC

[1/3] tinkerpop git commit: fixed a bug in until(predicate) which was actually calling emit(predicate). Added a test case to verify bug and demonstrate that fix fixes bug.

Repository: tinkerpop
Updated Branches:
  refs/heads/master 4030a7156 -> 20d2cbd48


fixed a bug in until(predicate) which was actually calling emit(predicate). Added a test case to verify bug and demonstrate that fix fixes bug.


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

Branch: refs/heads/master
Commit: 8695b15c1c91411465b8416fec20b628b7fba045
Parents: 8812f85
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Fri May 26 08:27:00 2017 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Fri May 26 08:27:00 2017 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../traversal/dsl/graph/GraphTraversal.java     |  2 +-
 .../step/branch/GroovyRepeatTest.groovy         |  7 +++++++
 .../traversal/step/branch/RepeatTest.java       | 22 ++++++++++++++++++++
 4 files changed, 31 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8695b15c/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 31a4064..3380dad 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 bug in `until(predicate)` where it was actually calling `emit(predicate)`.
 * Improved error messaging on the `g.addV(Object...)` when passing an invalid arguments.
 * Reduced memory usage for TinkerGraph deserialization in GraphSON by streaming vertices and edges.
 * Now using Groovy `[...]` map notation in `GroovyTranslator` instead of `new LinkedHashMap(){{ }}`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8695b15c/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 afa23d7..29412b8 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
@@ -2335,7 +2335,7 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
      */
     public default GraphTraversal<S, E> until(final Predicate<Traverser<E>> untilPredicate) {
         this.asAdmin().getBytecode().addStep(Symbols.until, untilPredicate);
-        return RepeatStep.addEmitToTraversal(this, (Traversal.Admin<E, ?>) __.filter(untilPredicate));
+        return RepeatStep.addUntilToTraversal(this, (Traversal.Admin<E, ?>) __.filter(untilPredicate));
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8695b15c/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy
index 88dce37..b45c191 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy
@@ -23,6 +23,8 @@ import org.apache.tinkerpop.gremlin.process.traversal.Traversal
 import org.apache.tinkerpop.gremlin.process.traversal.util.ScriptTraversal
 import org.apache.tinkerpop.gremlin.structure.Vertex
 
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.both
+
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
@@ -90,5 +92,10 @@ public abstract class GroovyRepeatTest {
                 final Object v1Id) {
             new ScriptTraversal<>(g, "gremlin-groovy", "g.V(v1Id).repeat(groupCount('m').by(loops()).out()).times(3).cap('m')", "v1Id", v1Id)
         }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.repeat(both()).until{it.get().value('name').equals('lop') || it.loops() > 1}.groupCount.by('name')")
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8695b15c/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatTest.java
index 56acd2b..90d7d07 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatTest.java
@@ -87,6 +87,8 @@ public abstract class RepeatTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, String> get_g_VX1X_repeatXoutX_untilXoutE_count_isX0XX_name(final Object v1Id);
 
+    public abstract Traversal<Vertex, Map<String, Long>> get_g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX();
+
     @Test
     @LoadGraphWith(MODERN)
     public void g_V_repeatXoutX_timesX2X_emit_path() {
@@ -259,6 +261,21 @@ public abstract class RepeatTest extends AbstractGremlinProcessTest {
         assertEquals(2L, map.get(2).longValue());
     }
 
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX() {
+        final Traversal<Vertex, Map<String, Long>> traversal = get_g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX();
+        printTraversalForm(traversal);
+        final Map<String, Long> map = traversal.next();
+        assertFalse(traversal.hasNext());
+        assertEquals(5, map.size());
+        assertEquals(3L, map.get("ripple").longValue());
+        assertEquals(3L, map.get("vadas").longValue());
+        assertEquals(4L, map.get("josh").longValue());
+        assertEquals(10L, map.get("lop").longValue());
+        assertEquals(4L, map.get("marko").longValue());
+    }
+
     public static class Traversals extends RepeatTest {
 
         @Override
@@ -320,5 +337,10 @@ public abstract class RepeatTest extends AbstractGremlinProcessTest {
         public Traversal<Vertex, Map<Integer, Long>> get_g_VX1X_repeatXgroupCountXmX_byXloopsX_outX_timesX3X_capXmX(final Object v1Id) {
             return g.V(v1Id).repeat(groupCount("m").by(loops()).out()).times(3).cap("m");
         }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX() {
+            return g.V().repeat(both()).until(t -> t.get().value("name").equals("lop") || t.loops() > 1).<String>groupCount().by("name");
+        }
     }
 }
\ No newline at end of file


[3/3] tinkerpop git commit: merged tp32.

Posted by ok...@apache.org.
merged tp32.


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

Branch: refs/heads/master
Commit: 20d2cbd489bff823c3dd7af909a610840532adca
Parents: 4030a71 d4b9c30
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed May 31 13:08:52 2017 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed May 31 13:08:52 2017 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../traversal/dsl/graph/GraphTraversal.java     |  2 +-
 .../traversal/step/branch/RepeatTest.java       | 22 ++++++++++++++++++++
 3 files changed, 24 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20d2cbd4/CHANGELOG.asciidoc
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20d2cbd4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
----------------------------------------------------------------------


[2/3] tinkerpop git commit: Merge branch 'TINKERPOP-1678' into tp32

Posted by ok...@apache.org.
Merge branch 'TINKERPOP-1678' into tp32


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

Branch: refs/heads/master
Commit: d4b9c3035aaeb4ebb740fe50d9a9939091c68bfd
Parents: 4f7b859 8695b15
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed May 31 12:56:57 2017 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed May 31 12:56:57 2017 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../traversal/dsl/graph/GraphTraversal.java     |  2 +-
 .../step/branch/GroovyRepeatTest.groovy         |  7 +++++++
 .../traversal/step/branch/RepeatTest.java       | 22 ++++++++++++++++++++
 4 files changed, 31 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d4b9c303/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 2067ea2,3380dad..4ad1d46
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -26,11 -26,9 +26,12 @@@ image::https://raw.githubusercontent.co
  TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
+ * Fixed a bug in `until(predicate)` where it was actually calling `emit(predicate)`.
  * Improved error messaging on the `g.addV(Object...)` when passing an invalid arguments.
  * Reduced memory usage for TinkerGraph deserialization in GraphSON by streaming vertices and edges.
 +* Added the `gremlin-archetype-dsl` to demonstrate how to structure a Maven project for a DSL.
 +* Developed and documented patterns for Domain Specific Language implementations.
 +* Removed the Groovy dependency from `gremlin-python` and used Groovy Templates and the `gmavenplus-plugin` to generate the python GLV classes.
  * Now using Groovy `[...]` map notation in `GroovyTranslator` instead of `new LinkedHashMap(){{ }}`.
  * Maintained type information on `Traversal.promise()`.
  * Propagated exception to `Future` instead of calling thread in `RemoteConnection`.