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/06/21 00:05:38 UTC

tinkerpop git commit: Python translators now have source/targetLanguage fields like Java translators. sourceLanguage = hostLanguage -- targetLanguage = executionLanguage. Updated docs to reflect this new terminology.

Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1278 e10c87474 -> 712619430


Python translators now have source/targetLanguage fields like Java translators. sourceLanguage = hostLanguage -- targetLanguage = executionLanguage. Updated docs to reflect this new terminology.


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

Branch: refs/heads/TINKERPOP-1278
Commit: 71261943092d04a6cc14627249c9822513064894
Parents: e10c874
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon Jun 20 18:05:34 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon Jun 20 18:05:34 2016 -0600

----------------------------------------------------------------------
 docs/src/reference/gremlin-variants.asciidoc              |  4 ++--
 .../traversal/strategy/creation/TranslationStrategy.java  |  8 +-------
 .../gremlin/process/traversal/util/Translator.java        |  4 ++--
 .../tinkerpop/gremlin/structure/util/StringFactory.java   |  2 +-
 .../apache/tinkerpop/gremlin/groovy/GroovyTranslator.java |  4 ++--
 .../gremlin/python/GremlinPythonGenerator.groovy          |  2 +-
 .../apache/tinkerpop/gremlin/python/PythonTranslator.java |  4 ++--
 .../src/main/jython/gremlin_driver/gremlin_driver.py      |  2 +-
 .../src/main/jython/gremlin_python/gremlin_python.py      |  2 +-
 .../src/main/jython/gremlin_python/groovy_translator.py   | 10 +++++-----
 .../src/main/jython/gremlin_python/translator.py          |  7 ++++---
 .../jython/gremlin_rest_driver/gremlin_rest_driver.py     |  4 ++--
 .../tinkerpop/gremlin/python/PythonBypassTranslator.java  |  2 +-
 13 files changed, 25 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/docs/src/reference/gremlin-variants.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-variants.asciidoc b/docs/src/reference/gremlin-variants.asciidoc
index 218a391..2d1a09d 100644
--- a/docs/src/reference/gremlin-variants.asciidoc
+++ b/docs/src/reference/gremlin-variants.asciidoc
@@ -37,8 +37,8 @@ with Apache TinkerPop. For information on how to build a Gremlin language varian
 please review the link:http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/[Gremlin Language Variants]
 tutorial.
 
