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;

Reply via email to