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";
}