This is an automated email from the ASF dual-hosted git repository. okram pushed a commit to branch tp4 in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/tp4 by this push: new 01afbf7 added language/data with TMap, TVertex, TEdge, TKV, TElement interfaces. Moved Traversal stuff to languages/gremlin. This will need to be moved to a newproject called language (like we have machine). 01afbf7 is described below commit 01afbf72754afe7433a0ca87c1834085fddf1452 Author: Marko A. Rodriguez <okramma...@gmail.com> AuthorDate: Sun Mar 17 14:50:01 2019 -0600 added language/data with TMap, TVertex, TEdge, TKV, TElement interfaces. Moved Traversal stuff to languages/gremlin. This will need to be moved to a newproject called language (like we have machine). --- .../{TraversalUtil.java => data/TEdge.java} | 19 ++++++++++--------- .../language/{Gremlin.java => data/TElement.java} | 10 +++++----- .../language/{Gremlin.java => data/TKV.java} | 10 +++++----- .../language/{Gremlin.java => data/TMap.java} | 19 ++++++++++++++----- .../{TraversalUtil.java => data/TVertex.java} | 21 +++++++++++++-------- .../tinkerpop/language/{ => gremlin}/Gremlin.java | 2 +- .../tinkerpop/language/{ => gremlin}/Traversal.java | 2 +- .../language/{ => gremlin}/TraversalSource.java | 2 +- .../language/{ => gremlin}/TraversalUtil.java | 2 +- .../apache/tinkerpop/language/{ => gremlin}/__.java | 2 +- .../org/apache/tinkerpop/machine/beam/BeamTest.java | 14 +++++++------- .../beam/functions/TraversalSourceLibrary.java | 4 ++-- .../apache/tinkerpop/machine/pipes/PipesTest.java | 12 ++++++------ .../pipes/function/TraversalSourceLibrary.java | 4 ++-- 14 files changed, 69 insertions(+), 54 deletions(-) diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/TraversalUtil.java b/java/core/src/main/java/org/apache/tinkerpop/language/data/TEdge.java similarity index 70% copy from java/core/src/main/java/org/apache/tinkerpop/language/TraversalUtil.java copy to java/core/src/main/java/org/apache/tinkerpop/language/data/TEdge.java index 758fb47..b5e37d2 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/TraversalUtil.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/data/TEdge.java @@ -16,21 +16,22 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.data; -import org.apache.tinkerpop.machine.bytecode.Bytecode; +import org.apache.tinkerpop.util.IteratorUtils; + +import java.util.Iterator; /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ -public final class TraversalUtil { +public interface TEdge<V> extends TElement<V> { - private TraversalUtil() { - // do nothing - } + public TVertex<V> inVertex(); - public static <C> Bytecode<C> getBytecode(final Traversal<C, ?, ?> traversal) { - return traversal.bytecode; - } + public TVertex<V> outVertex(); + public default Iterator<TVertex<V>> bothVertices() { + return IteratorUtils.of(this.inVertex(), this.outVertex()); + } } diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java b/java/core/src/main/java/org/apache/tinkerpop/language/data/TElement.java similarity index 83% copy from java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java copy to java/core/src/main/java/org/apache/tinkerpop/language/data/TElement.java index 2f29245..6b056cc 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/data/TElement.java @@ -16,14 +16,14 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.data; /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ -public final class Gremlin { +public interface TElement<V> extends TMap<String, V> { - public static <C> TraversalSource<C> traversal() { - return new TraversalSource<>(); - } + public String label(); + + public Object id(); } diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java b/java/core/src/main/java/org/apache/tinkerpop/language/data/TKV.java similarity index 83% copy from java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java copy to java/core/src/main/java/org/apache/tinkerpop/language/data/TKV.java index 2f29245..62bc553 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/data/TKV.java @@ -16,14 +16,14 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.data; /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ -public final class Gremlin { +public interface TKV<K, V> { - public static <C> TraversalSource<C> traversal() { - return new TraversalSource<>(); - } + public K key(); + + public V value(); } diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java b/java/core/src/main/java/org/apache/tinkerpop/language/data/TMap.java similarity index 74% copy from java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java copy to java/core/src/main/java/org/apache/tinkerpop/language/data/TMap.java index 2f29245..67facfa 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/data/TMap.java @@ -16,14 +16,23 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.data; + +import java.util.Iterator; /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ -public final class Gremlin { +public interface TMap<K, V> { + + public void set(final K key, final V value); + + public V get(final K key); + + public Iterator<K> keys(); + + public Iterator<V> values(); + + public Iterator<TKV<K, V>> entries(); - public static <C> TraversalSource<C> traversal() { - return new TraversalSource<>(); - } } diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/TraversalUtil.java b/java/core/src/main/java/org/apache/tinkerpop/language/data/TVertex.java similarity index 64% copy from java/core/src/main/java/org/apache/tinkerpop/language/TraversalUtil.java copy to java/core/src/main/java/org/apache/tinkerpop/language/data/TVertex.java index 758fb47..a4201b4 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/TraversalUtil.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/data/TVertex.java @@ -16,21 +16,26 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.data; -import org.apache.tinkerpop.machine.bytecode.Bytecode; +import org.apache.tinkerpop.util.MultiIterator; + +import java.util.Iterator; /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ -public final class TraversalUtil { +public interface TVertex<V> extends TElement<V> { - private TraversalUtil() { - // do nothing - } + public Iterator<TEdge<V>> inEdges(); + + public Iterator<TEdge<V>> outEdges(); - public static <C> Bytecode<C> getBytecode(final Traversal<C, ?, ?> traversal) { - return traversal.bytecode; + public default Iterator<TEdge<V>> bothEdges() { + final MultiIterator<TEdge<V>> iterator = new MultiIterator<>(); + iterator.addIterator(this.inEdges()); + iterator.addIterator(this.outEdges()); + return iterator; } } diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/Gremlin.java similarity index 95% rename from java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java rename to java/core/src/main/java/org/apache/tinkerpop/language/gremlin/Gremlin.java index 2f29245..fdd4981 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/Gremlin.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/Gremlin.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.gremlin; /** * @author Marko A. Rodriguez (http://markorodriguez.com) diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/Traversal.java b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/Traversal.java similarity index 99% rename from java/core/src/main/java/org/apache/tinkerpop/language/Traversal.java rename to java/core/src/main/java/org/apache/tinkerpop/language/gremlin/Traversal.java index 59e24ea..2a787af 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/Traversal.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/Traversal.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.gremlin; import org.apache.tinkerpop.machine.bytecode.Bytecode; import org.apache.tinkerpop.machine.bytecode.BytecodeUtil; diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/TraversalSource.java b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/TraversalSource.java similarity index 98% rename from java/core/src/main/java/org/apache/tinkerpop/language/TraversalSource.java rename to java/core/src/main/java/org/apache/tinkerpop/language/gremlin/TraversalSource.java index 2e37fce..7e7933f 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/TraversalSource.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/TraversalSource.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.gremlin; import org.apache.tinkerpop.machine.bytecode.Bytecode; import org.apache.tinkerpop.machine.bytecode.Symbols; diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/TraversalUtil.java b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/TraversalUtil.java similarity index 96% rename from java/core/src/main/java/org/apache/tinkerpop/language/TraversalUtil.java rename to java/core/src/main/java/org/apache/tinkerpop/language/gremlin/TraversalUtil.java index 758fb47..612b8fc 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/TraversalUtil.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/TraversalUtil.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.gremlin; import org.apache.tinkerpop.machine.bytecode.Bytecode; diff --git a/java/core/src/main/java/org/apache/tinkerpop/language/__.java b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/__.java similarity index 97% rename from java/core/src/main/java/org/apache/tinkerpop/language/__.java rename to java/core/src/main/java/org/apache/tinkerpop/language/gremlin/__.java index d20fe67..1084f0f 100644 --- a/java/core/src/main/java/org/apache/tinkerpop/language/__.java +++ b/java/core/src/main/java/org/apache/tinkerpop/language/gremlin/__.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tinkerpop.language; +package org.apache.tinkerpop.language.gremlin; import org.apache.tinkerpop.machine.bytecode.Bytecode; diff --git a/java/machine/beam/src/test/java/org/apache/tinkerpop/machine/beam/BeamTest.java b/java/machine/beam/src/test/java/org/apache/tinkerpop/machine/beam/BeamTest.java index 6b15bb6..75c203a 100644 --- a/java/machine/beam/src/test/java/org/apache/tinkerpop/machine/beam/BeamTest.java +++ b/java/machine/beam/src/test/java/org/apache/tinkerpop/machine/beam/BeamTest.java @@ -18,18 +18,18 @@ */ package org.apache.tinkerpop.machine.beam; -import org.apache.tinkerpop.language.Gremlin; -import org.apache.tinkerpop.language.Traversal; -import org.apache.tinkerpop.language.TraversalSource; -import org.apache.tinkerpop.language.TraversalUtil; -import org.apache.tinkerpop.language.__; +import org.apache.tinkerpop.language.gremlin.Gremlin; +import org.apache.tinkerpop.language.gremlin.Traversal; +import org.apache.tinkerpop.language.gremlin.TraversalSource; +import org.apache.tinkerpop.language.gremlin.TraversalUtil; +import org.apache.tinkerpop.language.gremlin.__; import org.apache.tinkerpop.machine.strategy.IdentityStrategy; import org.junit.jupiter.api.Test; import java.util.Arrays; -import static org.apache.tinkerpop.language.__.incr; -import static org.apache.tinkerpop.language.__.is; +import static org.apache.tinkerpop.language.gremlin.__.incr; +import static org.apache.tinkerpop.language.gremlin.__.is; /** * @author Marko A. Rodriguez (http://markorodriguez.com) diff --git a/java/machine/beam/src/test/java/org/apache/tinkerpop/machine/beam/functions/TraversalSourceLibrary.java b/java/machine/beam/src/test/java/org/apache/tinkerpop/machine/beam/functions/TraversalSourceLibrary.java index 870ef6d..63acc87 100644 --- a/java/machine/beam/src/test/java/org/apache/tinkerpop/machine/beam/functions/TraversalSourceLibrary.java +++ b/java/machine/beam/src/test/java/org/apache/tinkerpop/machine/beam/functions/TraversalSourceLibrary.java @@ -18,8 +18,8 @@ */ package org.apache.tinkerpop.machine.beam.functions; -import org.apache.tinkerpop.language.Gremlin; -import org.apache.tinkerpop.language.TraversalSource; +import org.apache.tinkerpop.language.gremlin.Gremlin; +import org.apache.tinkerpop.language.gremlin.TraversalSource; import org.apache.tinkerpop.machine.beam.BeamProcessor; import org.apache.tinkerpop.machine.coefficient.LongCoefficient; import org.apache.tinkerpop.machine.strategy.IdentityStrategy; diff --git a/java/machine/pipes/src/test/java/org/apache/tinkerpop/machine/pipes/PipesTest.java b/java/machine/pipes/src/test/java/org/apache/tinkerpop/machine/pipes/PipesTest.java index 50901ff..e6b1a59 100644 --- a/java/machine/pipes/src/test/java/org/apache/tinkerpop/machine/pipes/PipesTest.java +++ b/java/machine/pipes/src/test/java/org/apache/tinkerpop/machine/pipes/PipesTest.java @@ -18,11 +18,11 @@ */ package org.apache.tinkerpop.machine.pipes; -import org.apache.tinkerpop.language.Gremlin; -import org.apache.tinkerpop.language.Traversal; -import org.apache.tinkerpop.language.TraversalSource; -import org.apache.tinkerpop.language.TraversalUtil; -import org.apache.tinkerpop.language.__; +import org.apache.tinkerpop.language.gremlin.Gremlin; +import org.apache.tinkerpop.language.gremlin.Traversal; +import org.apache.tinkerpop.language.gremlin.TraversalSource; +import org.apache.tinkerpop.language.gremlin.TraversalUtil; +import org.apache.tinkerpop.language.gremlin.__; import org.apache.tinkerpop.machine.coefficient.LongCoefficient; import org.apache.tinkerpop.machine.strategy.IdentityStrategy; import org.junit.jupiter.api.Test; @@ -31,7 +31,7 @@ import java.util.Arrays; import java.util.List; import java.util.Map; -import static org.apache.tinkerpop.language.__.incr; +import static org.apache.tinkerpop.language.gremlin.__.incr; import static org.apache.tinkerpop.machine.bytecode.Symbols.Tokens.inner; /** diff --git a/java/machine/pipes/src/test/java/org/apache/tinkerpop/machine/pipes/function/TraversalSourceLibrary.java b/java/machine/pipes/src/test/java/org/apache/tinkerpop/machine/pipes/function/TraversalSourceLibrary.java index 091fcb0..96b65b2 100644 --- a/java/machine/pipes/src/test/java/org/apache/tinkerpop/machine/pipes/function/TraversalSourceLibrary.java +++ b/java/machine/pipes/src/test/java/org/apache/tinkerpop/machine/pipes/function/TraversalSourceLibrary.java @@ -18,8 +18,8 @@ */ package org.apache.tinkerpop.machine.pipes.function; -import org.apache.tinkerpop.language.Gremlin; -import org.apache.tinkerpop.language.TraversalSource; +import org.apache.tinkerpop.language.gremlin.Gremlin; +import org.apache.tinkerpop.language.gremlin.TraversalSource; import org.apache.tinkerpop.machine.coefficient.LongCoefficient; import org.apache.tinkerpop.machine.pipes.PipesProcessor; import org.apache.tinkerpop.machine.strategy.IdentityStrategy;