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(-)
----------------------------------------------------------------------