[7/7] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-03 Thread spmallette
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/tp33
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)
 -.findFirst().orElse(NoImportCustomizerProvider

[7/7] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-08-22 Thread spmallette
Merge branch 'tp32' into tp33


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

Branch: refs/heads/tp33
Commit: 65820569f9eb47f8435699d2308bbedc94306b7b
Parents: a8931d5 6a6959a
Author: Stephen Mallette 
Authored: Wed Aug 22 16:17:23 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Aug 22 16:17:23 2018 -0400

--

--




[7/7] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-03-14 Thread spmallette
Merge branch 'tp32' into tp33

Conflicts:

gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java


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

Branch: refs/heads/tp33
Commit: 0c6459d992f7c643e433e3482d676c7096288438
Parents: 9bd4d7f 1ea01ad
Author: Stephen Mallette 
Authored: Wed Mar 14 08:14:54 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Mar 14 08:14:54 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 .../jsr223/GremlinJythonScriptEngine.java   |  7 +--
 .../gremlin/python/jsr223/JythonTranslator.java | 28 +
 .../gremlin/python/jsr223/PythonTranslator.java | 35 ++-
 .../python/jsr223/JythonTranslatorTest.java | 63 
 5 files changed, 89 insertions(+), 45 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0c6459d9/CHANGELOG.asciidoc
--
diff --cc CHANGELOG.asciidoc
index bbae529,94ee24f..a5aac3d
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -283,9 -32,9 +283,10 @@@ image::https://raw.githubusercontent.co
  * Bumped to Jackson 2.9.4.
  * Improved performance of `JavaTranslator` by caching reflected methods 
required for traversal construction.
  * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server 
that enables a "ping" and auto-close for seemingly dead clients.
+ * Fixed a bug where lambdas in `gremlin-python` would trigger a failure if 
steps using python-only symbols were present (such as `as_()`).
  * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers 
exceeded the Integer limits.
  * Delayed setting of the request identifier until `RequestMessage` 
construction by the builder.
 +* `ReferenceElement` avoids `UnsupportedOperationException` handling in 
construction thus improving performance.
  * Improved error messaging for failed serialization and deserialization of 
request/response messages.
  * Fixed handling of `Direction.BOTH` in `Messenger` implementations to pass 
the message to the opposite side of the `StarGraph`.
  * Removed hardcoded expectation in metrics serialization test suite as 
different providers may have different outputs.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0c6459d9/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0c6459d9/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
--
diff --cc 
gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
index 568ca03,d8c73f0..b453cd7
--- 
a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
+++ 
b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
@@@ -107,14 -110,15 +108,14 @@@ public class PythonTranslator implement
  for (final Bytecode.Instruction instruction : 
bytecode.getInstructions()) {
  final String methodName = instruction.getOperator();
  final Object[] arguments = instruction.getArguments();
 -if (IS_TESTING &&
 -
instruction.getOperator().equals(TraversalSource.Symbols.withStrategies) &&
 -
instruction.getArguments()[0].toString().contains("TranslationStrategy"))
 -continue;
 -else if (0 == arguments.length)
 +if (0 == arguments.length)
- 
traversalScript.append(".").append(SymbolHelper.toPython(methodName)).append("()");
- else if (methodName.equals("range") && 2 == arguments.length && 
((Number) arguments[0]).intValue() != 0) {
+ 
traversalScript.append(".").append(resolveSymbol(methodName)).append("()");
+ else if (methodName.equals("range") && 2 == arguments.length)
 -
traversalScript.append("[").append(arguments[0]).append(":").append(arguments[1]).append("]");
 +if (((Number) arguments[0]).longValue() + 1 == ((Number) 
arguments[1]).longValue())
 +
traversalScript.append("[").append(arguments[0]).append("]");
 +else
 +
traversalScript.append("[").append(arguments[0]).append(":").append(arguments[1]).append("]");
- } else if (methodName.equals("limit") && 1 == arguments.length)
+ else if (me