-NOTE: The language that Gremlin is embedded in is called the *host language* and the language that a translator translates
-to for evaluation is called the *execution language*.
+NOTE: The host language is called the *source language* and the translator will translate Gremlin traversals into a
+*target language* for execution.
 
 [[gremlin-python]]
 Gremlin-Python

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/creation/TranslationStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/creation/TranslationStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/creation/TranslationStrategy.java
index 465bf5d..1a407ff 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/creation/TranslationStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/creation/TranslationStrategy.java
@@ -22,23 +22,17 @@ package org.apache.tinkerpop.gremlin.process.traversal.strategy.creation;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
-import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategies;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.EmptyStep;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.util.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
-import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
 import org.apache.tinkerpop.gremlin.util.ScriptEngineCache;
 
 import javax.script.Bindings;
 import javax.script.ScriptEngine;
 import javax.script.SimpleBindings;
 import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.util.function.Function;
 
 /**
@@ -64,7 +58,7 @@ public class TranslationStrategy extends AbstractTraversalStrategy<TraversalStra
             return;
         try {
             final String traversalScriptString = this.translator.getTraversalScript();
-            ScriptEngine engine = ScriptEngineCache.get(this.translator.getExecutionLanguage());
+            ScriptEngine engine = ScriptEngineCache.get(this.translator.getTargetLanguage());
             this.destroyAnonymousTraversalFunction();
             final Bindings bindings = new SimpleBindings();
             bindings.put(this.translator.getAlias(), this.traversalSource);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/Translator.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/Translator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/Translator.java
index 62bf718..83fb242 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/Translator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/Translator.java
@@ -45,7 +45,7 @@ public interface Translator extends Cloneable {
 
     public Translator clone();
 
-    public String getHostLanguage();
+    public String getSourceLanguage();
 
-    public String getExecutionLanguage();
+    public String getTargetLanguage();
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java
index 902d8e6..393bec9 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java
@@ -179,7 +179,7 @@ public final class StringFactory {
     }
 
     public static String translatorString(final Translator translator) {
-        return "translator[" + translator.getAlias() + ":" + translator.getHostLanguage() + "->" + translator.getExecutionLanguage() + "]";
+        return "translator[" + translator.getAlias() + ":" + translator.getSourceLanguage() + "->" + translator.getTargetLanguage() + "]";
     }
 
     public static String vertexProgramString(final VertexProgram vertexProgram, final String internalString) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyTranslator.java b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyTranslator.java
index e4b8f9c..9841479 100644
--- a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyTranslator.java
+++ b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyTranslator.java
@@ -56,12 +56,12 @@ public final class GroovyTranslator implements Translator {
     }
 
     @Override
-    public String getHostLanguage() {
+    public String getSourceLanguage() {
         return "gremlin-java";
     }
 
     @Override
-    public String getExecutionLanguage() {
+    public String getTargetLanguage() {
         return "gremlin-groovy";
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/python/GremlinPythonGenerator.groovy
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/python/GremlinPythonGenerator.groovy b/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/python/GremlinPythonGenerator.groovy
index 412edf2..9e79739 100644
--- a/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/python/GremlinPythonGenerator.groovy
+++ b/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/python/GremlinPythonGenerator.groovy
@@ -163,7 +163,7 @@ globalTranslator = None
     return list(iter(self))
   def next(self):
      if self.results is None:
-        self.results = self.remote_connection.submit(self.translator.script_engine, self.translator.traversal_script, self.bindings)
+        self.results = self.remote_connection.submit(self.translator.target_language, self.translator.traversal_script, self.bindings)
      if self.last_traverser is None:
          self.last_traverser = next(self.results)
      object = self.last_traverser.object

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-variant/src/main/java/org/apache/tinkerpop/gremlin/python/PythonTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/java/org/apache/tinkerpop/gremlin/python/PythonTranslator.java b/gremlin-variant/src/main/java/org/apache/tinkerpop/gremlin/python/PythonTranslator.java
index a2db887..479d3af 100644
--- a/gremlin-variant/src/main/java/org/apache/tinkerpop/gremlin/python/PythonTranslator.java
+++ b/gremlin-variant/src/main/java/org/apache/tinkerpop/gremlin/python/PythonTranslator.java
@@ -85,12 +85,12 @@ public class PythonTranslator implements Translator {
     }
 
     @Override
-    public String getHostLanguage() {
+    public String getSourceLanguage() {
         return "gremlin-java";
     }
 
     @Override
-    public String getExecutionLanguage() {
+    public String getTargetLanguage() {
         return "jython";
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-variant/src/main/jython/gremlin_driver/gremlin_driver.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_driver/gremlin_driver.py b/gremlin-variant/src/main/jython/gremlin_driver/gremlin_driver.py
index 55b6a31..96939d4 100644
--- a/gremlin-variant/src/main/jython/gremlin_driver/gremlin_driver.py
+++ b/gremlin-variant/src/main/jython/gremlin_driver/gremlin_driver.py
@@ -34,6 +34,6 @@ class RemoteConnection(object):
         self.url = url
 
     @abstractmethod
-    def submit(self, script_engine, script, bindings):
+    def submit(self, target_language, script, bindings):
         print "sending " + script + " to GremlinServer..."
         return iter([])

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py b/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py
index 9b6427f..ab478d0 100644
--- a/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py
+++ b/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py
@@ -168,7 +168,7 @@ class PythonGraphTraversal(object):
     return list(iter(self))
   def next(self):
      if self.results is None:
-        self.results = self.remote_connection.submit(self.translator.script_engine, self.translator.traversal_script, self.bindings)
+        self.results = self.remote_connection.submit(self.translator.target_language, self.translator.traversal_script, self.bindings)
      if self.last_traverser is None:
          self.last_traverser = next(self.results)
      object = self.last_traverser.object

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-variant/src/main/jython/gremlin_python/groovy_translator.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_python/groovy_translator.py b/gremlin-variant/src/main/jython/gremlin_python/groovy_translator.py
index 4dad600..2cd60be 100644
--- a/gremlin-variant/src/main/jython/gremlin_python/groovy_translator.py
+++ b/gremlin-variant/src/main/jython/gremlin_python/groovy_translator.py
@@ -37,29 +37,29 @@ enumMap = {"Cardinality": "VertexProperty.Cardinality", "Barrier": "SackFunction
 
 
 class GroovyTranslator(Translator):
-    def __init__(self, alias, script_engine="gremlin-groovy"):
-        Translator.__init__(self, alias, script_engine)
+    def __init__(self, alias, source_language="python", target_language="gremlin-groovy"):
+        Translator.__init__(self, alias, source_language, target_language)
 
     def addStep(self, traversal, step_name, *args):
         self.traversal_script = self.traversal_script + "." + GroovyTranslator.mapMethod(
             step_name) + "(" + GroovyTranslator.stringify(*args) + ")"
 
     def addSpawnStep(self, traversal, step_name, *args):
-        newTranslator = GroovyTranslator(self.alias, self.script_engine)
+        newTranslator = GroovyTranslator(self.alias, self.source_language)
         newTranslator.traversal_script = self.traversal_script
         newTranslator.traversal_script = newTranslator.traversal_script + "." + GroovyTranslator.mapMethod(
             step_name) + "(" + GroovyTranslator.stringify(*args) + ")"
         traversal.translator = newTranslator
 
     def addSource(self, traversal_source, source_name, *args):
-        newTranslator = GroovyTranslator(self.alias, self.script_engine)
+        newTranslator = GroovyTranslator(self.alias, self.source_language)
         newTranslator.traversal_script = self.traversal_script
         newTranslator.traversal_script = newTranslator.traversal_script + "." + GroovyTranslator.mapMethod(
             source_name) + "(" + GroovyTranslator.stringify(*args) + ")"
         traversal_source.translator = newTranslator
 
     def getAnonymousTraversalTranslator(self):
-        return GroovyTranslator("__", self.script_engine)
+        return GroovyTranslator("__", self.source_language)
 
     ### HELPER METHODS ###
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-variant/src/main/jython/gremlin_python/translator.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_python/translator.py b/gremlin-variant/src/main/jython/gremlin_python/translator.py
index 9a90176..bf3a83a 100644
--- a/gremlin-variant/src/main/jython/gremlin_python/translator.py
+++ b/gremlin-variant/src/main/jython/gremlin_python/translator.py
@@ -22,9 +22,10 @@ __author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
 
 
 class Translator(object):
-    def __init__(self, alias, script_engine):
+    def __init__(self, alias, source_language, target_language):
         self.alias = alias
-        self.script_engine = script_engine
+        self.source_language = source_language
+        self.target_language = target_language
         self.traversal_script = alias
 
     @abstractmethod
@@ -41,4 +42,4 @@ class Translator(object):
 
     @abstractmethod
     def getAnonymousTraversalTranslator(self):
-        return Translator(self.alias, self.script_engine)
+        return Translator(self.alias, self.source_language, self.target_language)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-variant/src/main/jython/gremlin_rest_driver/gremlin_rest_driver.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_rest_driver/gremlin_rest_driver.py b/gremlin-variant/src/main/jython/gremlin_rest_driver/gremlin_rest_driver.py
index 7474d4a..b265752 100644
--- a/gremlin-variant/src/main/jython/gremlin_rest_driver/gremlin_rest_driver.py
+++ b/gremlin-variant/src/main/jython/gremlin_rest_driver/gremlin_rest_driver.py
@@ -31,8 +31,8 @@ class RESTRemoteConnection(RemoteConnection):
     def __repr__(self):
         return "RESTRemoteConnection[" + self.url + "]"
 
-    def submit(self, script_engine, script, bindings):
-        response = requests.post(self.url, data=json.dumps({"gremlin": script, "language": script_engine, "bindings": bindings}))
+    def submit(self, target_language, script, bindings):
+        response = requests.post(self.url, data=json.dumps({"gremlin": script, "language": target_language, "bindings": bindings}))
         if response.status_code != requests.codes.ok:
             raise BaseException(response.text)
         results = []

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/71261943/gremlin-variant/src/test/java/org/apache/tinkerpop/gremlin/python/PythonBypassTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/test/java/org/apache/tinkerpop/gremlin/python/PythonBypassTranslator.java b/gremlin-variant/src/test/java/org/apache/tinkerpop/gremlin/python/PythonBypassTranslator.java
index a3b11bc..71ef97f 100644
--- a/gremlin-variant/src/test/java/org/apache/tinkerpop/gremlin/python/PythonBypassTranslator.java
+++ b/gremlin-variant/src/test/java/org/apache/tinkerpop/gremlin/python/PythonBypassTranslator.java
@@ -60,7 +60,7 @@ class PythonBypassTranslator extends PythonTranslator {
     }
 
     @Override
-    public String getExecutionLanguage() {
+    public String getTargetLanguage() {
         return "gremlin-groovy";
     }