Merge branch 'tp32' into tp33
Conflicts:
gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
gremlin-groovy/src/test/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2b4c993d
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2b4c993d
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2b4c993d
Branch: refs/heads/TINKERPOP-2053
Commit: 2b4c993ddd16a4554858d480103952374897
Parents: 1faf762 88d6f77
Author: Stephen Mallette
Authored: Wed Oct 3 16:09:06 2018 -0400
Committer: Stephen Mallette
Committed: Wed Oct 3 16:09:06 2018 -0400
--
CHANGELOG.asciidoc | 2 +
.../gremlin/jsr223/TranslatorCustomizer.java| 38
.../gremlin/process/traversal/Translator.java | 34 +++
.../jsr223/GremlinGroovyScriptEngine.java | 11 +-
.../gremlin/groovy/jsr223/GroovyTranslator.java | 34 ++-
.../groovy/jsr223/GroovyTranslatorTest.java | 215 +--
6 files changed, 309 insertions(+), 25 deletions(-)
--
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2b4c993d/CHANGELOG.asciidoc
--
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2b4c993d/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
--
diff --cc
gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
index 03ea883,b96b8b9..7785da6
---
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
+++
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
@@@ -222,19 -236,27 +224,20 @@@ public class GremlinGroovyScriptEngine
private final ImportGroovyCustomizer importGroovyCustomizer;
private final List groovyCustomizers;
-private final Set artifactsToUse = new HashSet<>();
private final boolean interpreterModeEnabled;
private final long expectedCompilationTime;
+ private final Translator.ScriptTranslator.TypeTranslator typeTranslator;
/**
- * Creates a new instance using the {@link
DefaultImportCustomizerProvider}.
+ * There is no need to require type checking infrastructure if type
checking is not enabled.
*/
-public GremlinGroovyScriptEngine() {
-this(new Customizer[0]);
-}
+private final boolean typeCheckingEnabled;
/**
- * @deprecated As of release 3.0.1, replaced by {@link
#GremlinGroovyScriptEngine(CompilerCustomizerProvider...)}
+ * Creates a new instance using no {@link Customizer}.
*/
-@Deprecated
-public GremlinGroovyScriptEngine(final ImportCustomizerProvider
importCustomizerProvider) {
-this((CompilerCustomizerProvider) importCustomizerProvider);
+public GremlinGroovyScriptEngine() {
+this(new Customizer[0]);
}
public GremlinGroovyScriptEngine(final Customizer... customizers) {
@@@ -273,6 -289,58 +276,12 @@@
interpreterModeEnabled = groovyCustomizers.stream()
.anyMatch(p ->
p.getClass().equals(InterpreterModeGroovyCustomizer.class));
+ final Optional translatorCustomizer =
listOfCustomizers.stream().
+ filter(p -> p instanceof TranslatorCustomizer).
+ map(p -> (TranslatorCustomizer) p).findFirst();
+ typeTranslator = translatorCustomizer.isPresent() ?
translatorCustomizer.get().createTypeTranslator() :
+ Translator.ScriptTranslator.TypeTranslator.identity();
+
-// not using the old provider model so set that to empty list so that
when createClassLoader is called
-// it knows to use groovyCustomizers instead
-customizerProviders = Collections.emptyList();
-
-createClassLoader();
-}
-
-/**
- * Creates a new instance with the specified {@link
CompilerCustomizerProvider} objects.
- *
- * @deprecated As of release 3.2.4, replaced by {@link
#GremlinGroovyScriptEngine(Customizer...)}.
- */
-@Deprecated
-public GremlinGroovyScriptEngine(final CompilerCustomizerProvider...
compilerCustomizerProviders) {
-final List providers =
Arrays.asList(compilerCustomizerProviders);
-
-GremlinLoader.load();
-
-importCustomizerProvider = providers.stream()
-.filter(p -> p instanceof ImportCustomizerProvider)
-.map(p -> (ImportCustomizerProvider) p)
-