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 2016/11/04 12:10:02 UTC
[1/4] tinkerpop git commit: UnfoldStep now handles array unfolding.
Repository: tinkerpop
Updated Branches:
refs/heads/master 9c8709276 -> 154474464
UnfoldStep now handles array unfolding.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/1ffcbfbf
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/1ffcbfbf
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/1ffcbfbf
Branch: refs/heads/master
Commit: 1ffcbfbf62cc382883b35934f8fbf751455b0fb7
Parents: ce1099d
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Nov 1 12:15:04 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Nov 1 12:15:04 2016 -0600
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../process/traversal/step/map/UnfoldStep.java | 3 +++
.../traversal/step/map/UnfoldStepTest.java | 19 +++++++++++++++++++
3 files changed, 23 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1ffcbfbf/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 344cb51..75ec065 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* `UnfoldStep` now supports unfolding of arrays. (*breaking*)
* Removed all performance tests that were not part of `gremlin-benchmark`.
* Removed dependency on `junit-benchmarks` and it's related reference to `h2`.
* Moved the source for the "home page" into the repository under `/site` so that it easier to accept contributions.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1ffcbfbf/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
index 382815e..2fcc490 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequirement;
+import org.apache.tinkerpop.gremlin.util.iterator.ArrayIterator;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
import java.util.Collections;
@@ -46,6 +47,8 @@ public final class UnfoldStep<S, E> extends FlatMapStep<S, E> {
return ((Iterable) s).iterator();
else if (s instanceof Map)
return ((Map) s).entrySet().iterator();
+ else if (s.getClass().isArray())
+ return new ArrayIterator((Object[])s);
else
return IteratorUtils.of((E) s);
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1ffcbfbf/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java
index aa7cf3d..46c9450 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java
@@ -21,10 +21,14 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.process.traversal.step.StepTest;
+import org.junit.Test;
import java.util.Collections;
import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
/**
* @author Daniel Kuppitz (http://gremlin.guru)
*/
@@ -34,4 +38,19 @@ public class UnfoldStepTest extends StepTest {
protected List<Traversal> getTraversals() {
return Collections.singletonList(__.unfold());
}
+
+ @Test
+ public void shouldSupportArrayIteration() {
+ final Traversal<String[], String> t1 = __.<String[]>inject(new String[]{"a", "b", "c"}).unfold();
+ assertEquals("a", t1.next());
+ assertEquals("b", t1.next());
+ assertEquals("c", t1.next());
+ assertFalse(t1.hasNext());
+ //
+ final Traversal<Object[], Object> t2 = __.<Object[]>inject(new Object[]{"a", "b", 3}).unfold();
+ assertEquals("a", t2.next());
+ assertEquals("b", t2.next());
+ assertEquals(3, t2.next());
+ assertFalse(t2.hasNext());
+ }
}
[2/4] tinkerpop git commit: support for primitive array unfolding.
Wow -- Java sucks. cc/ @twilmes.
Posted by ok...@apache.org.
support for primitive array unfolding. Wow -- Java sucks. cc/ @twilmes.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b0b65582
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b0b65582
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b0b65582
Branch: refs/heads/master
Commit: b0b65582d0a0d644b15fc61da64c103288d36841
Parents: 1ffcbfb
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Nov 1 15:44:53 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Nov 1 15:44:53 2016 -0600
----------------------------------------------------------------------
.../process/traversal/step/map/UnfoldStep.java | 15 ++++++++++++++-
.../process/traversal/step/map/UnfoldStepTest.java | 9 +++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b0b65582/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
index 2fcc490..c96f414 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
@@ -24,6 +24,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequire
import org.apache.tinkerpop.gremlin.util.iterator.ArrayIterator;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
+import java.lang.reflect.Array;
import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
@@ -48,7 +49,7 @@ public final class UnfoldStep<S, E> extends FlatMapStep<S, E> {
else if (s instanceof Map)
return ((Map) s).entrySet().iterator();
else if (s.getClass().isArray())
- return new ArrayIterator((Object[])s);
+ return handleArrays(s);
else
return IteratorUtils.of((E) s);
}
@@ -57,4 +58,16 @@ public final class UnfoldStep<S, E> extends FlatMapStep<S, E> {
public Set<TraverserRequirement> getRequirements() {
return Collections.singleton(TraverserRequirement.OBJECT);
}
+
+ private final Iterator<E> handleArrays(Object obj) {
+ if (obj instanceof Object[]) {
+ return new ArrayIterator<>((E[]) obj);
+ } else {
+ int len = Array.getLength(obj);
+ final Object[] out = new Object[len];
+ for (int i = 0; i < len; i++)
+ out[i] = Array.get(obj, i);
+ return new ArrayIterator<>((E[]) out);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b0b65582/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java
index 46c9450..6179c42 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStepTest.java
@@ -52,5 +52,14 @@ public class UnfoldStepTest extends StepTest {
assertEquals("b", t2.next());
assertEquals(3, t2.next());
assertFalse(t2.hasNext());
+ //
+ final Traversal<Object[], Object> t3 = __.<Object[]>inject(new Object[]{0, 1, 2, new int[]{3, 4}}).unfold().unfold();
+ assertEquals(0, t3.next());
+ assertEquals(1, t3.next());
+ assertEquals(2, t3.next());
+ assertEquals(3, t3.next());
+ assertEquals(4, t3.next());
+ assertFalse(t3.hasNext());
+
}
}
[4/4] tinkerpop git commit: Merge branch 'TINKERPOP-1211'
Posted by ok...@apache.org.
Merge branch 'TINKERPOP-1211'
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/15447446
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/15447446
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/15447446
Branch: refs/heads/master
Commit: 15447446440f314e7880fe89fed13ed06c09f7e8
Parents: 9c87092 0108533
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Fri Nov 4 06:09:56 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Fri Nov 4 06:09:56 2016 -0600
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../process/traversal/step/map/UnfoldStep.java | 16 +++++++++++
.../traversal/step/map/UnfoldStepTest.java | 28 ++++++++++++++++++++
3 files changed, 45 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/15447446/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 1c9eaa6,75ec065..50a942c
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -26,13 -26,7 +26,14 @@@ image::https://raw.githubusercontent.co
TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Removed previously deprecated `Console` constructor that took a `String` as an argument from `gremlin-console`.
+* Removed previously deprecated `ConcurrentBindings` from `gremlin-groovy`.
+* Removed previously deprecated `ScriptExecutor` from `gremlin-groovy`.
+* Removed previously deprecated `SandboxExtension` from `gremlin-groovy`.
+* Removed previously deprecated `GremlinGroovyScriptEngine` constructor that took `ImportCustomizerProvider` as an argument from `gremlin-groovy`.
+* Removed previously deprecated `GremlinGroovyScriptEngine#plugins()` from `gremlin-groovy`.
+* Added `OptionalStep` for use with `optional()` to better handle issues associated with branch side-effects.
+ * `UnfoldStep` now supports unfolding of arrays. (*breaking*)
* Removed all performance tests that were not part of `gremlin-benchmark`.
* Removed dependency on `junit-benchmarks` and it's related reference to `h2`.
* Moved the source for the "home page" into the repository under `/site` so that it easier to accept contributions.
[3/4] tinkerpop git commit: minor nothings -- final and better
argument name.
Posted by ok...@apache.org.
minor nothings -- final and better argument name.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/01085339
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/01085339
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/01085339
Branch: refs/heads/master
Commit: 01085339877e1931f66cff3a2b358513e7c09c15
Parents: b0b6558
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Nov 1 15:46:49 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Nov 1 15:46:49 2016 -0600
----------------------------------------------------------------------
.../process/traversal/step/map/UnfoldStep.java | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/01085339/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
index c96f414..cb4164c 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/UnfoldStep.java
@@ -59,15 +59,15 @@ public final class UnfoldStep<S, E> extends FlatMapStep<S, E> {
return Collections.singleton(TraverserRequirement.OBJECT);
}
- private final Iterator<E> handleArrays(Object obj) {
- if (obj instanceof Object[]) {
- return new ArrayIterator<>((E[]) obj);
+ private final Iterator<E> handleArrays(final Object array) {
+ if (array instanceof Object[]) {
+ return new ArrayIterator<>((E[]) array);
} else {
- int len = Array.getLength(obj);
- final Object[] out = new Object[len];
+ int len = Array.getLength(array);
+ final Object[] objectArray = new Object[len];
for (int i = 0; i < len; i++)
- out[i] = Array.get(obj, i);
- return new ArrayIterator<>((E[]) out);
+ objectArray[i] = Array.get(array, i);
+ return new ArrayIterator<>((E[]) objectArray);
}
}
}