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 2017/02/27 15:44:24 UTC

[1/2] tinkerpop git commit: Deprecated some old plugin infrastructure code

Repository: tinkerpop
Updated Branches:
  refs/heads/master 2e64a9521 -> 28b3139ed


Deprecated some old plugin infrastructure code

Moved PluggedIn out of plugins package as that package is basically being deleted in 3.3.0. CTR


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

Branch: refs/heads/master
Commit: ec8f81e687e086940a10d4d2e4ed0ee624bbaa7e
Parents: de38c6d
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Feb 27 10:43:19 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Feb 27 10:43:19 2017 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |   1 +
 .../tinkerpop/gremlin/console/Console.groovy    |   1 -
 .../tinkerpop/gremlin/console/Mediator.groovy   |   1 -
 .../tinkerpop/gremlin/console/PluggedIn.groovy  | 166 +++++++++++++++++++
 .../console/commands/InstallCommand.groovy      |   2 +-
 .../console/plugin/ConsolePluginAcceptor.groovy |   2 +
 .../gremlin/console/plugin/PluggedIn.groovy     |   2 +
 .../groovy/plugin/GremlinPluginAdapterTest.java |   2 +-
 .../jsr223/UtilitiesGremlinPluginTest.java      |   2 +-
 .../gremlin/jsr223/console/PluginAcceptor.java  |   2 +
 10 files changed, 176 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 34d74d4..7998974 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -28,6 +28,7 @@ TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET)
 
 * Removed `HasTest.g_V_hasId_compilationEquality` from process test suite as it makes too many assumptions about provider compilation.
 * Deprecated `CustomizerProvider` infrastructure.
+* Deprecated `PluginAcceptor` infrastructure.
 * Improved consistency of the application of bindings to `GremlinScriptEngine` implementations in the `BindingsGremlinPlugin`.
 * Fixed a bug in OLAP `ComputerAwareStep` where end-step labels were not being appended to the traverser correctly.
 * Refactor `SparkContext` handler to support external kill and stop operations.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
index be71cb0..651d6f3 100644
--- a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
+++ b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
@@ -28,7 +28,6 @@ import org.apache.tinkerpop.gremlin.console.commands.PluginCommand
 import org.apache.tinkerpop.gremlin.console.commands.RemoteCommand
 import org.apache.tinkerpop.gremlin.console.commands.SubmitCommand
 import org.apache.tinkerpop.gremlin.console.commands.UninstallCommand
-import org.apache.tinkerpop.gremlin.console.plugin.PluggedIn
 import org.apache.tinkerpop.gremlin.groovy.loaders.GremlinLoader
 import org.apache.tinkerpop.gremlin.groovy.plugin.GremlinPlugin
 import org.apache.tinkerpop.gremlin.jsr223.CoreGremlinPlugin

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Mediator.groovy
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Mediator.groovy b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Mediator.groovy
index 74f956d..2f5b827 100644
--- a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Mediator.groovy
+++ b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Mediator.groovy
@@ -18,7 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.console
 
