Sessions were not constucting GremlinExecutor with new plugin system CTR

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

Branch: refs/heads/TINKERPOP-1612
Commit: d08a68f32c4ad497b6dbbdad5ae916cb659ff019
Parents: 470c656
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Jan 24 15:11:50 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Jan 24 15:11:50 2017 -0500

----------------------------------------------------------------------
 .../gremlin/server/op/session/Session.java         | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d08a68f3/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/Session.java
----------------------------------------------------------------------
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/Session.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/Session.java
index 8f4da66..9b16a3b 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/Session.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/Session.java
@@ -228,11 +228,18 @@ public class Session {
                 .scheduledExecutorService(scheduledExecutorService);
 
         settings.scriptEngines.forEach((k, v) -> {
-            // make sure that server related classes are available at init - 
not really necessary here because
-            // lifecycle hooks are not executed per session, but there should 
be some consistency .... i guess
-            v.imports.add(LifeCycleHook.class.getCanonicalName());
-            v.imports.add(LifeCycleHook.Context.class.getCanonicalName());
-            gremlinExecutorBuilder.addEngineSettings(k, v.imports, 
v.staticImports, v.scripts, v.config);
+            // use plugins if they are present and the old approach if not
+            if (v.plugins.isEmpty()) {
+                // make sure that server related classes are available at init 
- ultimately this body of code will be
+                // deleted when deprecation is removed
+                v.imports.add(LifeCycleHook.class.getCanonicalName());
+                v.imports.add(LifeCycleHook.Context.class.getCanonicalName());
+                gremlinExecutorBuilder.addEngineSettings(k, v.imports, 
v.staticImports, v.scripts, v.config);
+            } else {
+                // make sure that server related classes are available at init 
- new approach. the LifeCycleHook stuff
+                // will be added explicitly via configuration using 
GremlinServerGremlinModule in the yaml
+                gremlinExecutorBuilder.addPlugins(k, v.plugins);
+            }
         });
 
         return gremlinExecutorBuilder;

Reply via email to