You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/07/12 20:57:43 UTC

[1/2] tinkerpop git commit: Add a shortcut method to getting ScriptEngine from SingleGremlinScriptEngineManager.

Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1278 dec5caf05 -> 26b8556f6


Add a shortcut method to getting ScriptEngine from SingleGremlinScriptEngineManager.


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

Branch: refs/heads/TINKERPOP-1278
Commit: 46958f2e66486c2171c97849f25e5ce9909e514e
Parents: dec5caf
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Jul 12 12:39:39 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Jul 12 12:39:39 2016 -0400

----------------------------------------------------------------------
 .../jsr223/SingleGremlinScriptEngineManager.java | 10 ++++++++++
 .../CachedGremlinScriptEngineManagerTest.java    | 19 ++++++++++++++-----
 2 files changed, 24 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/46958f2e/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/SingleGremlinScriptEngineManager.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/SingleGremlinScriptEngineManager.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/SingleGremlinScriptEngineManager.java
index be8fb87..e18ec37 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/SingleGremlinScriptEngineManager.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/SingleGremlinScriptEngineManager.java
@@ -19,6 +19,8 @@
 package org.apache.tinkerpop.gremlin.jsr223;
 
 /**
+ * Provides static access to a {@link CachedGremlinScriptEngineManager} instance.
+ *
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */
 public class SingleGremlinScriptEngineManager {
@@ -29,4 +31,12 @@ public class SingleGremlinScriptEngineManager {
     public static GremlinScriptEngineManager getInstance(){
         return cached;
     }
+
+    /**
+     * Delegates calls to the {@link CachedGremlinScriptEngineManager} instance ensuring that the same instance
+     * is returned for each {@code ScriptEngine} requested.
+     */
+    public static GremlinScriptEngine get(final String scriptEngineName) {
+        return cached.getEngineByName(scriptEngineName);
+    }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/46958f2e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CachedGremlinScriptEngineManagerTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CachedGremlinScriptEngineManagerTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CachedGremlinScriptEngineManagerTest.java
index e32cf85..5dbeffd 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CachedGremlinScriptEngineManagerTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CachedGremlinScriptEngineManagerTest.java
@@ -20,8 +20,12 @@ package org.apache.tinkerpop.gremlin.jsr223;
 
 import org.junit.Test;
 
+import java.util.HashSet;
+import java.util.Set;
+import java.util.stream.IntStream;
+
 import static org.apache.tinkerpop.gremlin.jsr223.GremlinScriptEngineSuite.ENGINE_TO_TEST;
-import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertEquals;
 
 /**
  * @author Stephen Mallette (http://stephen.genoprime.com)
@@ -31,10 +35,15 @@ public class CachedGremlinScriptEngineManagerTest {
 
     @Test
     public void shouldBeSameInstance() {
-        final GremlinScriptEngine engineFirst = manager.getEngineByName(ENGINE_TO_TEST);
-        final GremlinScriptEngine engineSecond = manager.getEngineByName(ENGINE_TO_TEST);
+        final Set<GremlinScriptEngine> scriptEngines = new HashSet<>();
+        IntStream.range(0,100).forEach(i -> scriptEngines.add(manager.getEngineByName(ENGINE_TO_TEST)));
+        assertEquals(1, scriptEngines.size());
+    }
 
-        assertSame(engineFirst, engineSecond);
-        assertSame(engineSecond, engineFirst);
+    @Test
+    public void shouldBeSameInstanceInSingleManager() {
+        final Set<GremlinScriptEngine> scriptEngines = new HashSet<>();
+        IntStream.range(0,100).forEach(i -> scriptEngines.add(SingleGremlinScriptEngineManager.get(ENGINE_TO_TEST)));
+        assertEquals(1, scriptEngines.size());
     }
 }


[2/2] tinkerpop git commit: Undeprecated ScriptEngineCache

Posted by sp...@apache.org.
Undeprecated ScriptEngineCache

We tend to use vanilla non-Gremlin-enabled ScriptEngine instances for various things and since the GremlinScriptEngineManager only loads Gremlin-enabled ones we can't use it for everything. I still dont' wonder if ScriptEngineCache can't go away, but it's not gonna happen today.


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

Branch: refs/heads/TINKERPOP-1278
Commit: 26b8556f69958159ee7bd90c904ca093e697b6f8
Parents: 46958f2
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Jul 12 16:56:08 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Jul 12 16:56:08 2016 -0400

----------------------------------------------------------------------
 .../strategy/creation/TranslationStrategy.java          |  4 ++--
 .../gremlin/process/traversal/util/ScriptTraversal.java |  4 ++--
 .../process/traversal/util/TraversalScriptFunction.java |  4 ++--
 .../tinkerpop/gremlin/util/ScriptEngineCache.java       | 12 +++++++-----
 .../gremlin/util/function/ScriptEngineLambda.java       |  4 ++--
 .../java/translator/PythonTranslatorProvider.java       |  5 +----
 .../java/translator/groovy/PythonGroovyTranslator.java  |  3 +--
 .../java/translator/jython/PythonJythonTranslator.java  |  3 +--
 .../gremlin/python/driver/RESTRemoteConnectionTest.java |  3 +--
 .../gremlin/python/jsr223/JythonScriptEngineSetup.java  |  3 +--
 10 files changed, 20 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/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 b290af0..98f549d 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
@@ -19,6 +19,7 @@
 
 package org.apache.tinkerpop.gremlin.process.traversal.strategy.creation;
 
+import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 import org.apache.tinkerpop.gremlin.process.remote.RemoteGraph;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
@@ -28,7 +29,6 @@ import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
 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.TraversalHelper;
-import org.apache.tinkerpop.gremlin.util.ScriptEngineCache;
 
 import javax.script.Bindings;
 import javax.script.ScriptContext;
@@ -64,7 +64,7 @@ public class TranslationStrategy extends AbstractTraversalStrategy<TraversalStra
         } else if (this.translator instanceof Translator.ScriptTranslator) {
             try {
                 // script based translation
-                final ScriptEngine scriptEngine = ScriptEngineCache.get(this.translator.getTargetLanguage());
+                final ScriptEngine scriptEngine = SingleGremlinScriptEngineManager.get(this.translator.getTargetLanguage());
                 final Bindings bindings = scriptEngine.createBindings();
                 scriptEngine.getContext().getBindings(ScriptContext.ENGINE_SCOPE).forEach(bindings::put);
                 bindings.put(this.translator.getTraversalSource().toString(), this.traversalSource);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/ScriptTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/ScriptTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/ScriptTraversal.java
index 236ff80..d1933ad 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/ScriptTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/ScriptTraversal.java
@@ -19,13 +19,13 @@
 
 package org.apache.tinkerpop.gremlin.process.traversal.util;
 
+import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 import org.apache.tinkerpop.gremlin.process.remote.traversal.strategy.decoration.RemoteStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.creation.TranslationStrategy;
-import org.apache.tinkerpop.gremlin.util.ScriptEngineCache;
 
 import javax.script.Bindings;
 import javax.script.ScriptEngine;
@@ -77,7 +77,7 @@ public final class ScriptTraversal<S, E> extends DefaultTraversal<S, E> {
     public void applyStrategies() throws IllegalStateException {
         try {
             assert 0 == this.getSteps().size();
-            final ScriptEngine engine = ScriptEngineCache.get(this.scriptEngine);
+            final ScriptEngine engine = SingleGremlinScriptEngineManager.get(this.scriptEngine);
             final Bindings engineBindings = engine.createBindings();
             final List<TraversalStrategy<?>> strategyList = this.getStrategies().toList();
             engineBindings.put(this.alias, this.factory.createTraversalSource(this.graph).withStrategies(strategyList.toArray(new TraversalStrategy[strategyList.size()])));

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptFunction.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptFunction.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptFunction.java
index 03e3521..fcd5408 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptFunction.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptFunction.java
@@ -18,10 +18,10 @@
  */
 package org.apache.tinkerpop.gremlin.process.traversal.util;
 
+import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.util.ScriptEngineCache;
 
 import javax.script.Bindings;
 import javax.script.ScriptEngine;
@@ -51,7 +51,7 @@ public final class TraversalScriptFunction<S, E> implements Function<Graph, Trav
 
     public Traversal.Admin<S, E> apply(final Graph graph) {
         try {
-            final ScriptEngine engine = ScriptEngineCache.get(this.scriptEngineName);
+            final ScriptEngine engine = SingleGremlinScriptEngineManager.get(this.scriptEngineName);
             final Bindings engineBindings = engine.createBindings();
             engineBindings.put("g", this.traversalSourceFactory.createTraversalSource(graph));
             for (int i = 0; i < this.bindings.length; i = i + 2) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/ScriptEngineCache.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/ScriptEngineCache.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/ScriptEngineCache.java
index 9e942d9..1ce7d05 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/ScriptEngineCache.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/ScriptEngineCache.java
@@ -18,8 +18,7 @@
  */
 package org.apache.tinkerpop.gremlin.util;
 
-import org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager;
-import org.apache.tinkerpop.gremlin.jsr223.GremlinScriptEngineManager;
+import org.apache.tinkerpop.gremlin.jsr223.GremlinScriptEngine;
 import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 
 import javax.script.ScriptEngine;
@@ -28,17 +27,20 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
+ * A cache of standard {@code ScriptEngine} instances, instantiated by the standard {@code ScriptEngineManager}.
+ * These instances are not "Gremlin-enabled". See {@link SingleGremlinScriptEngineManager} for the analogous class
+ * that loads {@link GremlinScriptEngine} instances.
+ *
  * @author Daniel Kuppitz (http://gremlin.guru)
- * @deprecated As of release 3.3.0, replaced by {@link SingleGremlinScriptEngineManager}.
+ * @author Stephen Mallette (http://stephen.genoprime.com)
  */
-@Deprecated
 public final class ScriptEngineCache {
 
     private ScriptEngineCache() {}
 
     public final static String DEFAULT_SCRIPT_ENGINE = "gremlin-groovy";
 
-    private final static GremlinScriptEngineManager SCRIPT_ENGINE_MANAGER = new DefaultGremlinScriptEngineManager();
+    private final static ScriptEngineManager SCRIPT_ENGINE_MANAGER = new ScriptEngineManager();
     private final static Map<String, ScriptEngine> CACHED_ENGINES = new ConcurrentHashMap<>();
 
     public static ScriptEngine get(final String engineName) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/ScriptEngineLambda.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/ScriptEngineLambda.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/ScriptEngineLambda.java
index 20a622c..046d833 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/ScriptEngineLambda.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/ScriptEngineLambda.java
@@ -18,7 +18,7 @@
  */
 package org.apache.tinkerpop.gremlin.util.function;
 
-import org.apache.tinkerpop.gremlin.util.ScriptEngineCache;
+import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 
 import javax.script.Bindings;
 import javax.script.ScriptEngine;
@@ -43,7 +43,7 @@ public final class ScriptEngineLambda implements Function, Supplier, Consumer, P
     protected final String script;
 
     public ScriptEngineLambda(final String engineName, final String script) {
-        this.engine = ScriptEngineCache.get(engineName);
+        this.engine = SingleGremlinScriptEngineManager.get(engineName);
         this.script = script;
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/PythonTranslatorProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/PythonTranslatorProvider.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/PythonTranslatorProvider.java
index 985e8bc..8b3ff5c 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/PythonTranslatorProvider.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/PythonTranslatorProvider.java
@@ -22,14 +22,11 @@ package org.apache.tinkerpop.gremlin.java.translator;
 import org.apache.commons.configuration.Configuration;
 import org.apache.tinkerpop.gremlin.AbstractGraphProvider;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalInterruptionComputerTest;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalInterruptionTest;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProgramTest;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ElementIdStrategyProcessTest;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.EventStrategyProcessTest;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.PartitionStrategyProcessTest;
 import org.apache.tinkerpop.gremlin.python.jsr223.JythonScriptEngineSetup;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;
@@ -139,7 +136,7 @@ public abstract class PythonTranslatorProvider extends AbstractGraphProvider {
             //throw new VerificationException("This test current does not work with Gremlin-Python", EmptyTraversal.instance());
         else {
             try {
-                SingleGremlinScriptEngineManager.getInstance().getEngineByName("gremlin-jython").eval(IMPORT_STATICS ?
+                ScriptEngineCache.get("jython").eval(IMPORT_STATICS ?
                         "statics.load_statics(globals())" :
                         "statics.unload_statics(globals())");
             } catch (final ScriptException e) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/groovy/PythonGroovyTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/groovy/PythonGroovyTranslator.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/groovy/PythonGroovyTranslator.java
index eb11f7e..cd2c85c 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/groovy/PythonGroovyTranslator.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/groovy/PythonGroovyTranslator.java
@@ -20,7 +20,6 @@
 package org.apache.tinkerpop.gremlin.java.translator.groovy;
 
 import org.apache.tinkerpop.gremlin.java.translator.PythonTranslator;
-import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
 import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 import org.apache.tinkerpop.gremlin.util.ScriptEngineCache;
@@ -55,7 +54,7 @@ public class PythonGroovyTranslator extends PythonTranslator {
     public String translate(final Bytecode bytecode) {
         final String traversal = super.translate(bytecode);
         try {
-            final ScriptEngine jythonEngine = SingleGremlinScriptEngineManager.getInstance().getEngineByName("gremlin-jython");
+            final ScriptEngine jythonEngine = ScriptEngineCache.get("jython");
             jythonEngine.getBindings(ScriptContext.ENGINE_SCOPE)
                     .put(this.traversalSource, jythonEngine.eval("RemoteGraph(GroovyTranslator(\"" + this.traversalSource + "\"), None).traversal()"));
             return jythonEngine.eval(traversal).toString();

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/jython/PythonJythonTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/jython/PythonJythonTranslator.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/jython/PythonJythonTranslator.java
index 0b7d5b8..6637a2b 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/jython/PythonJythonTranslator.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/java/translator/jython/PythonJythonTranslator.java
@@ -20,7 +20,6 @@
 package org.apache.tinkerpop.gremlin.java.translator.jython;
 
 import org.apache.tinkerpop.gremlin.java.translator.PythonTranslator;
-import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
 import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 import org.apache.tinkerpop.gremlin.util.ScriptEngineCache;
@@ -55,7 +54,7 @@ public class PythonJythonTranslator extends PythonTranslator {
     public String translate(final Bytecode bytecode) {
         final String traversal = super.translate(bytecode);
         try {
-            final ScriptEngine jythonEngine = SingleGremlinScriptEngineManager.getInstance().getEngineByName("gremlin-jython");
+            final ScriptEngine jythonEngine = ScriptEngineCache.get("jython");
             jythonEngine.getBindings(ScriptContext.ENGINE_SCOPE)
                     .put(this.traversalSource, jythonEngine.eval("RemoteGraph(JythonTranslator(\"" + this.traversalSource + "\"), None).traversal()"));
             return jythonEngine.eval(traversal).toString();

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/driver/RESTRemoteConnectionTest.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/driver/RESTRemoteConnectionTest.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/driver/RESTRemoteConnectionTest.java
index 056c1a6..640e5ef 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/driver/RESTRemoteConnectionTest.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/driver/RESTRemoteConnectionTest.java
@@ -19,7 +19,6 @@
 
 package org.apache.tinkerpop.gremlin.python.driver;
 
-import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 import org.apache.tinkerpop.gremlin.python.jsr223.JythonScriptEngineSetup;
 import org.apache.tinkerpop.gremlin.server.GremlinServer;
 import org.apache.tinkerpop.gremlin.server.Settings;
@@ -41,7 +40,7 @@ import static org.junit.Assert.assertTrue;
  */
 public class RESTRemoteConnectionTest {
 
-    private static final ScriptEngine jython = SingleGremlinScriptEngineManager.getInstance().getEngineByName("gremlin-jython");
+    private static final ScriptEngine jython = ScriptEngineCache.get("jython");
 
     private final List<String> aliases = Arrays.asList("g", "j");
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b8556f/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonScriptEngineSetup.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonScriptEngineSetup.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonScriptEngineSetup.java
index abe9dc9..8fe0c72 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonScriptEngineSetup.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonScriptEngineSetup.java
@@ -19,7 +19,6 @@
 
 package org.apache.tinkerpop.gremlin.python.jsr223;
 
-import org.apache.tinkerpop.gremlin.jsr223.SingleGremlinScriptEngineManager;
 import org.apache.tinkerpop.gremlin.util.ScriptEngineCache;
 
 import javax.script.ScriptEngine;
@@ -35,7 +34,7 @@ public class JythonScriptEngineSetup {
 
     public static void setup() {
         try {
-            final ScriptEngine jythonEngine = SingleGremlinScriptEngineManager.getInstance().getEngineByName("gremlin-jython");
+            final ScriptEngine jythonEngine = ScriptEngineCache.get("jython");
             jythonEngine.eval("import gremlin_python.statics");
             jythonEngine.eval("from gremlin_python.process.traversal import *");
             jythonEngine.eval("from gremlin_python.process.graph_traversal import *");