-import org.apache.tinkerpop.gremlin.console.plugin.PluggedIn
 import org.apache.tinkerpop.gremlin.groovy.plugin.RemoteAcceptor
 
 /**

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/PluggedIn.groovy
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/PluggedIn.groovy b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/PluggedIn.groovy
new file mode 100644
index 0000000..a1e1ee7
--- /dev/null
+++ b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/PluggedIn.groovy
@@ -0,0 +1,166 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.gremlin.console
+
+import org.apache.tinkerpop.gremlin.console.plugin.ConsolePluginAcceptor
+import org.apache.tinkerpop.gremlin.groovy.plugin.*
+import org.apache.tinkerpop.gremlin.jsr223.BindingsCustomizer
+import org.apache.tinkerpop.gremlin.jsr223.ImportCustomizer
+import org.apache.tinkerpop.gremlin.jsr223.ScriptCustomizer
+import org.apache.tinkerpop.gremlin.jsr223.console.ConsoleCustomizer
+import org.apache.tinkerpop.gremlin.jsr223.console.GremlinShellEnvironment
+import org.codehaus.groovy.tools.shell.Groovysh
+import org.codehaus.groovy.tools.shell.IO
+
+/**
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+class PluggedIn {
+    private static final String LINE_SEPARATOR = System.getProperty("line.separator")
+    private final GremlinPlugin plugin
+    private boolean activated = false
+
+    private final Groovysh shell
+    private final IO io
+
+    public PluggedIn(final GremlinPlugin plugin, final Groovysh shell, final IO io, final boolean activated) {
+        this.plugin = plugin
+        this.activated = activated
+        this.shell = shell
+        this.io = io
+    }
+
+    GremlinPlugin getPlugin() {
+        return plugin
+    }
+
+    boolean getActivated() {
+        return activated
+    }
+
+    void activate() {
+        plugin.pluginTo(new ConsolePluginAcceptor(shell, io))
+        this.activated = true
+    }
+
+    void deactivate() {
+        this.activated = false
+    }
+
+    public static class GremlinPluginAdapter implements GremlinPlugin {
+        org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin corePlugin
+        private final Groovysh shell
+        private final IO io
+
+        public GremlinPluginAdapter(final org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin corePlugin, final Groovysh shell, final IO io) {
+            this.corePlugin = corePlugin
+            this.shell = shell
+            this.io = io
+        }
+
+        @Override
+        String getName() {
+            return corePlugin.getName()
+        }
+
+        @Override
+        void pluginTo(final PluginAcceptor pluginAcceptor) throws IllegalEnvironmentException, PluginInitializationException {
+            corePlugin.getCustomizers("gremlin-groovy").get().each {
+                if (it instanceof ImportCustomizer) {
+                    def imports = [] as Set
+                    it.getClassPackages().collect {Mediator.IMPORT_SPACE + it.getName() + Mediator.IMPORT_WILDCARD }.each { imports.add(it) }
+                    it.getMethodClasses().collect {Mediator.IMPORT_STATIC_SPACE + it.getCanonicalName() + Mediator.IMPORT_WILDCARD}.each {imports.add(it)}
+                    it.getEnumClasses().collect {Mediator.IMPORT_STATIC_SPACE + it.getCanonicalName() + Mediator.IMPORT_WILDCARD}.each {imports.add(it)}
+                    pluginAcceptor.addImports(imports)
+                } else if (it instanceof ScriptCustomizer) {
+                    it.getScripts().collect { it.join(LINE_SEPARATOR) }.each { pluginAcceptor.eval(it) }
+                } else if (it instanceof BindingsCustomizer) {
+                    it.bindings.entrySet().each { kv -> pluginAcceptor.addBinding(kv.key, kv.value) }
+                }
+            }
+        }
+
+        @Override
+        boolean requireRestart() {
+            return corePlugin.requireRestart()
+        }
+
+        @Override
+        Optional<RemoteAcceptor> remoteAcceptor() {
+            // find a consoleCustomizer if available
+            if (!corePlugin.getCustomizers("gremlin-groovy").isPresent() || !corePlugin.getCustomizers("gremlin-groovy").get().any{ it instanceof ConsoleCustomizer })
+                return Optional.empty()
+
+            ConsoleCustomizer customizer = (ConsoleCustomizer) corePlugin.getCustomizers("gremlin-groovy").get().find{ it instanceof ConsoleCustomizer }
+            return Optional.of(new RemoteAcceptorAdapter(customizer.getRemoteAcceptor(new GroovyGremlinShellEnvironment())))
+        }
+
+        public class GroovyGremlinShellEnvironment implements GremlinShellEnvironment {
+
+            @Override
+            def <T> T getVariable(final String variableName) {
+                return (T) shell.interp.context.getVariable(variableName)
+            }
+
+            @Override
+            def <T> void setVariable(final String variableName, final T variableValue) {
+                shell.interp.context.setVariable(variableName, variableValue)
+            }
+
+            @Override
+            void println(final String line) {
+                io.println(line)
+            }
+
+            @Override
+            def <T> T execute(final String line) {
+                return (T) shell.execute(line)
+            }
+        }
+    }
+
+    public static class RemoteAcceptorAdapter implements RemoteAcceptor {
+
+        private org.apache.tinkerpop.gremlin.jsr223.console.RemoteAcceptor remoteAcceptor
+
+        public RemoteAcceptorAdapter(org.apache.tinkerpop.gremlin.jsr223.console.RemoteAcceptor remoteAcceptor) {
+            this.remoteAcceptor = remoteAcceptor
+        }
+
+        @Override
+        Object connect(final List<String> args) throws RemoteException {
+            return remoteAcceptor.connect(args)
+        }
+
+        @Override
+        Object configure(final List<String> args) throws RemoteException {
+            return remoteAcceptor.configure(args)
+        }
+
+        @Override
+        Object submit(final List<String> args) throws RemoteException {
+            return remoteAcceptor.submit(args)
+        }
+
+        @Override
+        void close() throws IOException {
+            remoteAcceptor.close()
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/commands/InstallCommand.groovy
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/commands/InstallCommand.groovy b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/commands/InstallCommand.groovy
index c8a49df..5386e89 100644
--- a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/commands/InstallCommand.groovy
+++ b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/commands/InstallCommand.groovy
@@ -20,7 +20,7 @@ package org.apache.tinkerpop.gremlin.console.commands
 
 import org.apache.tinkerpop.gremlin.console.ConsoleFs
 import org.apache.tinkerpop.gremlin.console.Mediator
-import org.apache.tinkerpop.gremlin.console.plugin.PluggedIn
+import org.apache.tinkerpop.gremlin.console.PluggedIn
 import org.apache.tinkerpop.gremlin.groovy.plugin.GremlinPlugin
 import groovy.grape.Grape
 import org.apache.tinkerpop.gremlin.groovy.util.Artifact

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/ConsolePluginAcceptor.groovy
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/ConsolePluginAcceptor.groovy b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/ConsolePluginAcceptor.groovy
index b7ff7d4..bbb2dfd 100644
--- a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/ConsolePluginAcceptor.groovy
+++ b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/ConsolePluginAcceptor.groovy
@@ -25,7 +25,9 @@ import org.codehaus.groovy.tools.shell.IO
 
 /**
  * @author Stephen Mallette (http://stephen.genoprime.com)
+ * @deprecated As of release 3.2.5, not replaced.
  */
