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/06/15 16:15:44 UTC

[1/2] incubator-tinkerpop git commit: reversed the meaning of Pop.head and Pop.tail to align with graph theory terminology.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/xmatch 061ebed72 -> 3103f4731


reversed the meaning of Pop.head and Pop.tail to align with graph theory terminology.


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

Branch: refs/heads/xmatch
Commit: d49f409d4642cb66c453bebee8a368fe7a0b19b3
Parents: 201389e
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon Jun 15 08:15:13 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon Jun 15 08:15:13 2015 -0600

----------------------------------------------------------------------
 .../gremlin/process/traversal/Path.java         |  2 +-
 .../gremlin/process/traversal/Pop.java          |  6 ++++
 .../traversal/step/util/ImmutablePath.java      | 30 +++++++++-----------
 .../traversal/step/util/MutablePath.java        |  2 +-
 .../gremlin/process/traversal/PathTest.java     | 14 ++++-----
 5 files changed, 29 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/d49f409d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Path.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Path.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Path.java
index 05af228..e70f467 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Path.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Path.java
@@ -128,7 +128,7 @@ public interface Path extends Cloneable {
     public default <A> A getSingle(final Pop pop, final String label) throws IllegalArgumentException {
         final Object object = this.get(label);
         if (object instanceof List) {
-            return Pop.tail == pop ? ((List<A>) object).get(((List) object).size() - 1) : ((List<A>) object).get(0);
+            return Pop.head == pop ? ((List<A>) object).get(((List) object).size() - 1) : ((List<A>) object).get(0);
         } else
             return (A) object;
     }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/d49f409d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Pop.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Pop.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Pop.java
index 9acd8c2..b9201ef 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Pop.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Pop.java
@@ -26,6 +26,12 @@ package org.apache.tinkerpop.gremlin.process.traversal;
  */
 public enum Pop {
 
+    /**
+     * The end/terminal of a Path (or ordered collection)
+     */
     head,
+    /**
+     * The start/initial of a Path (or ordered collection)
+     */
     tail
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/d49f409d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java
index 4195c5e..881a4b9 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java
@@ -23,11 +23,9 @@ import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.stream.Stream;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
@@ -83,7 +81,7 @@ public class ImmutablePath implements Path, ImmutablePathImpl, Serializable, Clo
         final List<A> list = this.previousPath.getList(label);
         // Add our object, if our step labels match.
         if (this.currentLabels.contains(label))
-            list.add((A)currentObject);
+            list.add((A) currentObject);
         return list;
     }
 
@@ -91,12 +89,13 @@ public class ImmutablePath implements Path, ImmutablePathImpl, Serializable, Clo
     public <A> A getSingleHead(final String label) {
         // Recursively search for the single value to avoid building throwaway collections, and to stop looking when we
         // find it.
-        A single = this.previousPath.getSingleHead(label);
-        if (null == single) {
-            // See if we have a value.
-            if (this.currentLabels.contains(label)) {
-                single = (A) this.currentObject;
-            }
+        A single;
+        // See if we have a value.
+        if (this.currentLabels.contains(label)) {
+            single = (A) this.currentObject;
+        } else {
+            // Look for a previous value.
+            single = this.previousPath.getSingleHead(label);
         }
         return single;
     }
@@ -105,13 +104,12 @@ public class ImmutablePath implements Path, ImmutablePathImpl, Serializable, Clo
     public <A> A getSingleTail(final String label) {
         // Recursively search for the single value to avoid building throwaway collections, and to stop looking when we
         // find it.
-        A single;
-        // See if we have a value.
-        if (this.currentLabels.contains(label)) {
-            single = (A) this.currentObject;
-        } else {
-            // Look for a previous value.
-            single = this.previousPath.getSingleTail(label);
+        A single = this.previousPath.getSingleTail(label);
+        if (null == single) {
+            // See if we have a value.
+            if (this.currentLabels.contains(label)) {
+                single = (A) this.currentObject;
+            }
         }
         return single;
     }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/d49f409d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java
index edb771c..ff0428b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java
@@ -84,7 +84,7 @@ public class MutablePath implements Path, Serializable {
     @Override
     public <A> A getSingle(final Pop pop, final String label) {
         // Override default to avoid building temporary list, and to stop looking when we find the label.
-        if (Pop.tail == pop) {
+        if (Pop.head == pop) {
             for (int i = this.labels.size() - 1; i >= 0; i--) {
                 if (labels.get(i).contains(label))
                     return (A) objects.get(i);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/d49f409d/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/PathTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/PathTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/PathTest.java
index 97a4f86..4498b42 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/PathTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/PathTest.java
@@ -175,15 +175,15 @@ public class PathTest extends AbstractGremlinProcessTest {
             path = path.extend("stephen", "a", "c");
             path = path.extend("matthias", "c", "d");
             assertEquals(3, path.size());
-            assertEquals("marko", path.getSingle(Pop.head, "a"));
-            assertEquals("marko", path.getSingle(Pop.head, "b"));
-            assertEquals("stephen", path.getSingle(Pop.head, "c"));
-            assertEquals("matthias", path.getSingle(Pop.head, "d"));
-            ///
+            assertEquals("marko", path.getSingle(Pop.tail, "a"));
             assertEquals("marko", path.getSingle(Pop.tail, "b"));
-            assertEquals("stephen", path.getSingle(Pop.tail, "a"));
-            assertEquals("matthias", path.getSingle(Pop.tail, "c"));
+            assertEquals("stephen", path.getSingle(Pop.tail, "c"));
             assertEquals("matthias", path.getSingle(Pop.tail, "d"));
+            ///
+            assertEquals("marko", path.getSingle(Pop.head, "b"));
+            assertEquals("stephen", path.getSingle(Pop.head, "a"));
+            assertEquals("matthias", path.getSingle(Pop.head, "c"));
+            assertEquals("matthias", path.getSingle(Pop.head, "d"));
         });
     }
 


[2/2] incubator-tinkerpop git commit: Merge branch 'master' into xmatch

Posted by ok...@apache.org.
Merge branch 'master' into xmatch


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

Branch: refs/heads/xmatch
Commit: 3103f4731d77954bde7fbbef5f2a1264dadbb6f6
Parents: 061ebed d49f409
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon Jun 15 08:15:35 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon Jun 15 08:15:35 2015 -0600

----------------------------------------------------------------------
 .../gremlin/process/traversal/Path.java         |  2 +-
 .../gremlin/process/traversal/Pop.java          |  6 ++++
 .../traversal/step/util/ImmutablePath.java      | 30 +++++++++-----------
 .../traversal/step/util/MutablePath.java        |  2 +-
 .../gremlin/process/traversal/PathTest.java     | 14 ++++-----
 5 files changed, 29 insertions(+), 25 deletions(-)
----------------------------------------------------------------------