+@Deprecated
 class ConsolePluginAcceptor implements PluginAcceptor, org.apache.tinkerpop.gremlin.jsr223.console.PluginAcceptor {
 
     public static final String ENVIRONMENT_NAME = "console";

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/PluggedIn.groovy
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/PluggedIn.groovy b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/PluggedIn.groovy
index 3012caf..a4afb28 100644
--- a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/PluggedIn.groovy
+++ b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/plugin/PluggedIn.groovy
@@ -35,7 +35,9 @@ import org.codehaus.groovy.tools.shell.IO
 
 /**
  * @author Stephen Mallette (http://stephen.genoprime.com)
+ * @deprecated As of release 3.2.5, replaced by {@link org.apache.tinkerpop.gremlin.console.PluggedIn}
  */
+@Deprecated
 class PluggedIn {
     private static final String LINE_SEPARATOR = System.getProperty("line.separator")
     private final GremlinPlugin plugin

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/GremlinPluginAdapterTest.java
----------------------------------------------------------------------
diff --git a/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/GremlinPluginAdapterTest.java b/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/GremlinPluginAdapterTest.java
index dfc9006..fb8f990 100644
--- a/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/GremlinPluginAdapterTest.java
+++ b/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/GremlinPluginAdapterTest.java
@@ -19,7 +19,7 @@
 package org.apache.tinkerpop.gremlin.console.groovy.plugin;
 
 import org.apache.tinkerpop.gremlin.TestHelper;
-import org.apache.tinkerpop.gremlin.console.plugin.PluggedIn;
+import org.apache.tinkerpop.gremlin.console.PluggedIn;
 import org.apache.tinkerpop.gremlin.jsr223.BindingsCustomizer;
 import org.apache.tinkerpop.gremlin.jsr223.Customizer;
 import org.apache.tinkerpop.gremlin.jsr223.DefaultBindingsCustomizer;

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/jsr223/UtilitiesGremlinPluginTest.java
----------------------------------------------------------------------
diff --git a/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/jsr223/UtilitiesGremlinPluginTest.java b/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/jsr223/UtilitiesGremlinPluginTest.java
index abecf8c..65b2ee0 100644
--- a/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/jsr223/UtilitiesGremlinPluginTest.java
+++ b/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/jsr223/UtilitiesGremlinPluginTest.java
@@ -20,7 +20,7 @@ package org.apache.tinkerpop.gremlin.console.jsr223;
 
 import org.apache.commons.io.input.NullInputStream;
 import org.apache.tinkerpop.gremlin.console.plugin.ConsolePluginAcceptor;
-import org.apache.tinkerpop.gremlin.console.plugin.PluggedIn;
+import org.apache.tinkerpop.gremlin.console.PluggedIn;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerFactory;
 import org.codehaus.groovy.tools.shell.Groovysh;
 import org.codehaus.groovy.tools.shell.IO;

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec8f81e6/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/console/PluginAcceptor.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/console/PluginAcceptor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/console/PluginAcceptor.java
index ce8b913..cd6951b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/console/PluginAcceptor.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/console/PluginAcceptor.java
@@ -31,7 +31,9 @@ import java.util.Set;
  * and provides the abstractions required for a plugin to work regardless of the environmental implementations.
  *
  * @author Stephen Mallette (http://stephen.genoprime.com)
+ * @deprecated As of release 3.2.5, not replaced.
  */
+@Deprecated
 public interface PluginAcceptor {
 
     public void addImports(final Set<String> importStatements);


[2/2] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


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

Branch: refs/heads/master
Commit: 28b3139ed21f8b31e84eddf724610bf3662c5118
Parents: 2e64a95 ec8f81e
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Feb 27 10:44:13 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Feb 27 10:44:13 2017 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |   1 +
 .../tinkerpop/gremlin/console/Console.groovy    |   1 -
 .../tinkerpop/gremlin/console/Mediator.groovy   |   1 -
 .../tinkerpop/gremlin/console/PluggedIn.groovy  | 166 +++++++++++++++++++
 .../console/commands/InstallCommand.groovy      |   2 +-
 .../console/plugin/ConsolePluginAcceptor.groovy |   2 +
 .../gremlin/console/plugin/PluggedIn.groovy     |   2 +
 .../groovy/plugin/GremlinPluginAdapterTest.java |   2 +-
 .../jsr223/UtilitiesGremlinPluginTest.java      |   2 +-
 .../gremlin/jsr223/console/PluginAcceptor.java  |   2 +
 10 files changed, 176 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28b3139e/CHANGELOG.asciidoc
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28b3139e/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
----------------------------------------------------------------------