[3/5] tinkerpop git commit: TINKERPOP-2040 Provide improved type handling for GroovyTranslator

2018-10-03 Thread spmallette
TINKERPOP-2040 Provide improved type handling for GroovyTranslator

Refactored testing and added support for UUID, Date, Timestamp as well as a 
method to override standard type handling.


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

Branch: refs/heads/tp32
Commit: 774371dc38d2d73be142eaa69c958226ac660892
Parents: 0403156
Author: Stephen Mallette 
Authored: Thu Sep 20 11:53:07 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../gremlin/process/traversal/Translator.java   |  34 
 .../groovy/jsr223/GroovyTranslatorTest.java | 162 +++
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  32 +++-
 3 files changed, 195 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/774371dc/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
index 7e97fb3..0346092 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
@@ -19,6 +19,8 @@
 
 package org.apache.tinkerpop.gremlin.process.traversal;
 
+import java.util.function.UnaryOperator;
+
 /**
  * A Translator will translate {@link Bytecode} into another representation. 
That representation may be a
  * Java instance via {@link StepTranslator} or a String script in some 
language via {@link ScriptTranslator}.
@@ -55,10 +57,42 @@ public interface Translator {
 
 ///
 
+/**
+ * Translates bytecode to a string representation.
+ */
 public interface ScriptTranslator extends Translator {
 
+/**
+ * Provides a way to customize and override the standard translation 
process. A {@link ScriptTranslator}
+ * implementation can choose to expose a way to accept a {@code 
TypeTranslator} which will convert an incoming
+ * object to a different form which will then be normally processed or 
can return a {@link Handled} object
+ * with the already translated script.
+ */
+public interface TypeTranslator extends UnaryOperator {
+public static TypeTranslator identity() {
+return t -> t;
+}
+}
+
+/**
+ * Contains a completed type translation from the {@link 
TypeTranslator}.
+ */
+public class Handled {
+private final String translation;
+
+public Handled(final String translation) {
+this.translation = translation;
+}
+
+public String getTranslation() {
+return translation;
+}
+}
 }
 
+/**
+ * Translates bytecode to actual steps.
+ */
 public interface StepTranslator> extends Translator {
 
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/774371dc/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 942f1a5..686c7bd 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,7 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -32,47 +33,56 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.Transl
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import 

[1/5] tinkerpop git commit: TINKERPOP-2040 Updated changelog

2018-10-03 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp32 fcbce509f -> 88d6f7786


TINKERPOP-2040 Updated changelog


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

Branch: refs/heads/tp32
Commit: 92c74c3d7ffc25b234187ef2459f8d3d529ac8db
Parents: e5c2e9c
Author: Stephen Mallette 
Authored: Mon Oct 1 09:12:30 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 CHANGELOG.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/92c74c3d/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 6d9770f..9160d09 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -37,6 +37,8 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
+* Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
+* Improved ability of `GroovyTranslator` to handle custom types.
 * Added better internal processing of `Column` in `by(Function)`.
 * Added `hasNext()` support on `Traversal` for `gremlin-python`.
 * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.



[2/5] tinkerpop git commit: TINKERPOP-2040 Hooked up Customizer for TypeTranslator

2018-10-03 Thread spmallette
TINKERPOP-2040 Hooked up Customizer for TypeTranslator

Enables the Groovy GremlinScriptEngine to use custom TypeTranslators


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

Branch: refs/heads/tp32
Commit: e5c2e9cdc18751e755a21add02a75261c169cf32
Parents: 67e2ee8
Author: Stephen Mallette 
Authored: Tue Sep 25 17:29:49 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../gremlin/jsr223/TranslatorCustomizer.java| 38 
 .../groovy/jsr223/GroovyTranslatorTest.java | 23 +++-
 .../jsr223/GremlinGroovyScriptEngine.java   | 15 ++--
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  8 ++---
 4 files changed, 76 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5c2e9cd/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
new file mode 100644
index 000..4468255
--- /dev/null
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
@@ -0,0 +1,38 @@
+/*
+ * 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.jsr223;
+
+import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
+import org.apache.tinkerpop.gremlin.process.traversal.Translator;
+
+/**
+ * Provides a way to customize and override {@link Bytecode} to script 
translation. Not all {@link GremlinScriptEngine}
+ * will support this capability as translation is optional.
+ *
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+public interface TranslatorCustomizer extends Customizer {
+
+/**
+ * Construct a {@link Translator.ScriptTranslator.TypeTranslator} that 
will be used by a
+ * {@link Translator.ScriptTranslator} instance within the {@link 
GremlinScriptEngine} to translate
+ * {@link Bytecode} to a script.
+ */
+public Translator.ScriptTranslator.TypeTranslator createTypeTranslator();
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5c2e9cd/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index c224642..1622d3d 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,7 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.jsr223.TranslatorCustomizer;
 import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
@@ -59,9 +60,11 @@ import java.util.List;
 import java.util.UUID;
 import java.util.function.Function;
 
+import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
 /**
@@ -224,7 +227,7 @@ public class GroovyTranslatorTest extends 

[2/7] tinkerpop git commit: TINKERPOP-2040 Added more tests to cover more GraphSON types

2018-10-03 Thread spmallette
TINKERPOP-2040 Added more tests to cover more GraphSON types


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

Branch: refs/heads/tp33
Commit: 67e2ee85dd8048ca21a72889cf8a0218f2add081
Parents: 774371d
Author: Stephen Mallette 
Authored: Tue Sep 25 13:46:38 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../groovy/jsr223/GroovyTranslatorTest.java | 30 
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  4 +++
 2 files changed, 34 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e2ee85/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 686c7bd..c224642 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,9 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.Order;
+import org.apache.tinkerpop.gremlin.process.traversal.Pop;
+import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
@@ -31,6 +34,8 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.TranslationStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
+import org.apache.tinkerpop.gremlin.structure.Column;
+import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
@@ -185,6 +190,31 @@ public class GroovyTranslatorTest extends 
AbstractGremlinTest {
 }
 
 @Test
+public void shouldHandleColumn() {
+assertTranslation("Column.keys", Column.keys);
+}
+
+@Test
+public void shouldHandleDirection() {
+assertTranslation("Direction.BOTH", Direction.BOTH);
+}
+
+@Test
+public void shouldHandleOrder() {
+assertTranslation("Order.decr", Order.decr);
+}
+
+@Test
+public void shouldHandlePop() {
+assertTranslation("Pop.last", Pop.last);
+}
+
+@Test
+public void shouldHandleScope() {
+assertTranslation("Scope.local", Scope.local);
+}
+
+@Test
 public void shouldOverrideDefaultTypeTranslationWithSomethingBonkers() {
 final String thingToSuffixAllStringsWith = "-why-would-anyone-do-this";
 final String script = GroovyTranslator.of("g", x -> x instanceof 
String ? x + thingToSuffixAllStringsWith : x).

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e2ee85/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
--
diff --git 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
index 1d122c6..9cd7791 100644
--- 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
+++ 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
@@ -22,7 +22,9 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import groovy.json.StringEscapeUtils;
 import org.apache.commons.configuration.ConfigurationConverter;
 import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
+import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.P;
+import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions;
 

[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)
 -

[5/7] tinkerpop git commit: Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp32

2018-10-03 Thread spmallette
Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into 
tp32


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

Branch: refs/heads/tp33
Commit: fcbce509fc2957bae74ef585875dd872322a9b21
Parents: b440742 76c9aba
Author: Florian Hockmann 
Authored: Wed Oct 3 12:33:23 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:33:23 2018 +0200

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




[4/7] tinkerpop git commit: TINKERPOP-2040 Hooked up Customizer for TypeTranslator

2018-10-03 Thread spmallette
TINKERPOP-2040 Hooked up Customizer for TypeTranslator

Enables the Groovy GremlinScriptEngine to use custom TypeTranslators


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

Branch: refs/heads/tp33
Commit: e5c2e9cdc18751e755a21add02a75261c169cf32
Parents: 67e2ee8
Author: Stephen Mallette 
Authored: Tue Sep 25 17:29:49 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../gremlin/jsr223/TranslatorCustomizer.java| 38 
 .../groovy/jsr223/GroovyTranslatorTest.java | 23 +++-
 .../jsr223/GremlinGroovyScriptEngine.java   | 15 ++--
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  8 ++---
 4 files changed, 76 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5c2e9cd/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
new file mode 100644
index 000..4468255
--- /dev/null
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
@@ -0,0 +1,38 @@
+/*
+ * 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.jsr223;
+
+import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
+import org.apache.tinkerpop.gremlin.process.traversal.Translator;
+
+/**
+ * Provides a way to customize and override {@link Bytecode} to script 
translation. Not all {@link GremlinScriptEngine}
+ * will support this capability as translation is optional.
+ *
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+public interface TranslatorCustomizer extends Customizer {
+
+/**
+ * Construct a {@link Translator.ScriptTranslator.TypeTranslator} that 
will be used by a
+ * {@link Translator.ScriptTranslator} instance within the {@link 
GremlinScriptEngine} to translate
+ * {@link Bytecode} to a script.
+ */
+public Translator.ScriptTranslator.TypeTranslator createTypeTranslator();
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5c2e9cd/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index c224642..1622d3d 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,7 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.jsr223.TranslatorCustomizer;
 import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
@@ -59,9 +60,11 @@ import java.util.List;
 import java.util.UUID;
 import java.util.function.Function;
 
+import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
 /**
@@ -224,7 +227,7 @@ public class GroovyTranslatorTest extends 

[5/5] tinkerpop git commit: Merge branch 'TINKERPOP-2040' into tp32

2018-10-03 Thread spmallette
Merge branch 'TINKERPOP-2040' into tp32


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

Branch: refs/heads/tp32
Commit: 88d6f778694e6c65ddde6fdcc18948327e01914a
Parents: fcbce50 92c74c3
Author: Stephen Mallette 
Authored: Wed Oct 3 15:28:58 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 15:28:58 2018 -0400

--
 CHANGELOG.asciidoc  |   2 +
 .../gremlin/jsr223/TranslatorCustomizer.java|  38 
 .../gremlin/process/traversal/Translator.java   |  34 +++
 .../groovy/jsr223/GroovyTranslatorTest.java | 213 ---
 .../jsr223/GremlinGroovyScriptEngine.java   |  15 +-
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  34 ++-
 6 files changed, 301 insertions(+), 35 deletions(-)
--


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



[6/7] tinkerpop git commit: Merge branch 'TINKERPOP-2040' into tp32

2018-10-03 Thread spmallette
Merge branch 'TINKERPOP-2040' into tp32


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

Branch: refs/heads/tp33
Commit: 88d6f778694e6c65ddde6fdcc18948327e01914a
Parents: fcbce50 92c74c3
Author: Stephen Mallette 
Authored: Wed Oct 3 15:28:58 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 15:28:58 2018 -0400

--
 CHANGELOG.asciidoc  |   2 +
 .../gremlin/jsr223/TranslatorCustomizer.java|  38 
 .../gremlin/process/traversal/Translator.java   |  34 +++
 .../groovy/jsr223/GroovyTranslatorTest.java | 213 ---
 .../jsr223/GremlinGroovyScriptEngine.java   |  15 +-
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  34 ++-
 6 files changed, 301 insertions(+), 35 deletions(-)
--


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



[3/7] tinkerpop git commit: TINKERPOP-2040 Provide improved type handling for GroovyTranslator

2018-10-03 Thread spmallette
TINKERPOP-2040 Provide improved type handling for GroovyTranslator

Refactored testing and added support for UUID, Date, Timestamp as well as a 
method to override standard type handling.


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

Branch: refs/heads/tp33
Commit: 774371dc38d2d73be142eaa69c958226ac660892
Parents: 0403156
Author: Stephen Mallette 
Authored: Thu Sep 20 11:53:07 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../gremlin/process/traversal/Translator.java   |  34 
 .../groovy/jsr223/GroovyTranslatorTest.java | 162 +++
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  32 +++-
 3 files changed, 195 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/774371dc/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
index 7e97fb3..0346092 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
@@ -19,6 +19,8 @@
 
 package org.apache.tinkerpop.gremlin.process.traversal;
 
+import java.util.function.UnaryOperator;
+
 /**
  * A Translator will translate {@link Bytecode} into another representation. 
That representation may be a
  * Java instance via {@link StepTranslator} or a String script in some 
language via {@link ScriptTranslator}.
@@ -55,10 +57,42 @@ public interface Translator {
 
 ///
 
+/**
+ * Translates bytecode to a string representation.
+ */
 public interface ScriptTranslator extends Translator {
 
+/**
+ * Provides a way to customize and override the standard translation 
process. A {@link ScriptTranslator}
+ * implementation can choose to expose a way to accept a {@code 
TypeTranslator} which will convert an incoming
+ * object to a different form which will then be normally processed or 
can return a {@link Handled} object
+ * with the already translated script.
+ */
+public interface TypeTranslator extends UnaryOperator {
+public static TypeTranslator identity() {
+return t -> t;
+}
+}
+
+/**
+ * Contains a completed type translation from the {@link 
TypeTranslator}.
+ */
+public class Handled {
+private final String translation;
+
+public Handled(final String translation) {
+this.translation = translation;
+}
+
+public String getTranslation() {
+return translation;
+}
+}
 }
 
+/**
+ * Translates bytecode to actual steps.
+ */
 public interface StepTranslator> extends Translator {
 
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/774371dc/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 942f1a5..686c7bd 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,7 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -32,47 +33,56 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.Transl
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import 

[4/5] tinkerpop git commit: TINKERPOP-2040 Added more tests to cover more GraphSON types

2018-10-03 Thread spmallette
TINKERPOP-2040 Added more tests to cover more GraphSON types


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

Branch: refs/heads/tp32
Commit: 67e2ee85dd8048ca21a72889cf8a0218f2add081
Parents: 774371d
Author: Stephen Mallette 
Authored: Tue Sep 25 13:46:38 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../groovy/jsr223/GroovyTranslatorTest.java | 30 
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  4 +++
 2 files changed, 34 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e2ee85/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 686c7bd..c224642 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,9 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.Order;
+import org.apache.tinkerpop.gremlin.process.traversal.Pop;
+import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
@@ -31,6 +34,8 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.TranslationStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
+import org.apache.tinkerpop.gremlin.structure.Column;
+import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
@@ -185,6 +190,31 @@ public class GroovyTranslatorTest extends 
AbstractGremlinTest {
 }
 
 @Test
+public void shouldHandleColumn() {
+assertTranslation("Column.keys", Column.keys);
+}
+
+@Test
+public void shouldHandleDirection() {
+assertTranslation("Direction.BOTH", Direction.BOTH);
+}
+
+@Test
+public void shouldHandleOrder() {
+assertTranslation("Order.decr", Order.decr);
+}
+
+@Test
+public void shouldHandlePop() {
+assertTranslation("Pop.last", Pop.last);
+}
+
+@Test
+public void shouldHandleScope() {
+assertTranslation("Scope.local", Scope.local);
+}
+
+@Test
 public void shouldOverrideDefaultTypeTranslationWithSomethingBonkers() {
 final String thingToSuffixAllStringsWith = "-why-would-anyone-do-this";
 final String script = GroovyTranslator.of("g", x -> x instanceof 
String ? x + thingToSuffixAllStringsWith : x).

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e2ee85/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
--
diff --git 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
index 1d122c6..9cd7791 100644
--- 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
+++ 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
@@ -22,7 +22,9 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import groovy.json.StringEscapeUtils;
 import org.apache.commons.configuration.ConfigurationConverter;
 import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
+import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.P;
+import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions;
 

[1/7] tinkerpop git commit: TINKERPOP-2040 Updated changelog

2018-10-03 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp33 1faf7629c -> 2b4c993dd


TINKERPOP-2040 Updated changelog


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

Branch: refs/heads/tp33
Commit: 92c74c3d7ffc25b234187ef2459f8d3d529ac8db
Parents: e5c2e9c
Author: Stephen Mallette 
Authored: Mon Oct 1 09:12:30 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 CHANGELOG.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/92c74c3d/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 6d9770f..9160d09 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -37,6 +37,8 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
+* Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
+* Improved ability of `GroovyTranslator` to handle custom types.
 * Added better internal processing of `Column` in `by(Function)`.
 * Added `hasNext()` support on `Traversal` for `gremlin-python`.
 * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.



[2/9] tinkerpop git commit: TINKERPOP-2040 Hooked up Customizer for TypeTranslator

2018-10-03 Thread spmallette
TINKERPOP-2040 Hooked up Customizer for TypeTranslator

Enables the Groovy GremlinScriptEngine to use custom TypeTranslators


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

Branch: refs/heads/master
Commit: e5c2e9cdc18751e755a21add02a75261c169cf32
Parents: 67e2ee8
Author: Stephen Mallette 
Authored: Tue Sep 25 17:29:49 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../gremlin/jsr223/TranslatorCustomizer.java| 38 
 .../groovy/jsr223/GroovyTranslatorTest.java | 23 +++-
 .../jsr223/GremlinGroovyScriptEngine.java   | 15 ++--
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  8 ++---
 4 files changed, 76 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5c2e9cd/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
new file mode 100644
index 000..4468255
--- /dev/null
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
@@ -0,0 +1,38 @@
+/*
+ * 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.jsr223;
+
+import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
+import org.apache.tinkerpop.gremlin.process.traversal.Translator;
+
+/**
+ * Provides a way to customize and override {@link Bytecode} to script 
translation. Not all {@link GremlinScriptEngine}
+ * will support this capability as translation is optional.
+ *
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+public interface TranslatorCustomizer extends Customizer {
+
+/**
+ * Construct a {@link Translator.ScriptTranslator.TypeTranslator} that 
will be used by a
+ * {@link Translator.ScriptTranslator} instance within the {@link 
GremlinScriptEngine} to translate
+ * {@link Bytecode} to a script.
+ */
+public Translator.ScriptTranslator.TypeTranslator createTypeTranslator();
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5c2e9cd/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index c224642..1622d3d 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,7 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.jsr223.TranslatorCustomizer;
 import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
@@ -59,9 +60,11 @@ import java.util.List;
 import java.util.UUID;
 import java.util.function.Function;
 
+import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
 /**
@@ -224,7 +227,7 @@ public class GroovyTranslatorTest extends 

[5/9] tinkerpop git commit: Merge branch 'tp33' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp33

2018-10-03 Thread spmallette
Merge branch 'tp33' of https://git-wip-us.apache.org/repos/asf/tinkerpop into 
tp33


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

Branch: refs/heads/master
Commit: 1faf7629cb7b3882e91a8f437ad23197aba385dc
Parents: 8ca2778 650f31f
Author: Florian Hockmann 
Authored: Wed Oct 3 12:33:02 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:33:02 2018 +0200

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




[8/9] 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/master
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)
 -

[7/9] tinkerpop git commit: Merge branch 'TINKERPOP-2040' into tp32

2018-10-03 Thread spmallette
Merge branch 'TINKERPOP-2040' into tp32


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

Branch: refs/heads/master
Commit: 88d6f778694e6c65ddde6fdcc18948327e01914a
Parents: fcbce50 92c74c3
Author: Stephen Mallette 
Authored: Wed Oct 3 15:28:58 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 15:28:58 2018 -0400

--
 CHANGELOG.asciidoc  |   2 +
 .../gremlin/jsr223/TranslatorCustomizer.java|  38 
 .../gremlin/process/traversal/Translator.java   |  34 +++
 .../groovy/jsr223/GroovyTranslatorTest.java | 213 ---
 .../jsr223/GremlinGroovyScriptEngine.java   |  15 +-
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  34 ++-
 6 files changed, 301 insertions(+), 35 deletions(-)
--


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



[3/9] tinkerpop git commit: TINKERPOP-2040 Added more tests to cover more GraphSON types

2018-10-03 Thread spmallette
TINKERPOP-2040 Added more tests to cover more GraphSON types


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

Branch: refs/heads/master
Commit: 67e2ee85dd8048ca21a72889cf8a0218f2add081
Parents: 774371d
Author: Stephen Mallette 
Authored: Tue Sep 25 13:46:38 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../groovy/jsr223/GroovyTranslatorTest.java | 30 
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  4 +++
 2 files changed, 34 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e2ee85/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 686c7bd..c224642 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,9 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.Order;
+import org.apache.tinkerpop.gremlin.process.traversal.Pop;
+import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
@@ -31,6 +34,8 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.TranslationStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
+import org.apache.tinkerpop.gremlin.structure.Column;
+import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
@@ -185,6 +190,31 @@ public class GroovyTranslatorTest extends 
AbstractGremlinTest {
 }
 
 @Test
+public void shouldHandleColumn() {
+assertTranslation("Column.keys", Column.keys);
+}
+
+@Test
+public void shouldHandleDirection() {
+assertTranslation("Direction.BOTH", Direction.BOTH);
+}
+
+@Test
+public void shouldHandleOrder() {
+assertTranslation("Order.decr", Order.decr);
+}
+
+@Test
+public void shouldHandlePop() {
+assertTranslation("Pop.last", Pop.last);
+}
+
+@Test
+public void shouldHandleScope() {
+assertTranslation("Scope.local", Scope.local);
+}
+
+@Test
 public void shouldOverrideDefaultTypeTranslationWithSomethingBonkers() {
 final String thingToSuffixAllStringsWith = "-why-would-anyone-do-this";
 final String script = GroovyTranslator.of("g", x -> x instanceof 
String ? x + thingToSuffixAllStringsWith : x).

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e2ee85/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
--
diff --git 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
index 1d122c6..9cd7791 100644
--- 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
+++ 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
@@ -22,7 +22,9 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import groovy.json.StringEscapeUtils;
 import org.apache.commons.configuration.ConfigurationConverter;
 import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
+import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.P;
+import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions;
 

[1/9] tinkerpop git commit: TINKERPOP-2040 Updated changelog

2018-10-03 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/master 21d2444c6 -> 2ae8c5bec


TINKERPOP-2040 Updated changelog


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

Branch: refs/heads/master
Commit: 92c74c3d7ffc25b234187ef2459f8d3d529ac8db
Parents: e5c2e9c
Author: Stephen Mallette 
Authored: Mon Oct 1 09:12:30 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 CHANGELOG.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/92c74c3d/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 6d9770f..9160d09 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -37,6 +37,8 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
+* Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
+* Improved ability of `GroovyTranslator` to handle custom types.
 * Added better internal processing of `Column` in `by(Function)`.
 * Added `hasNext()` support on `Traversal` for `gremlin-python`.
 * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.



[9/9] tinkerpop git commit: Merge branch 'tp33'

2018-10-03 Thread spmallette
Merge branch 'tp33'


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

Branch: refs/heads/master
Commit: 2ae8c5becc4318e45d6a48d32ea5e8f3eed451e5
Parents: 21d2444 2b4c993
Author: Stephen Mallette 
Authored: Wed Oct 3 16:09:48 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 16:09:48 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/2ae8c5be/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2ae8c5be/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
--



[6/9] tinkerpop git commit: Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp32

2018-10-03 Thread spmallette
Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into 
tp32


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

Branch: refs/heads/master
Commit: fcbce509fc2957bae74ef585875dd872322a9b21
Parents: b440742 76c9aba
Author: Florian Hockmann 
Authored: Wed Oct 3 12:33:23 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:33:23 2018 +0200

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




[4/9] tinkerpop git commit: TINKERPOP-2040 Provide improved type handling for GroovyTranslator

2018-10-03 Thread spmallette
TINKERPOP-2040 Provide improved type handling for GroovyTranslator

Refactored testing and added support for UUID, Date, Timestamp as well as a 
method to override standard type handling.


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

Branch: refs/heads/master
Commit: 774371dc38d2d73be142eaa69c958226ac660892
Parents: 0403156
Author: Stephen Mallette 
Authored: Thu Sep 20 11:53:07 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../gremlin/process/traversal/Translator.java   |  34 
 .../groovy/jsr223/GroovyTranslatorTest.java | 162 +++
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  32 +++-
 3 files changed, 195 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/774371dc/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
index 7e97fb3..0346092 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
@@ -19,6 +19,8 @@
 
 package org.apache.tinkerpop.gremlin.process.traversal;
 
+import java.util.function.UnaryOperator;
+
 /**
  * A Translator will translate {@link Bytecode} into another representation. 
That representation may be a
  * Java instance via {@link StepTranslator} or a String script in some 
language via {@link ScriptTranslator}.
@@ -55,10 +57,42 @@ public interface Translator {
 
 ///
 
+/**
+ * Translates bytecode to a string representation.
+ */
 public interface ScriptTranslator extends Translator {
 
+/**
+ * Provides a way to customize and override the standard translation 
process. A {@link ScriptTranslator}
+ * implementation can choose to expose a way to accept a {@code 
TypeTranslator} which will convert an incoming
+ * object to a different form which will then be normally processed or 
can return a {@link Handled} object
+ * with the already translated script.
+ */
+public interface TypeTranslator extends UnaryOperator {
+public static TypeTranslator identity() {
+return t -> t;
+}
+}
+
+/**
+ * Contains a completed type translation from the {@link 
TypeTranslator}.
+ */
+public class Handled {
+private final String translation;
+
+public Handled(final String translation) {
+this.translation = translation;
+}
+
+public String getTranslation() {
+return translation;
+}
+}
 }
 
+/**
+ * Translates bytecode to actual steps.
+ */
 public interface StepTranslator> extends Translator {
 
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/774371dc/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 942f1a5..686c7bd 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,7 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -32,47 +33,56 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.Transl
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import 

tinkerpop git commit: TINKERPOP-2041 Added IO tests for TextP

2018-10-03 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-2041 a2211c2c5 -> 3aad0b342


TINKERPOP-2041 Added IO tests for TextP


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

Branch: refs/heads/TINKERPOP-2041
Commit: 3aad0b342116f58bc20940e37612d70e7fc7dfc0
Parents: a2211c2
Author: Stephen Mallette 
Authored: Wed Oct 3 15:01:40 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 15:01:40 2018 -0400

--
 docs/src/dev/io/graphson.asciidoc   | 26 
 .../scripts/generate-graphson-resources.groovy  | 12 -
 .../tinkerpop/gremlin/structure/io/Model.java   |  9 +++
 .../io/AbstractTypedCompatibilityTest.java  | 14 +++
 .../io/graphson/_3_4_0/textp-v2d0-partial.json  |  7 ++
 .../io/graphson/_3_4_0/textp-v3d0.json  |  7 ++
 .../structure/io/gryo/_3_4_0/textp-v1d0.kryo|  1 +
 .../structure/io/gryo/_3_4_0/textp-v3d0.kryo|  1 +
 8 files changed, 71 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3aad0b34/docs/src/dev/io/graphson.asciidoc
--
diff --git a/docs/src/dev/io/graphson.asciidoc 
b/docs/src/dev/io/graphson.asciidoc
index d140a2f..1c9081c 100644
--- a/docs/src/dev/io/graphson.asciidoc
+++ b/docs/src/dev/io/graphson.asciidoc
@@ -3014,6 +3014,19 @@ The following `Bytecode` example represents the 
traversal of `g.V().hasLabel('pe
 }
 
 
+ TextP
+
+[source,json]
+
+{
+  "@type" : "g:TextP",
+  "@value" : {
+"predicate" : "containing",
+"value" : "ark"
+  }
+}
+
+
  TraversalMetrics
 
 [source,json]
@@ -5392,6 +5405,19 @@ Please see <<_p,P>> for additional information on 
`within`.
 }
 
 
+ TextP
+
+[source,json]
+
+{
+  "@type" : "g:TextP",
+  "@value" : {
+"predicate" : "containing",
+"value" : "ark"
+  }
+}
+
+
  TraversalMetrics
 
 [source,json]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3aad0b34/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
--
diff --git 
a/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy 
b/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
index 55b4fa6..03112ed 100644
--- a/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
+++ b/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
@@ -59,19 +59,19 @@ toJson = { o, type, mapper, comment = "", suffix = "" ->
 
 writeSupportedV1Objects = { writer, mapper ->
 writer.write("=== Graph Structure\n\n")
-model.entries("Graph 
Structure").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_3_0)}.each 
{
+model.entries("Graph 
Structure").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_4_0)}.each 
{
 writer.write(toJsonV1d0NoTypes(it.getObject(), it.getTitle(), mapper, 
it.getDescription()))
 }
 
 writer.write("\n")
 writer.write("=== RequestMessage\n\n")
-
model.entries("RequestMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_3_0)}.each
 {
+
model.entries("RequestMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_4_0)}.each
 {
 writer.write(toJsonV1d0NoTypes(it.getObject(), it.getTitle(), mapper, 
it.getDescription()))
 }
 
 writer.write("\n")
 writer.write("=== ResponseMessage\n\n")
-
model.entries("ResponseMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_3_0)}.each
 {
+
model.entries("ResponseMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_4_0)}.each
 {
 writer.write(toJsonV1d0NoTypes(it.getObject(), it.getTitle(), mapper, 
it.getDescription()))
 }
 }
@@ -156,7 +156,7 @@ mapper = GraphSONMapper.build().
 
 file = new File("${projectBuildDir}/dev-docs/out-graphson-2d0-partial.txt")
 if (file.exists()) file.delete()
-file.withWriter { writeSupportedV2V3Objects(it, mapper, 
toJsonV2d0PartialTypes, 
{it.isCompatibleWith(GraphSONCompatibility.V2D0_PARTIAL_3_3_1)}, 
v2ExtendedDescription) }
+file.withWriter { writeSupportedV2V3Objects(it, mapper, 
toJsonV2d0PartialTypes, 
{it.isCompatibleWith(GraphSONCompatibility.V2D0_PARTIAL_3_4_0)}, 
v2ExtendedDescription) }
 
 mapper = GraphSONMapper.build().
 addRegistry(TinkerIoRegistryV2d0.instance()).
@@ -167,7 +167,7 @@ mapper = GraphSONMapper.build().
 
 file = new File("${projectBuildDir}/dev-docs/out-graphson-2d0-no-type.txt")
 if (file.exists()) file.delete()
-file.withWriter { writeSupportedV2V3Objects(it, mapper, toJsonV2d0NoTypes, 

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

2018-10-03 Thread florianhockmann
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/8ca27786
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8ca27786
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8ca27786

Branch: refs/heads/tp33
Commit: 8ca277863861699ca2fa7913735687f6e65b486b
Parents: c10bde3 b440742
Author: Florian Hockmann 
Authored: Wed Oct 3 12:31:08 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:31:08 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  7 --
 .../src/Gremlin.Net/Driver/GremlinClient.cs | 11 +++--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 51 insertions(+), 8 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ca27786/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --cc gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index 279c708,f63e20b..b79f0e6
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@@ -36,21 -37,21 +37,22 @@@ namespace Gremlin.Net.Drive
  {
  private readonly GraphSONReader _graphSONReader;
  private readonly GraphSONWriter _graphSONWriter;
 -private readonly JsonMessageSerializer _messageSerializer = new 
JsonMessageSerializer();
 +private readonly JsonMessageSerializer _messageSerializer;
  private readonly Uri _uri;
- private readonly WebSocketConnection _webSocketConnection = new 
WebSocketConnection();
+ private readonly WebSocketConnection _webSocketConnection;
  private readonly string _username;
  private readonly string _password;
  
  public Connection(Uri uri, string username, string password, 
GraphSONReader graphSONReader,
-   GraphSONWriter graphSONWriter, string mimeType)
 -GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
++GraphSONWriter graphSONWriter, string mimeType, 
Action webSocketConfiguration)
  {
  _uri = uri;
  _username = username;
  _password = password;
  _graphSONReader = graphSONReader;
  _graphSONWriter = graphSONWriter;
 +_messageSerializer = new JsonMessageSerializer(mimeType);
+ _webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
  }
  
  public async Task> 
SubmitAsync(RequestMessage requestMessage)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ca27786/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
--
diff --cc gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
index e2ff5b7,8b14ed9..7a6c2d5
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
@@@ -30,22 -31,22 +31,24 @@@ namespace Gremlin.Net.Drive
  {
  private readonly GraphSONReader _graphSONReader;
  private readonly GraphSONWriter _graphSONWriter;
+ private readonly Action 
_webSocketConfiguration;
  private readonly GremlinServer _gremlinServer;
 +private readonly string _mimeType;
  
  public ConnectionFactory(GremlinServer gremlinServer, GraphSONReader 
graphSONReader,
-  GraphSONWriter graphSONWriter, string 
mimeType)
 -GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
++GraphSONWriter graphSONWriter, string mimeType, 
Action webSocketConfiguration)
  {
  _gremlinServer = gremlinServer;
 -_graphSONReader = graphSONReader;
 -_graphSONWriter = graphSONWriter;
 +_mimeType = mimeType;
 +_graphSONReader = graphSONReader ?? throw new 
ArgumentNullException(nameof(graphSONReader));
 +_graphSONWriter = graphSONWriter ?? throw new 
ArgumentNullException(nameof(graphSONWriter));
+ _webSocketConfiguration = webSocketConfiguration;
  }
  
  public Connection CreateConnection()
  {
  return new Connection(_gremlinServer.Uri, 
_gremlinServer.Username, _gremlinServer.Password, _graphSONReader,
-  _graphSONWriter, _mimeType);
 -

[3/8] tinkerpop git commit: Expose WebSocket configuration TINKERPOP-2015

2018-10-03 Thread florianhockmann
Expose WebSocket configuration TINKERPOP-2015

Users can now provide a delegate to the Gremlin.Net driver that will be
used to configure WebSocket connections.


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

Branch: refs/heads/tp33
Commit: b440742393135fdd88d4af18b09ade5f5011133e
Parents: e7af98b
Author: Florian Hockmann 
Authored: Sun Sep 9 14:49:03 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:08:14 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  8 +--
 .../src/Gremlin.Net/Driver/GremlinClient.cs |  9 +--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 50 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index e93c1c9..36a34f2 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 * Removed conflicting non-indy groovy core dependency
 * Bumped jython-standalone 2.7.1
+* Added a delegate to the Gremlin.Net driver that can be used to configure the 
WebSocket connection.
 * SSL security enhancements
 * Added Gremlin version to Gremlin Server startup logging output.
 * Fixed problem with Gremlin Server sometimes returning an additional message 
after a failure.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index dbbd375..f63e20b 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@ -23,6 +23,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Net.WebSockets;
 using System.Text;
 using System.Threading.Tasks;
 using Gremlin.Net.Driver.Messages;
@@ -38,18 +39,19 @@ namespace Gremlin.Net.Driver
 private readonly GraphSONWriter _graphSONWriter;
 private readonly JsonMessageSerializer _messageSerializer = new 
JsonMessageSerializer();
 private readonly Uri _uri;
-private readonly WebSocketConnection _webSocketConnection = new 
WebSocketConnection();
+private readonly WebSocketConnection _webSocketConnection;
 private readonly string _username;
 private readonly string _password;
 
 public Connection(Uri uri, string username, string password, 
GraphSONReader graphSONReader,
-GraphSONWriter graphSONWriter)
+GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
 {
 _uri = uri;
 _username = username;
 _password = password;
 _graphSONReader = graphSONReader;
 _graphSONWriter = graphSONWriter;
+_webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
 }
 
 public async Task> 
SubmitAsync(RequestMessage requestMessage)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
index 0041a67..8b14ed9 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
@@ -21,6 +21,8 @@
 
 #endregion
 
+using System;
+using System.Net.WebSockets;
 using Gremlin.Net.Structure.IO.GraphSON;
 
 namespace Gremlin.Net.Driver
@@ -29,20 +31,22 @@ namespace Gremlin.Net.Driver
 {
 private readonly GraphSONReader _graphSONReader;
 private readonly GraphSONWriter _graphSONWriter;
+private readonly Action 
_webSocketConfiguration;
 private readonly GremlinServer _gremlinServer;
 
 public ConnectionFactory(GremlinServer gremlinServer, GraphSONReader 
graphSONReader,
-GraphSONWriter graphSONWriter)
+GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
 {
 _gremlinServer = gremlinServer;
 _graphSONReader = graphSONReader;

[6/8] tinkerpop git commit: Merge branch 'tp33'

2018-10-03 Thread florianhockmann
Merge branch 'tp33'


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

Branch: refs/heads/master
Commit: 21d2444c6f404d24ed47d08f03806d73244b5691
Parents: 7ac00a1 8ca2778
Author: Florian Hockmann 
Authored: Wed Oct 3 12:31:48 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:31:48 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  7 --
 .../src/Gremlin.Net/Driver/GremlinClient.cs | 11 +++--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 51 insertions(+), 8 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21d2444c/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --cc gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index 822fc65,b79f0e6..92e0d35
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@@ -51,9 -52,10 +52,10 @@@ namespace Gremlin.Net.Drive
  _graphSONReader = graphSONReader;
  _graphSONWriter = graphSONWriter;
  _messageSerializer = new JsonMessageSerializer(mimeType);
+ _webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
  }
  
 -public async Task> 
SubmitAsync(RequestMessage requestMessage)
 +public async Task> SubmitAsync(RequestMessage 
requestMessage)
  {
  await SendAsync(requestMessage).ConfigureAwait(false);
  return await ReceiveAsync().ConfigureAwait(false);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21d2444c/gremlin-dotnet/src/Gremlin.Net/Driver/GremlinClient.cs
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21d2444c/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientTests.cs
--



[8/8] tinkerpop git commit: Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp32

2018-10-03 Thread florianhockmann
Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into 
tp32


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

Branch: refs/heads/tp32
Commit: fcbce509fc2957bae74ef585875dd872322a9b21
Parents: b440742 76c9aba
Author: Florian Hockmann 
Authored: Wed Oct 3 12:33:23 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:33:23 2018 +0200

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




[2/8] tinkerpop git commit: Expose WebSocket configuration TINKERPOP-2015

2018-10-03 Thread florianhockmann
Expose WebSocket configuration TINKERPOP-2015

Users can now provide a delegate to the Gremlin.Net driver that will be
used to configure WebSocket connections.


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

Branch: refs/heads/tp32
Commit: b440742393135fdd88d4af18b09ade5f5011133e
Parents: e7af98b
Author: Florian Hockmann 
Authored: Sun Sep 9 14:49:03 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:08:14 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  8 +--
 .../src/Gremlin.Net/Driver/GremlinClient.cs |  9 +--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 50 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index e93c1c9..36a34f2 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 * Removed conflicting non-indy groovy core dependency
 * Bumped jython-standalone 2.7.1
+* Added a delegate to the Gremlin.Net driver that can be used to configure the 
WebSocket connection.
 * SSL security enhancements
 * Added Gremlin version to Gremlin Server startup logging output.
 * Fixed problem with Gremlin Server sometimes returning an additional message 
after a failure.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index dbbd375..f63e20b 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@ -23,6 +23,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Net.WebSockets;
 using System.Text;
 using System.Threading.Tasks;
 using Gremlin.Net.Driver.Messages;
@@ -38,18 +39,19 @@ namespace Gremlin.Net.Driver
 private readonly GraphSONWriter _graphSONWriter;
 private readonly JsonMessageSerializer _messageSerializer = new 
JsonMessageSerializer();
 private readonly Uri _uri;
-private readonly WebSocketConnection _webSocketConnection = new 
WebSocketConnection();
+private readonly WebSocketConnection _webSocketConnection;
 private readonly string _username;
 private readonly string _password;
 
 public Connection(Uri uri, string username, string password, 
GraphSONReader graphSONReader,
-GraphSONWriter graphSONWriter)
+GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
 {
 _uri = uri;
 _username = username;
 _password = password;
 _graphSONReader = graphSONReader;
 _graphSONWriter = graphSONWriter;
+_webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
 }
 
 public async Task> 
SubmitAsync(RequestMessage requestMessage)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
index 0041a67..8b14ed9 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
@@ -21,6 +21,8 @@
 
 #endregion
 
+using System;
+using System.Net.WebSockets;
 using Gremlin.Net.Structure.IO.GraphSON;
 
 namespace Gremlin.Net.Driver
@@ -29,20 +31,22 @@ namespace Gremlin.Net.Driver
 {
 private readonly GraphSONReader _graphSONReader;
 private readonly GraphSONWriter _graphSONWriter;
+private readonly Action 
_webSocketConfiguration;
 private readonly GremlinServer _gremlinServer;
 
 public ConnectionFactory(GremlinServer gremlinServer, GraphSONReader 
graphSONReader,
-GraphSONWriter graphSONWriter)
+GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
 {
 _gremlinServer = gremlinServer;
 _graphSONReader = graphSONReader;

[1/8] tinkerpop git commit: Expose WebSocket configuration TINKERPOP-2015

2018-10-03 Thread florianhockmann
Repository: tinkerpop
Updated Branches:
  refs/heads/master 7ac00a13b -> 21d2444c6
  refs/heads/tp32 76c9aba94 -> fcbce509f
  refs/heads/tp33 650f31f1b -> 1faf7629c


Expose WebSocket configuration TINKERPOP-2015

Users can now provide a delegate to the Gremlin.Net driver that will be
used to configure WebSocket connections.


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

Branch: refs/heads/master
Commit: b440742393135fdd88d4af18b09ade5f5011133e
Parents: e7af98b
Author: Florian Hockmann 
Authored: Sun Sep 9 14:49:03 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:08:14 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  8 +--
 .../src/Gremlin.Net/Driver/GremlinClient.cs |  9 +--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 50 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index e93c1c9..36a34f2 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 * Removed conflicting non-indy groovy core dependency
 * Bumped jython-standalone 2.7.1
+* Added a delegate to the Gremlin.Net driver that can be used to configure the 
WebSocket connection.
 * SSL security enhancements
 * Added Gremlin version to Gremlin Server startup logging output.
 * Fixed problem with Gremlin Server sometimes returning an additional message 
after a failure.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index dbbd375..f63e20b 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@ -23,6 +23,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Net.WebSockets;
 using System.Text;
 using System.Threading.Tasks;
 using Gremlin.Net.Driver.Messages;
@@ -38,18 +39,19 @@ namespace Gremlin.Net.Driver
 private readonly GraphSONWriter _graphSONWriter;
 private readonly JsonMessageSerializer _messageSerializer = new 
JsonMessageSerializer();
 private readonly Uri _uri;
-private readonly WebSocketConnection _webSocketConnection = new 
WebSocketConnection();
+private readonly WebSocketConnection _webSocketConnection;
 private readonly string _username;
 private readonly string _password;
 
 public Connection(Uri uri, string username, string password, 
GraphSONReader graphSONReader,
-GraphSONWriter graphSONWriter)
+GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
 {
 _uri = uri;
 _username = username;
 _password = password;
 _graphSONReader = graphSONReader;
 _graphSONWriter = graphSONWriter;
+_webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
 }
 
 public async Task> 
SubmitAsync(RequestMessage requestMessage)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
index 0041a67..8b14ed9 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
@@ -21,6 +21,8 @@
 
 #endregion
 
+using System;
+using System.Net.WebSockets;
 using Gremlin.Net.Structure.IO.GraphSON;
 
 namespace Gremlin.Net.Driver
@@ -29,20 +31,22 @@ namespace Gremlin.Net.Driver
 {
 private readonly GraphSONReader _graphSONReader;
 private readonly GraphSONWriter _graphSONWriter;
+private readonly Action 
_webSocketConfiguration;
 private readonly GremlinServer _gremlinServer;
 
 public ConnectionFactory(GremlinServer gremlinServer, GraphSONReader 
graphSONReader,
-GraphSONWriter graphSONWriter)
+

[7/8] tinkerpop git commit: Merge branch 'tp33' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp33

2018-10-03 Thread florianhockmann
Merge branch 'tp33' of https://git-wip-us.apache.org/repos/asf/tinkerpop into 
tp33


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

Branch: refs/heads/tp33
Commit: 1faf7629cb7b3882e91a8f437ad23197aba385dc
Parents: 8ca2778 650f31f
Author: Florian Hockmann 
Authored: Wed Oct 3 12:33:02 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:33:02 2018 +0200

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




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

2018-10-03 Thread florianhockmann
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/8ca27786
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8ca27786
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8ca27786

Branch: refs/heads/master
Commit: 8ca277863861699ca2fa7913735687f6e65b486b
Parents: c10bde3 b440742
Author: Florian Hockmann 
Authored: Wed Oct 3 12:31:08 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:31:08 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  7 --
 .../src/Gremlin.Net/Driver/GremlinClient.cs | 11 +++--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 51 insertions(+), 8 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ca27786/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --cc gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index 279c708,f63e20b..b79f0e6
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@@ -36,21 -37,21 +37,22 @@@ namespace Gremlin.Net.Drive
  {
  private readonly GraphSONReader _graphSONReader;
  private readonly GraphSONWriter _graphSONWriter;
 -private readonly JsonMessageSerializer _messageSerializer = new 
JsonMessageSerializer();
 +private readonly JsonMessageSerializer _messageSerializer;
  private readonly Uri _uri;
- private readonly WebSocketConnection _webSocketConnection = new 
WebSocketConnection();
+ private readonly WebSocketConnection _webSocketConnection;
  private readonly string _username;
  private readonly string _password;
  
  public Connection(Uri uri, string username, string password, 
GraphSONReader graphSONReader,
-   GraphSONWriter graphSONWriter, string mimeType)
 -GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
++GraphSONWriter graphSONWriter, string mimeType, 
Action webSocketConfiguration)
  {
  _uri = uri;
  _username = username;
  _password = password;
  _graphSONReader = graphSONReader;
  _graphSONWriter = graphSONWriter;
 +_messageSerializer = new JsonMessageSerializer(mimeType);
+ _webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
  }
  
  public async Task> 
SubmitAsync(RequestMessage requestMessage)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ca27786/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
--
diff --cc gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
index e2ff5b7,8b14ed9..7a6c2d5
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
@@@ -30,22 -31,22 +31,24 @@@ namespace Gremlin.Net.Drive
  {
  private readonly GraphSONReader _graphSONReader;
  private readonly GraphSONWriter _graphSONWriter;
+ private readonly Action 
_webSocketConfiguration;
  private readonly GremlinServer _gremlinServer;
 +private readonly string _mimeType;
  
  public ConnectionFactory(GremlinServer gremlinServer, GraphSONReader 
graphSONReader,
-  GraphSONWriter graphSONWriter, string 
mimeType)
 -GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
++GraphSONWriter graphSONWriter, string mimeType, 
Action webSocketConfiguration)
  {
  _gremlinServer = gremlinServer;
 -_graphSONReader = graphSONReader;
 -_graphSONWriter = graphSONWriter;
 +_mimeType = mimeType;
 +_graphSONReader = graphSONReader ?? throw new 
ArgumentNullException(nameof(graphSONReader));
 +_graphSONWriter = graphSONWriter ?? throw new 
ArgumentNullException(nameof(graphSONWriter));
+ _webSocketConfiguration = webSocketConfiguration;
  }
  
  public Connection CreateConnection()
  {
  return new Connection(_gremlinServer.Uri, 
_gremlinServer.Username, _gremlinServer.Password, _graphSONReader,
-  _graphSONWriter, _mimeType);
 -

[14/26] tinkerpop git commit: TINKERPOP-2045 removed duplicate non-indy groovy core dep

2018-10-03 Thread florianhockmann
TINKERPOP-2045 removed duplicate non-indy groovy core dep


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

Branch: refs/heads/TINKERPOP-2015
Commit: 6e320daa57a9ec9acb19a213f6dd2081e70e2e26
Parents: abfe968
Author: Robert Dale 
Authored: Tue Sep 25 07:40:50 2018 -0400
Committer: Robert Dale 
Committed: Tue Sep 25 07:40:50 2018 -0400

--
 CHANGELOG.asciidoc |  1 +
 gremlin-driver/pom.xml | 14 ++
 gremlin-groovy/pom.xml | 21 +
 3 files changed, 36 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6e320daa/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 6d9770f..e93c1c9 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -23,6 +23,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 [[release-3-2-10]]
 === TinkerPop 3.2.10 (Release Date: NOT OFFICIALLY RELEASED YET)
 
+* Removed conflicting non-indy groovy core dependency
 * Bumped jython-standalone 2.7.1
 * SSL security enhancements
 * Added Gremlin version to Gremlin Server startup logging output.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6e320daa/gremlin-driver/pom.xml
--
diff --git a/gremlin-driver/pom.xml b/gremlin-driver/pom.xml
index a7835ab..3f891ba 100644
--- a/gremlin-driver/pom.xml
+++ b/gremlin-driver/pom.xml
@@ -47,12 +47,26 @@ limitations under the License.
 groovy-json
 ${groovy.version}
 indy
+
+
+
+org.codehaus.groovy
+groovy
+
+
 
 
 org.codehaus.groovy
 groovy-sql
 ${groovy.version}
 indy
+
+
+
+org.codehaus.groovy
+groovy
+
+
 
 
 org.apache.commons

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6e320daa/gremlin-groovy/pom.xml
--
diff --git a/gremlin-groovy/pom.xml b/gremlin-groovy/pom.xml
index 3c7a122..9653e93 100644
--- a/gremlin-groovy/pom.xml
+++ b/gremlin-groovy/pom.xml
@@ -47,18 +47,39 @@ limitations under the License.
 groovy-groovysh
 ${groovy.version}
 indy
+
+
+
+org.codehaus.groovy
+groovy
+
+
 
 
 org.codehaus.groovy
 groovy-json
 ${groovy.version}
 indy
+
+
+
+org.codehaus.groovy
+groovy
+
+
 
 
 org.codehaus.groovy
 groovy-jsr223
 ${groovy.version}
 indy
+
+
+
+org.codehaus.groovy
+groovy
+
+
 
 
 org.apache.commons



[13/26] tinkerpop git commit: Updated changelog CTR

2018-10-03 Thread florianhockmann
Updated changelog CTR


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

Branch: refs/heads/TINKERPOP-2015
Commit: abfe968c762199ef5fa6b8f300c9de060ef75a24
Parents: aff2037
Author: Stephen Mallette 
Authored: Mon Sep 24 16:13:39 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Sep 24 16:13:39 2018 -0400

--
 CHANGELOG.asciidoc | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/abfe968c/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 9431d98..6d9770f 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -36,6 +36,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added support for GraphSON serialization of `Date` in Javascript.
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
+* Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
 * Added better internal processing of `Column` in `by(Function)`.
 * Added `hasNext()` support on `Traversal` for `gremlin-python`.
 * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.



[16/26] tinkerpop git commit: Merge branch 'TINKERPOP-2035' into tp32

2018-10-03 Thread florianhockmann
Merge branch 'TINKERPOP-2035' into tp32


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

Branch: refs/heads/TINKERPOP-2015
Commit: d516c68289c666a1b8f11dc3fe9dd1e75315596f
Parents: abfe968 54ad5f4
Author: Jorge Bay Gondra 
Authored: Thu Sep 27 12:59:31 2018 +0200
Committer: Jorge Bay Gondra 
Committed: Thu Sep 27 12:59:31 2018 +0200

--
 .../gremlin-javascript/lib/driver/driver-remote-connection.js  | 2 ++
 1 file changed, 2 insertions(+)
--




[17/26] tinkerpop git commit: Updated nuget URL CTR

2018-10-03 Thread florianhockmann
Updated nuget URL CTR


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

Branch: refs/heads/TINKERPOP-2015
Commit: 07ab226ce2b7a5357a8367ccefadf959c2c07ec7
Parents: d516c68
Author: Stephen Mallette 
Authored: Thu Sep 27 11:01:28 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 11:01:45 2018 -0400

--
 gremlin-dotnet/src/pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/07ab226c/gremlin-dotnet/src/pom.xml
--
diff --git a/gremlin-dotnet/src/pom.xml b/gremlin-dotnet/src/pom.xml
index 664522a..aca3875 100644
--- a/gremlin-dotnet/src/pom.xml
+++ b/gremlin-dotnet/src/pom.xml
@@ -186,10 +186,10 @@ limitations under the License.
 the "ConfigFile" option to nuget.
 -->
 
-https://www.nuget.org/api/v2/package -ConfigFile 
${user.home}/.config/NuGet/NuGet.Config"/>
+https://api.nuget.org/v3/index.json 
-ConfigFile ${user.home}/.config/NuGet/NuGet.Config"/>
 
 
-https://www.nuget.org/api/v2/package 
-ConfigFile ${user.home}/.config/NuGet/NuGet.Config"/>
+https://api.nuget.org/v3/index.json 
-ConfigFile ${user.home}/.config/NuGet/NuGet.Config"/>
 
 
 



[12/26] tinkerpop git commit: Apply StringEscapeUtils in GroovyTranslator#convertToString(String)

2018-10-03 Thread florianhockmann
Apply StringEscapeUtils in GroovyTranslator#convertToString(String)


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

Branch: refs/heads/TINKERPOP-2015
Commit: aff2037b5973c62c0292ab3065761e923899aa57
Parents: 207c660
Author: Justin Chu <15710241+justinch...@users.noreply.github.com>
Authored: Fri Sep 21 15:12:26 2018 -0400
Committer: Justin Chu <15710241+justinch...@users.noreply.github.com>
Committed: Mon Sep 24 11:22:52 2018 -0400

--
 .../groovy/jsr223/GroovyTranslatorTest.java | 69 
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  4 +-
 2 files changed, 72 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/aff2037b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 56f9699..942f1a5 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -30,7 +30,10 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.TranslationStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
+import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge;
+import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
 import org.apache.tinkerpop.gremlin.util.function.Lambda;
 import org.junit.Test;
 
@@ -116,6 +119,17 @@ public class GroovyTranslatorTest extends 
AbstractGremlinTest {
 assertEquals(7, sacks.get(5).intValue());
 //
 assertEquals(24, 
t.getSideEffects().get("lengthSum").intValue());
+
+final String script = 
GroovyTranslator.of("g").translate(t.getBytecode());
+assertEquals("g.withSideEffect(\"lengthSum\",(int) 0).withSack((int) 
1)" +
+".V()" +
+".filter({it.get().label().equals('person')})" +
+".flatMap({it.get().vertices(Direction.OUT)})" +
+".map({it.get().value('name').length()})" +
+".sideEffect({ x -> x.sideEffects(\"lengthSum\", 
x.sideEffects('lengthSum') + x.get()) })" +
+".order().by({a,b -> a <=> b})" +
+".sack({ a,b -> a + b })",
+script);
 }
 
 @Test
@@ -141,4 +155,59 @@ public class GroovyTranslatorTest extends 
AbstractGremlinTest {
 public void shouldHaveValidToString() {
 assertEquals("translator[h:gremlin-groovy]", 
GroovyTranslator.of("h").toString());
 }
+
+@Test
+public void shouldEscapeStrings() {
+final GraphTraversalSource g = graph.traversal();
+final String script = 
GroovyTranslator.of("g").translate(g.addV("customer")
+.property("customer_id", 501L)
+.property("name", "Foo\u0020Bar")
+.property("age", 25)
+.property("special", "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/?")
+.asAdmin().getBytecode());
+
+assertEquals("g.addV(\"customer\")" +
+".property(\"customer_id\",501L)" +
+".property(\"name\",\"Foo Bar\")" +
+".property(\"age\",(int) 25)" +
+
".property(\"special\",\"\"\"`~!@#\\$%^&*()-_=+[{]}|;:'\\\",<.>/?\"\"\")",
+script);
+}
+
+@Test
+public void shouldHandleVertexAndEdge() {
+final GraphTraversalSource g = graph.traversal();
+
+final Object id1 = "customer:10:foo\u0020bar\u0020\u0024100#90"; // 
customer:10:foo bar $100#90
+final Vertex vertex1 = 
DetachedVertex.build().setLabel("customer").setId(id1)
+.create();
+final String script1 = 
GroovyTranslator.of("g").translate(g.V(vertex1).asAdmin().getBytecode());
+assertEquals("g.V(new 
org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex(" +
+"\"customer:10:foo 

[18/26] tinkerpop git commit: Remove release artifact SHA1 checksums and generate SHA512 checksums instead.

2018-10-03 Thread florianhockmann
Remove release artifact SHA1 checksums and generate SHA512 checksums instead.


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

Branch: refs/heads/TINKERPOP-2015
Commit: 0278c1576c165ec1217eb616995e9280509c8e67
Parents: 07ab226
Author: Daniel Kuppitz 
Authored: Mon Sep 24 08:47:27 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Sep 27 08:05:18 2018 -0700

--
 bin/validate-distribution.sh| 3 ++-
 docs/src/dev/developer/release.asciidoc | 3 ++-
 pom.xml | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0278c157/bin/validate-distribution.sh
--
diff --git a/bin/validate-distribution.sh b/bin/validate-distribution.sh
index 3622905..1fff5b5 100755
--- a/bin/validate-distribution.sh
+++ b/bin/validate-distribution.sh
@@ -85,11 +85,12 @@ fi
 
 echo -n "* downloading ${COMPONENT} (${ZIP_FILENAME})... "
 curl -Lsf ${URL} -o ${ZIP_FILENAME} || { echo "Failed to download 
${COMPONENT}" ; exit 1; }
-for ext in "asc" "sha1"
+for ext in "asc" "sha512"
 do
   curl -Lsf ${URL}.${ext} -o ${ZIP_FILENAME}.${ext} || { echo "Failed to 
download ${COMPONENT} (${ext})" ; exit 1 ; }
 done
 curl -Lsf ${URL}.md5 -o ${ZIP_FILENAME}.md5 && { echo "MD5 checksums should 
not be released (${ZIP_FILENAME}.md5)" ; exit 1 ; }
+curl -Lsf ${URL}.sha1 -o ${ZIP_FILENAME}.sha1 && { echo "SHA1 checksums should 
not be released (${ZIP_FILENAME}.sha1)" ; exit 1 ; }
 echo "OK"
 
 # validate zip file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0278c157/docs/src/dev/developer/release.asciidoc
--
diff --git a/docs/src/dev/developer/release.asciidoc 
b/docs/src/dev/developer/release.asciidoc
index eeb4679..f48e20c 100644
--- a/docs/src/dev/developer/release.asciidoc
+++ b/docs/src/dev/developer/release.asciidoc
@@ -215,8 +215,9 @@ for generating javadoc and without that the binary 
distributions won't contain t
 .. `cp 
~/.m2/repository/org/apache/tinkerpop/gremlin-console/xx.yy.zz/gremlin-console-xx.yy.zz-distribution.zip*
 dev/xx.yy.zz`
 .. `cp 
~/.m2/repository/org/apache/tinkerpop/gremlin-server/xx.yy.zz/gremlin-server-xx.yy.zz-distribution.zip*
 dev/xx.yy.zz`
 .. `cp 
~/.m2/repository/org/apache/tinkerpop/tinkerpop/xx.yy.zz/tinkerpop-xx.yy.zz-source-release.zip*
 dev/xx.yy.zz`
-.. `rm -f dev/*.md5`
 .. `cd dev/xx.yy.zz`
+.. `rm -f *.md5`
+.. `for file in *.sha1 ; do artifact=$(basename ${file} .sha1); sha512sum 
$artifact | awk '{print $1}' > ${artifact}.sha512; rm ${file}; done`
 .. pass:[ls * | xargs -n1 -I {} echo "mv apache-tinkerpop-{} {}" | sed 
-e 's/distribution/bin/' -e 's/source-release/src/' -e 
's/tinkerpop-tinkerpop/tinkerpop/' -e s'/^\(.*\) \(.*\) \(.*\)$/\1 \3 \2/' | 
/bin/bash]
 .. `cd ..; svn add xx.yy.zz/; svn ci -m "TinkerPop xx.yy.zz release"`
 . Execute `bin/validate-distribution.sh` and any other relevant testing.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0278c157/pom.xml
--
diff --git a/pom.xml b/pom.xml
index d13f60e..6b254a2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
 
 org.apache
 apache
-19
+21
 
 org.apache.tinkerpop
 tinkerpop



[19/26] tinkerpop git commit: Force travis to wait longer for output from spark tests before killing CTR

2018-10-03 Thread florianhockmann
Force travis to wait longer for output from spark tests before killing CTR


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

Branch: refs/heads/TINKERPOP-2015
Commit: 05c7dafc7d55d5c4927bb967f56358f81f7926ef
Parents: 07ab226
Author: Stephen Mallette 
Authored: Thu Sep 27 14:46:21 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 14:47:21 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/05c7dafc/.travis.yml
--
diff --git a/.travis.yml b/.travis.yml
index 8ca1346..1cedfa0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -30,4 +30,4 @@ jobs:
 - script: "touch gremlin-dotnet/src/.glv && touch gremlin-dotnet/test/.glv 
&& mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet"
 - script: "touch gremlin-python/.glv && mvn clean install -q -DskipTests 
&& mvn verify -pl gremlin-python"
 - script: "mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-javascript"
-- script: "mvn clean install -q -DskipTests && mvn verify -pl 
:spark-gremlin -DskipIntegrationTests=false"
+- script: "travis_wait 30 mvn clean install -q -DskipTests && mvn verify 
-pl :spark-gremlin -DskipIntegrationTests=false"



[15/26] tinkerpop git commit: Pass custom headers to the websocket connection

2018-10-03 Thread florianhockmann
Pass custom headers to the websocket connection

In order to authorize to the gremlin server (in this case AWS Neptune) i need 
to pass custom headers for authorization to the service. the PR will allow to 
send any headers (like an API key or signature) and pass them to the Websocket 
function.
While there can be many use cases for this, in my case i pass the Authorization 
& x-amz-date required for Signature V4 (IAM) authentication.


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

Branch: refs/heads/TINKERPOP-2015
Commit: 54ad5f45e73bae05b957b89539cb6a61d557f445
Parents: abfe968
Author: Lior Pollack 
Authored: Mon Sep 10 22:16:38 2018 +0300
Committer: Jorge Bay Gondra 
Committed: Thu Sep 27 12:58:44 2018 +0200

--
 .../gremlin-javascript/lib/driver/driver-remote-connection.js  | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/54ad5f45/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/driver-remote-connection.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/driver-remote-connection.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/driver-remote-connection.js
index 15836ba..ca059cf 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/driver-remote-connection.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/driver-remote-connection.js
@@ -49,12 +49,14 @@ class DriverRemoteConnection extends RemoteConnection {
* @param {String} [options.traversalSource] The traversal source. Defaults 
to: 'g'.
* @param {GraphSONWriter} [options.writer] The writer to use.
* @param {Authenticator} [options.authenticator] The authentication handler 
to use.
+   * @param {Object} [options.headers] An associative array containing the 
additional header key/values for the initial request.
* @constructor
*/
   constructor(url, options) {
 super(url);
 options = options || {};
 this._ws = new WebSocket(url, {
+  headers: options.headers,
   ca: options.ca,
   cert: options.cert,
   pfx: options.pfx,



[5/5] tinkerpop git commit: Merge branch 'tp33'

2018-10-03 Thread spmallette
Merge branch 'tp33'


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

Branch: refs/heads/master
Commit: 7ac00a13b4bfce60bc62e5c8d952681027ffebed
Parents: b788201 650f31f
Author: Stephen Mallette 
Authored: Wed Oct 3 06:13:04 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 06:13:04 2018 -0400

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7ac00a13/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--



[1/5] tinkerpop git commit: optmizes collection copy with Collections addAll

2018-10-03 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/master b788201bf -> 7ac00a13b


optmizes collection copy with Collections addAll


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

Branch: refs/heads/master
Commit: 0e34073d8a756a52eda571bd9ddac0b94b42d54a
Parents: ca3a343
Author: Otavio Santana 
Authored: Wed Aug 22 16:45:19 2018 -0300
Committer: Otavio Santana 
Committed: Wed Aug 22 16:54:16 2018 -0300

--
 .../traversal/dsl/graph/GraphTraversal.java| 17 +
 .../step/sideEffect/SideEffectCapStep.java |  4 +---
 2 files changed, 6 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0e34073d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 1dccead..5ba7823 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -149,6 +149,7 @@ import 
org.apache.tinkerpop.gremlin.util.function.ConstantSupplier;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
@@ -1484,16 +1485,12 @@ public interface GraphTraversal extends 
Traversal {
 else {
 final List ids = new ArrayList<>();
 if (id instanceof Object[]) {
-for (final Object i : (Object[]) id) {
-ids.add(i);
-}
+Collections.addAll(ids, (Object[]) id);
 } else
 ids.add(id);
 for (final Object i : otherIds) {
 if (i.getClass().isArray()) {
-for (final Object ii : (Object[]) i) {
-ids.add(ii);
-}
+Collections.addAll(ids, (Object[]) i);
 } else
 ids.add(i);
 }
@@ -1559,16 +1556,12 @@ public interface GraphTraversal extends 
Traversal {
 else {
 final List values = new ArrayList<>();
 if (value instanceof Object[]) {
-for (final Object v : (Object[]) value) {
-values.add(v);
-}
+Collections.addAll(values, (Object[]) value);
 } else
 values.add(value);
 for (final Object v : otherValues) {
 if (v instanceof Object[]) {
-for (final Object vv : (Object[]) v) {
-values.add(vv);
-}
+Collections.addAll(values, (Object[]) v);
 } else
 values.add(v);
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0e34073d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
index 5ac5b27..337dbe4 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
@@ -46,9 +46,7 @@ public final class SideEffectCapStep extends 
SupplyingBarrierStep {
 super(traversal);
 this.sideEffectKeys = new ArrayList<>(1 + sideEffectKeys.length);
 this.sideEffectKeys.add(sideEffectKey);
-for (final String key : sideEffectKeys) {
-this.sideEffectKeys.add(key);
-}
+Collections.addAll(this.sideEffectKeys, sideEffectKeys);
 }
 
 @Override



[1/4] tinkerpop git commit: optmizes collection copy with Collections addAll

2018-10-03 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp33 c10bde339 -> 650f31f1b


optmizes collection copy with Collections addAll


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

Branch: refs/heads/tp33
Commit: 0e34073d8a756a52eda571bd9ddac0b94b42d54a
Parents: ca3a343
Author: Otavio Santana 
Authored: Wed Aug 22 16:45:19 2018 -0300
Committer: Otavio Santana 
Committed: Wed Aug 22 16:54:16 2018 -0300

--
 .../traversal/dsl/graph/GraphTraversal.java| 17 +
 .../step/sideEffect/SideEffectCapStep.java |  4 +---
 2 files changed, 6 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0e34073d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 1dccead..5ba7823 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -149,6 +149,7 @@ import 
org.apache.tinkerpop.gremlin.util.function.ConstantSupplier;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
@@ -1484,16 +1485,12 @@ public interface GraphTraversal extends 
Traversal {
 else {
 final List ids = new ArrayList<>();
 if (id instanceof Object[]) {
-for (final Object i : (Object[]) id) {
-ids.add(i);
-}
+Collections.addAll(ids, (Object[]) id);
 } else
 ids.add(id);
 for (final Object i : otherIds) {
 if (i.getClass().isArray()) {
-for (final Object ii : (Object[]) i) {
-ids.add(ii);
-}
+Collections.addAll(ids, (Object[]) i);
 } else
 ids.add(i);
 }
@@ -1559,16 +1556,12 @@ public interface GraphTraversal extends 
Traversal {
 else {
 final List values = new ArrayList<>();
 if (value instanceof Object[]) {
-for (final Object v : (Object[]) value) {
-values.add(v);
-}
+Collections.addAll(values, (Object[]) value);
 } else
 values.add(value);
 for (final Object v : otherValues) {
 if (v instanceof Object[]) {
-for (final Object vv : (Object[]) v) {
-values.add(vv);
-}
+Collections.addAll(values, (Object[]) v);
 } else
 values.add(v);
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0e34073d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
index 5ac5b27..337dbe4 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java
@@ -46,9 +46,7 @@ public final class SideEffectCapStep extends 
SupplyingBarrierStep {
 super(traversal);
 this.sideEffectKeys = new ArrayList<>(1 + sideEffectKeys.length);
 this.sideEffectKeys.add(sideEffectKey);
-for (final String key : sideEffectKeys) {
-this.sideEffectKeys.add(key);
-}
+Collections.addAll(this.sideEffectKeys, sideEffectKeys);
 }
 
 @Override



[2/3] tinkerpop git commit: fixes traversal

2018-10-03 Thread spmallette
fixes traversal


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

Branch: refs/heads/tp32
Commit: b34bf4da9bf4829d6474ccdb9397a30b705bd01d
Parents: 0e34073
Author: Otavio Santana 
Authored: Tue Sep 25 15:57:52 2018 -0300
Committer: Otavio Santana 
Committed: Tue Sep 25 15:57:52 2018 -0300

--
 .../traversal/dsl/graph/GraphTraversal.java | 37 ++--
 1 file changed, 27 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b34bf4da/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 5ba7823..ba09a7c 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -1480,22 +1480,39 @@ public interface GraphTraversal extends 
Traversal {
  * @since 3.2.2
  */
 public default GraphTraversal hasId(final Object id, final Object... 
otherIds) {
-if (id instanceof P)
+if (id instanceof P) {
 return this.hasId((P) id);
+}
 else {
-final List ids = new ArrayList<>();
+Object[] ids;
 if (id instanceof Object[]) {
-Collections.addAll(ids, (Object[]) id);
-} else
-ids.add(id);
+ids = (Object[]) id;
+} else {
+ids = new Object[] {id};
+}
+int size = ids.length;
+int capacity = size;
 for (final Object i : otherIds) {
 if (i.getClass().isArray()) {
-Collections.addAll(ids, (Object[]) i);
-} else
-ids.add(i);
+final Object[] tmp = (Object[]) i;
+int newLength = size + tmp.length;
+if (capacity < newLength) {
+ids = Arrays.copyOf(ids, capacity = size + tmp.length);
+}
+System.arraycopy(tmp, 0, ids, size, tmp.length);
+size = newLength;
+} else {
+if (capacity == size) {
+ids = Arrays.copyOf(ids, capacity = size * 2);
+}
+ids[size++] = i;
+}
+}
+if (capacity > size) {
+ids = Arrays.copyOf(ids, size);
 }
-this.asAdmin().getBytecode().addStep(Symbols.hasId, ids.toArray());
-return TraversalHelper.addHasContainer(this.asAdmin(), new 
HasContainer(T.id.getAccessor(), ids.size() == 1 ? P.eq(ids.get(0)) : 
P.within(ids)));
+this.asAdmin().getBytecode().addStep(Symbols.hasId, ids);
+return TraversalHelper.addHasContainer(this.asAdmin(), new 
HasContainer(T.id.getAccessor(), ids.length == 1 ? P.eq(ids[0]) : 
P.within(ids)));
 }
 }
 



[3/3] tinkerpop git commit: Merge branch 'pr-920' into tp32

2018-10-03 Thread spmallette
Merge branch 'pr-920' into tp32


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

Branch: refs/heads/tp32
Commit: 76c9aba94f0f5c464fe4be975809c7dce9c7b92b
Parents: e7af98b b34bf4d
Author: Stephen Mallette 
Authored: Wed Oct 3 06:12:43 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 06:12:43 2018 -0400

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




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

2018-10-03 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/650f31f1
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/650f31f1
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/650f31f1

Branch: refs/heads/tp33
Commit: 650f31f1b8bee2ddfcda56afd41612a2e3d36b6a
Parents: c10bde3 76c9aba
Author: Stephen Mallette 
Authored: Wed Oct 3 06:12:56 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 06:12:56 2018 -0400

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650f31f1/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--



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

2018-10-03 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/650f31f1
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/650f31f1
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/650f31f1

Branch: refs/heads/master
Commit: 650f31f1b8bee2ddfcda56afd41612a2e3d36b6a
Parents: c10bde3 76c9aba
Author: Stephen Mallette 
Authored: Wed Oct 3 06:12:56 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 06:12:56 2018 -0400

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650f31f1/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--



[3/5] tinkerpop git commit: Merge branch 'pr-920' into tp32

2018-10-03 Thread spmallette
Merge branch 'pr-920' into tp32


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

Branch: refs/heads/master
Commit: 76c9aba94f0f5c464fe4be975809c7dce9c7b92b
Parents: e7af98b b34bf4d
Author: Stephen Mallette 
Authored: Wed Oct 3 06:12:43 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 06:12:43 2018 -0400

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




[2/4] tinkerpop git commit: fixes traversal

2018-10-03 Thread spmallette
fixes traversal


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

Branch: refs/heads/tp33
Commit: b34bf4da9bf4829d6474ccdb9397a30b705bd01d
Parents: 0e34073
Author: Otavio Santana 
Authored: Tue Sep 25 15:57:52 2018 -0300
Committer: Otavio Santana 
Committed: Tue Sep 25 15:57:52 2018 -0300

--
 .../traversal/dsl/graph/GraphTraversal.java | 37 ++--
 1 file changed, 27 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b34bf4da/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 5ba7823..ba09a7c 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -1480,22 +1480,39 @@ public interface GraphTraversal extends 
Traversal {
  * @since 3.2.2
  */
 public default GraphTraversal hasId(final Object id, final Object... 
otherIds) {
-if (id instanceof P)
+if (id instanceof P) {
 return this.hasId((P) id);
+}
 else {
-final List ids = new ArrayList<>();
+Object[] ids;
 if (id instanceof Object[]) {
-Collections.addAll(ids, (Object[]) id);
-} else
-ids.add(id);
+ids = (Object[]) id;
+} else {
+ids = new Object[] {id};
+}
+int size = ids.length;
+int capacity = size;
 for (final Object i : otherIds) {
 if (i.getClass().isArray()) {
-Collections.addAll(ids, (Object[]) i);
-} else
-ids.add(i);
+final Object[] tmp = (Object[]) i;
+int newLength = size + tmp.length;
+if (capacity < newLength) {
+ids = Arrays.copyOf(ids, capacity = size + tmp.length);
+}
+System.arraycopy(tmp, 0, ids, size, tmp.length);
+size = newLength;
+} else {
+if (capacity == size) {
+ids = Arrays.copyOf(ids, capacity = size * 2);
+}
+ids[size++] = i;
+}
+}
+if (capacity > size) {
+ids = Arrays.copyOf(ids, size);
 }
-this.asAdmin().getBytecode().addStep(Symbols.hasId, ids.toArray());
-return TraversalHelper.addHasContainer(this.asAdmin(), new 
HasContainer(T.id.getAccessor(), ids.size() == 1 ? P.eq(ids.get(0)) : 
P.within(ids)));
+this.asAdmin().getBytecode().addStep(Symbols.hasId, ids);
+return TraversalHelper.addHasContainer(this.asAdmin(), new 
HasContainer(T.id.getAccessor(), ids.length == 1 ? P.eq(ids[0]) : 
P.within(ids)));
 }
 }
 



[2/5] tinkerpop git commit: fixes traversal

2018-10-03 Thread spmallette
fixes traversal


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

Branch: refs/heads/master
Commit: b34bf4da9bf4829d6474ccdb9397a30b705bd01d
Parents: 0e34073
Author: Otavio Santana 
Authored: Tue Sep 25 15:57:52 2018 -0300
Committer: Otavio Santana 
Committed: Tue Sep 25 15:57:52 2018 -0300

--
 .../traversal/dsl/graph/GraphTraversal.java | 37 ++--
 1 file changed, 27 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b34bf4da/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 5ba7823..ba09a7c 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -1480,22 +1480,39 @@ public interface GraphTraversal extends 
Traversal {
  * @since 3.2.2
  */
 public default GraphTraversal hasId(final Object id, final Object... 
otherIds) {
-if (id instanceof P)
+if (id instanceof P) {
 return this.hasId((P) id);
+}
 else {
-final List ids = new ArrayList<>();
+Object[] ids;
 if (id instanceof Object[]) {
-Collections.addAll(ids, (Object[]) id);
-} else
-ids.add(id);
+ids = (Object[]) id;
+} else {
+ids = new Object[] {id};
+}
+int size = ids.length;
+int capacity = size;
 for (final Object i : otherIds) {
 if (i.getClass().isArray()) {
-Collections.addAll(ids, (Object[]) i);
-} else
-ids.add(i);
+final Object[] tmp = (Object[]) i;
+int newLength = size + tmp.length;
+if (capacity < newLength) {
+ids = Arrays.copyOf(ids, capacity = size + tmp.length);
+}
+System.arraycopy(tmp, 0, ids, size, tmp.length);
+size = newLength;
+} else {
+if (capacity == size) {
+ids = Arrays.copyOf(ids, capacity = size * 2);
+}
+ids[size++] = i;
+}
+}
+if (capacity > size) {
+ids = Arrays.copyOf(ids, size);
 }
-this.asAdmin().getBytecode().addStep(Symbols.hasId, ids.toArray());
-return TraversalHelper.addHasContainer(this.asAdmin(), new 
HasContainer(T.id.getAccessor(), ids.size() == 1 ? P.eq(ids.get(0)) : 
P.within(ids)));
+this.asAdmin().getBytecode().addStep(Symbols.hasId, ids);
+return TraversalHelper.addHasContainer(this.asAdmin(), new 
HasContainer(T.id.getAccessor(), ids.length == 1 ? P.eq(ids[0]) : 
P.within(ids)));
 }
 }
 



[3/4] tinkerpop git commit: Merge branch 'pr-920' into tp32

2018-10-03 Thread spmallette
Merge branch 'pr-920' into tp32


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

Branch: refs/heads/tp33
Commit: 76c9aba94f0f5c464fe4be975809c7dce9c7b92b
Parents: e7af98b b34bf4d
Author: Stephen Mallette 
Authored: Wed Oct 3 06:12:43 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 06:12:43 2018 -0400

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




[05/26] tinkerpop git commit: Merge branch 'TINKERPOP-1921' into tp32

2018-10-03 Thread florianhockmann
Merge branch 'TINKERPOP-1921' into tp32


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

Branch: refs/heads/TINKERPOP-2015
Commit: 67879780b03e031c5f36fdc97769874a18b76495
Parents: ec0e685 9dbd2d2
Author: Stephen Mallette 
Authored: Fri Sep 14 09:30:21 2018 -0400
Committer: Stephen Mallette 
Committed: Fri Sep 14 09:30:21 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 gremlin-python/glv/TraversalSource.template | 40 
 .../jython/gremlin_python/process/traversal.py  | 40 
 .../driver/test_driver_remote_connection.py | 39 +++
 4 files changed, 120 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67879780/CHANGELOG.asciidoc
--
diff --cc CHANGELOG.asciidoc
index 8e36d6d,8f14b8e..116c79d
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -32,9 -32,8 +32,10 @@@ image::https://raw.githubusercontent.co
  * Added an system error code for failed plugin installs for Gremlin Server 
`-i` option.
  * Match numbers in `choose()` options using `NumberHelper` (match values, 
ignore data type).
  * Added support for GraphSON serialization of `Date` in Javascript.
 +* Added synchronized `Map` to Gryo 1.0 registrations.
 +* Added `Triple` to Gryo 1.0 registrations.
  * Added better internal processing of `Column` in `by(Function)`.
+ * Added `hasNext()` support on `Traversal` for `gremlin-python`.
  * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.
  * Fixed bug in Java driver where an disorderly shutdown of the server would 
cause the client to hang.
  * Added a dotnet template project that should make it easier to get started 
with Gremlin.Net.



[10/26] tinkerpop git commit: Updated changelog CTR

2018-10-03 Thread florianhockmann
Updated changelog CTR


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

Branch: refs/heads/TINKERPOP-2015
Commit: 0426797a5a3da5b05a35cbbf075dc4100d5d5412
Parents: 4bdf0d2
Author: Stephen Mallette 
Authored: Fri Sep 21 15:15:50 2018 -0400
Committer: Stephen Mallette 
Committed: Fri Sep 21 15:15:50 2018 -0400

--
 CHANGELOG.asciidoc | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0426797a/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 948f8df..c1e8b56 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -46,6 +46,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Fixed bug in `branch()` where reducing steps as options would produce 
incorrect results.
 * Removed recursive handling of streaming results from Gremlin-Python driver 
to avoid max recursion depth errors.
 * Improved performance of `TraversalVertexProgram` and related infrastructure.
+* Checked web socket state before closing connection in the .NET driver.
 * Deprecated `BulkLoaderVertexProgram` and related infrastructure.
 * Deprecated `BulkDumperVertexProgram` with the more aptly named 
`CloneVertexProgram`.
 * Added `createGratefulDead()` to `TinkerFactory` to help make it easier to 
try to instantiate that toy graph.



[03/26] tinkerpop git commit: TINKERPOP-2032 bump jython-standalone 2.7.1

2018-10-03 Thread florianhockmann
TINKERPOP-2032 bump jython-standalone 2.7.1


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

Branch: refs/heads/TINKERPOP-2015
Commit: f77749132b2e535acd917a46fdd72defe5683d92
Parents: c029eef
Author: Robert Dale 
Authored: Tue Sep 11 08:35:33 2018 -0400
Committer: Robert Dale 
Committed: Tue Sep 11 08:38:40 2018 -0400

--
 CHANGELOG.asciidoc | 1 +
 gremlin-python/pom.xml | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f7774913/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 158cc7a..8909e78 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -23,6 +23,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 [[release-3-2-10]]
 === TinkerPop 3.2.10 (Release Date: NOT OFFICIALLY RELEASED YET)
 
+* Bumped jython-standalone 2.7.1
 * SSL security enhancements
 * Added Gremlin version to Gremlin Server startup logging output.
 * Fixed problem with Gremlin Server sometimes returning an additional message 
after a failure.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f7774913/gremlin-python/pom.xml
--
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 13c3454..ccd85b5 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -34,7 +34,7 @@ limitations under the License.
 
 org.python
 jython-standalone
-2.7.1b2
+2.7.1
 
 
 



[20/26] tinkerpop git commit: Merge branch 'travis-wait' into tp32

2018-10-03 Thread florianhockmann
Merge branch 'travis-wait' into tp32


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

Branch: refs/heads/TINKERPOP-2015
Commit: 2250a85e18e4065d3021973c94fe9f2fc201305b
Parents: 0278c15 05c7daf
Author: Stephen Mallette 
Authored: Thu Sep 27 15:35:57 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 15:35:57 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[26/26] tinkerpop git commit: Expose WebSocket configuration TINKERPOP-2015

2018-10-03 Thread florianhockmann
Expose WebSocket configuration TINKERPOP-2015

Users can now provide a delegate to the Gremlin.Net driver that will be
used to configure WebSocket connections.


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

Branch: refs/heads/TINKERPOP-2015
Commit: b440742393135fdd88d4af18b09ade5f5011133e
Parents: e7af98b
Author: Florian Hockmann 
Authored: Sun Sep 9 14:49:03 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:08:14 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  8 +--
 .../src/Gremlin.Net/Driver/GremlinClient.cs |  9 +--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 50 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index e93c1c9..36a34f2 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 * Removed conflicting non-indy groovy core dependency
 * Bumped jython-standalone 2.7.1
+* Added a delegate to the Gremlin.Net driver that can be used to configure the 
WebSocket connection.
 * SSL security enhancements
 * Added Gremlin version to Gremlin Server startup logging output.
 * Fixed problem with Gremlin Server sometimes returning an additional message 
after a failure.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index dbbd375..f63e20b 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@ -23,6 +23,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Net.WebSockets;
 using System.Text;
 using System.Threading.Tasks;
 using Gremlin.Net.Driver.Messages;
@@ -38,18 +39,19 @@ namespace Gremlin.Net.Driver
 private readonly GraphSONWriter _graphSONWriter;
 private readonly JsonMessageSerializer _messageSerializer = new 
JsonMessageSerializer();
 private readonly Uri _uri;
-private readonly WebSocketConnection _webSocketConnection = new 
WebSocketConnection();
+private readonly WebSocketConnection _webSocketConnection;
 private readonly string _username;
 private readonly string _password;
 
 public Connection(Uri uri, string username, string password, 
GraphSONReader graphSONReader,
-GraphSONWriter graphSONWriter)
+GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
 {
 _uri = uri;
 _username = username;
 _password = password;
 _graphSONReader = graphSONReader;
 _graphSONWriter = graphSONWriter;
+_webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
 }
 
 public async Task> 
SubmitAsync(RequestMessage requestMessage)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
index 0041a67..8b14ed9 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
@@ -21,6 +21,8 @@
 
 #endregion
 
+using System;
+using System.Net.WebSockets;
 using Gremlin.Net.Structure.IO.GraphSON;
 
 namespace Gremlin.Net.Driver
@@ -29,20 +31,22 @@ namespace Gremlin.Net.Driver
 {
 private readonly GraphSONReader _graphSONReader;
 private readonly GraphSONWriter _graphSONWriter;
+private readonly Action 
_webSocketConfiguration;
 private readonly GremlinServer _gremlinServer;
 
 public ConnectionFactory(GremlinServer gremlinServer, GraphSONReader 
graphSONReader,
-GraphSONWriter graphSONWriter)
+GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
 {
 _gremlinServer = gremlinServer;
 _graphSONReader = graphSONReader;
  

[09/26] tinkerpop git commit: Merge remote-tracking branch 'origin/TINKERPOP-2026' into tp32

2018-10-03 Thread florianhockmann
Merge remote-tracking branch 'origin/TINKERPOP-2026' into tp32


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

Branch: refs/heads/TINKERPOP-2015
Commit: 4bdf0d212af4eba5f841ce27e751dfd9f1b8a9bc
Parents: af73f45 4965803
Author: Stephen Mallette 
Authored: Fri Sep 21 15:12:29 2018 -0400
Committer: Stephen Mallette 
Committed: Fri Sep 21 15:12:29 2018 -0400

--
 .../Gremlin.Net/Driver/WebSocketConnection.cs| 19 ---
 1 file changed, 16 insertions(+), 3 deletions(-)
--




[01/26] tinkerpop git commit: Make closing of connections robust TINKERPOP-2026 [Forced Update!]

2018-10-03 Thread florianhockmann
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-2015 828b0503e -> b44074239 (forced update)


Make closing of connections robust TINKERPOP-2026


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

Branch: refs/heads/TINKERPOP-2015
Commit: 4965803ae8e9283817e0171e1c463014c9166970
Parents: 3afc576
Author: Florian Hockmann 
Authored: Sat Sep 1 17:02:23 2018 +0200
Committer: Florian Hockmann 
Committed: Sat Sep 1 17:02:23 2018 +0200

--
 .../Gremlin.Net/Driver/WebSocketConnection.cs| 19 ---
 1 file changed, 16 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4965803a/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs
index 9672606..b5a4cc8 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs
@@ -43,11 +43,24 @@ namespace Gremlin.Net.Driver
 
 public async Task CloseAsync()
 {
-await
-_client.CloseAsync(WebSocketCloseStatus.NormalClosure, 
string.Empty, CancellationToken.None)
-.ConfigureAwait(false);
+if (CloseAlreadyInitiated) return;
+
+try
+{
+await
+_client.CloseAsync(WebSocketCloseStatus.NormalClosure, 
string.Empty, CancellationToken.None)
+.ConfigureAwait(false);
+}
+catch (Exception)
+{
+// Swallow exceptions silently as there is nothing to do when 
closing fails
+}
 }
 
+private bool CloseAlreadyInitiated => _client.State == 
WebSocketState.Closed ||
+_client.State == 
WebSocketState.Aborted ||
+_client.State == 
WebSocketState.CloseSent;
+
 public async Task SendMessageAsync(byte[] message)
 {
 await



[24/26] tinkerpop git commit: Merge branch 'TINKERPOP-2045' into tp32

2018-10-03 Thread florianhockmann
Merge branch 'TINKERPOP-2045' into tp32


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

Branch: refs/heads/TINKERPOP-2015
Commit: d0659bd4334f69810cee20d05a6f329d3673220e
Parents: 0403156 6e320da
Author: Robert Dale 
Authored: Tue Oct 2 03:47:28 2018 -0400
Committer: Robert Dale 
Committed: Tue Oct 2 03:47:28 2018 -0400

--
 CHANGELOG.asciidoc |  1 +
 gremlin-driver/pom.xml | 14 ++
 gremlin-groovy/pom.xml | 21 +
 3 files changed, 36 insertions(+)
--




[08/26] tinkerpop git commit: Fixed bad links in javadoc CTR

2018-10-03 Thread florianhockmann
Fixed bad links in javadoc CTR


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

Branch: refs/heads/TINKERPOP-2015
Commit: af73f45ad1afd94d984bd144523060fc948cb234
Parents: 0eec0c5
Author: Stephen Mallette 
Authored: Thu Sep 20 15:47:58 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 20 15:47:58 2018 -0400

--
 .../java/org/apache/tinkerpop/gremlin/driver/Cluster.java | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/af73f45a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
--
diff --git 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
index 7ae8d2d..33ff574 100644
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
@@ -656,7 +656,7 @@ public final class Cluster {
 /**
  * File location for a SSL Certificate Chain to use when SSL is 
enabled. If this value is not provided and
  * SSL is enabled, the default {@link TrustManager} will be used.
- * @deprecated As of release 3.2.10, replaced by {@link trustStore}
+ * @deprecated As of release 3.2.10, replaced by {@link #trustStore}
  */
 @Deprecated
 public Builder trustCertificateChainFile(final String 
certificateChainFile) {
@@ -676,7 +676,7 @@ public final class Cluster {
 
 /**
  * The X.509 certificate chain file in PEM format.
- * @deprecated As of release 3.2.10, replaced by {@link keyStore}
+ * @deprecated As of release 3.2.10, replaced by {@link #keyStore}
  */
 @Deprecated
 public Builder keyCertChainFile(final String keyCertChainFile) {
@@ -686,7 +686,7 @@ public final class Cluster {
 
 /**
  * The PKCS#8 private key file in PEM format.
- * @deprecated As of release 3.2.10, replaced by {@link keyStore}
+ * @deprecated As of release 3.2.10, replaced by {@link #keyStore}
  */
 @Deprecated
 public Builder keyFile(final String keyFile) {
@@ -696,7 +696,7 @@ public final class Cluster {
 
 /**
  * The password of the {@link #keyFile}, or {@code null} if it's not 
password-protected.
- * @deprecated As of release 3.2.10, replaced by {@link 
keyStorePassword}
+ * @deprecated As of release 3.2.10, replaced by {@link 
#keyStorePassword}
  */
 @Deprecated
 public Builder keyPassword(final String keyPassword) {
@@ -738,7 +738,7 @@ public final class Cluster {
 }
 
 /**
- * The format of the {@link keyStore}, either {@code JKS} or {@code 
PKCS12} 
+ * The format of the {@link #keyStore}, either {@code JKS} or {@code 
PKCS12}
  */
 public Builder keyStoreType(final String keyStoreType) {
 this.keyStoreType = keyStoreType;



[06/26] tinkerpop git commit: Merge branch 'TINKERPOP-2032' into tp32

2018-10-03 Thread florianhockmann
Merge branch 'TINKERPOP-2032' into tp32


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

Branch: refs/heads/TINKERPOP-2015
Commit: a4945162fd969d6c47f69a138d60d266fb88564d
Parents: 6787978 f777491
Author: Robert Dale 
Authored: Wed Sep 19 08:43:10 2018 -0400
Committer: Robert Dale 
Committed: Wed Sep 19 08:43:10 2018 -0400

--
 CHANGELOG.asciidoc | 1 +
 gremlin-python/pom.xml | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


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



[04/26] tinkerpop git commit: TINKERPOP-2034 Registered synchronizedMap() with Gryo CTR

2018-10-03 Thread florianhockmann
TINKERPOP-2034 Registered synchronizedMap() with Gryo CTR

This has no real effect here, but is relevant to continued compatibility with 
Gryo 1.0 in 3.4.0. Also added Triplet to Gryo as it was added in 3.4.0 as part 
of repeat() CTR


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

Branch: refs/heads/TINKERPOP-2015
Commit: ec0e6856e9355b3b46be4c7e104a2b55d57d766d
Parents: c029eef
Author: Stephen Mallette 
Authored: Wed Sep 12 10:28:03 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Sep 12 10:28:03 2018 -0400

--
 CHANGELOG.asciidoc  |  2 ++
 .../gremlin/structure/io/gryo/GryoVersion.java  | 14 -
 .../structure/io/gryo/UtilSerializers.java  | 33 
 3 files changed, 48 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec0e6856/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 158cc7a..8e36d6d 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -32,6 +32,8 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added an system error code for failed plugin installs for Gremlin Server 
`-i` option.
 * Match numbers in `choose()` options using `NumberHelper` (match values, 
ignore data type).
 * Added support for GraphSON serialization of `Date` in Javascript.
+* Added synchronized `Map` to Gryo 1.0 registrations.
+* Added `Triple` to Gryo 1.0 registrations.
 * Added better internal processing of `Column` in `by(Function)`.
 * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.
 * Fixed bug in Java driver where an disorderly shutdown of the server would 
cause the client to hang.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ec0e6856/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
index 6d5e99a..5f973e3 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
@@ -84,6 +84,7 @@ import 
org.apache.tinkerpop.gremlin.util.function.MultiComparator;
 import org.apache.tinkerpop.shaded.kryo.KryoSerializable;
 import org.apache.tinkerpop.shaded.kryo.serializers.JavaSerializer;
 import org.javatuples.Pair;
+import org.javatuples.Triplet;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
@@ -191,6 +192,7 @@ public enum GryoVersion {
 add(GryoTypeReg.of(Collections.singleton(null).getClass(), 54));
 add(GryoTypeReg.of(Collections.singletonList(null).getClass(), 
24));
 add(GryoTypeReg.of(Collections.singletonMap(null, 
null).getClass(), 23));
+add(GryoTypeReg.of(Types.COLLECTIONS_SYNCHRONIZED_MAP, 185, new 
UtilSerializers.SynchronizedMapSerializer()));  // ***LAST ID***
 add(GryoTypeReg.of(Contains.class, 49));
 add(GryoTypeReg.of(Currency.class, 40));
 add(GryoTypeReg.of(Date.class, 38));
@@ -280,6 +282,7 @@ public enum GryoVersion {
 add(GryoTypeReg.of(MapReduce.NullObject.class, 74));
 add(GryoTypeReg.of(AtomicLong.class, 79));
 add(GryoTypeReg.of(Pair.class, 88, new 
UtilSerializers.PairSerializer()));
+add(GryoTypeReg.of(Triplet.class, 183, new 
UtilSerializers.TripletSerializer()));
 add(GryoTypeReg.of(TraversalExplanation.class, 106, new 
JavaSerializer()));
 
 add(GryoTypeReg.of(Duration.class, 93, new 
JavaTimeSerializers.DurationSerializer()));
@@ -308,7 +311,7 @@ public enum GryoVersion {
 add(GryoTypeReg.of(OrderGlobalStep.OrderBiOperator.class, 118, new 
JavaSerializer()));
 add(GryoTypeReg.of(ProfileStep.ProfileBiOperator.class, 119));
 // skip 171, 172 to sync with tp33
-
add(GryoTypeReg.of(IndexedTraverserSet.VertexIndexedTraverserSet.class, 173));  
   // ***LAST ID***
+
add(GryoTypeReg.of(IndexedTraverserSet.VertexIndexedTraverserSet.class, 173));
 }};
 }
 
@@ -332,6 +335,8 @@ public enum GryoVersion {
 
 private static final Class HASH_MAP_TREE_NODE;
 
+private static final Class 

[07/26] tinkerpop git commit: Fixed javadoc links CTR

2018-10-03 Thread florianhockmann
Fixed javadoc links CTR


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

Branch: refs/heads/TINKERPOP-2015
Commit: 0eec0c53a9759096d5ff594af7986f46c7c27e1a
Parents: a494516
Author: Stephen Mallette 
Authored: Wed Sep 19 13:31:32 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Sep 19 13:31:32 2018 -0400

--
 .../org/apache/tinkerpop/gremlin/server/Settings.java | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0eec0c53/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
--
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
index 4acfea0..a87362b 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
@@ -459,7 +459,7 @@ public class Settings {
 /**
  * The X.509 certificate chain file in PEM format.
  * 
- * @deprecated As of release 3.2.10, replaced by {@link keyStore}
+ * @deprecated As of release 3.2.10, replaced by {@link #keyStore}
  */
 @Deprecated
 public String keyCertChainFile = null;
@@ -467,7 +467,7 @@ public class Settings {
 /**
  * The PKCS#8 private key file in PEM format.
  * 
- * @deprecated As of release 3.2.10, replaced by {@link keyStore}
+ * @deprecated As of release 3.2.10, replaced by {@link #keyStore}
  */
 @Deprecated
 public String keyFile = null;
@@ -476,7 +476,7 @@ public class Settings {
  * The password of the {@link #keyFile}, or {@code null} if it's not
  * password-protected.
  * 
- * @deprecated As of release 3.2.10, replaced by {@link 
keyStorePassword}
+ * @deprecated As of release 3.2.10, replaced by {@link 
#keyStorePassword}
  */
 @Deprecated
 public String keyPassword = null;
@@ -486,7 +486,7 @@ public class Settings {
  * file should contain an X.509 certificate chain in PEM format. 
{@code null}
  * uses the system default.
  * 
- * @deprecated As of release 3.2.10, replaced by {@link trustStore}
+ * @deprecated As of release 3.2.10, replaced by {@link #trustStore}
  */
 @Deprecated
 public String trustCertChainFile = null;
@@ -513,7 +513,7 @@ public class Settings {
 public String trustStorePassword;
 
 /**
- * The format of the {@link keyStore}, either {@code JKS} or {@code 
PKCS12}
+ * The format of the {@link #keyStore}, either {@code JKS} or {@code 
PKCS12}
  */
 public String keyStoreType;
 



[21/26] tinkerpop git commit: Incremented timeout for travis CTR

2018-10-03 Thread florianhockmann
Incremented timeout for travis CTR


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

Branch: refs/heads/TINKERPOP-2015
Commit: e55b0d81437c5e8729b47153993de497b32c3932
Parents: 2250a85
Author: Stephen Mallette 
Authored: Thu Sep 27 16:52:42 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 16:52:42 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e55b0d81/.travis.yml
--
diff --git a/.travis.yml b/.travis.yml
index 1cedfa0..1188940 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -30,4 +30,4 @@ jobs:
 - script: "touch gremlin-dotnet/src/.glv && touch gremlin-dotnet/test/.glv 
&& mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet"
 - script: "touch gremlin-python/.glv && mvn clean install -q -DskipTests 
&& mvn verify -pl gremlin-python"
 - script: "mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-javascript"
-- script: "travis_wait 30 mvn clean install -q -DskipTests && mvn verify 
-pl :spark-gremlin -DskipIntegrationTests=false"
+- script: "travis_wait 60 mvn clean install -q -DskipTests && mvn verify 
-pl :spark-gremlin -DskipIntegrationTests=false"



[22/26] tinkerpop git commit: Multi-line the travis spark integration script job CTR

2018-10-03 Thread florianhockmann
Multi-line the travis spark integration script job CTR


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

Branch: refs/heads/TINKERPOP-2015
Commit: 03c3e48ef0e9f7ef103b2722e5f7acae97c7ee40
Parents: e55b0d8
Author: Stephen Mallette 
Authored: Thu Sep 27 20:56:23 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 20:56:23 2018 -0400

--
 .travis.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/03c3e48e/.travis.yml
--
diff --git a/.travis.yml b/.travis.yml
index 1188940..46a99cc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -30,4 +30,6 @@ jobs:
 - script: "touch gremlin-dotnet/src/.glv && touch gremlin-dotnet/test/.glv 
&& mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet"
 - script: "touch gremlin-python/.glv && mvn clean install -q -DskipTests 
&& mvn verify -pl gremlin-python"
 - script: "mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-javascript"
-- script: "travis_wait 60 mvn clean install -q -DskipTests && mvn verify 
-pl :spark-gremlin -DskipIntegrationTests=false"
+- script:
+  - "mvn clean install -q -DskipTests"
+  - "travis_wait 60 mvn verify -pl :spark-gremlin 
-DskipIntegrationTests=false"



[11/26] tinkerpop git commit: TINKERPOP-2030 Cancelled keep-alive tasks are removed from queue

2018-10-03 Thread florianhockmann
TINKERPOP-2030 Cancelled keep-alive tasks are removed from queue


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

Branch: refs/heads/TINKERPOP-2015
Commit: 207c660a17a45df79c154720ba088d1852d80b4e
Parents: 0426797
Author: Stephen Mallette 
Authored: Thu Sep 20 16:25:34 2018 -0400
Committer: Stephen Mallette 
Committed: Fri Sep 21 21:39:19 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 .../tinkerpop/gremlin/driver/Cluster.java   | 23 +++-
 2 files changed, 14 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/207c660a/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index c1e8b56..9431d98 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -31,6 +31,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Fixed bug in traversals that used Python lambdas with strategies in 
`gremlin-python`.
 * Modified Maven archetype for Gremlin Server to use remote traversals rather 
than scripts.
 * Added an system error code for failed plugin installs for Gremlin Server 
`-i` option.
+* Fixed bug in keep-alive requests from over-queuing cancelled jobs.
 * Match numbers in `choose()` options using `NumberHelper` (match values, 
ignore data type).
 * Added support for GraphSON serialization of `Date` in Javascript.
 * Added synchronized `Map` to Gryo 1.0 registrations.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/207c660a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
--
diff --git 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
index 33ff574..9adaaa1 100644
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
@@ -62,6 +62,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
@@ -703,7 +704,7 @@ public final class Cluster {
 this.keyPassword = keyPassword;
 return this;
 }
-
+
 /**
  * The file location of the private key in JKS or PKCS#12 format.
  */
@@ -711,7 +712,7 @@ public final class Cluster {
 this.keyStore = keyStore;
 return this;
 }
-
+
 /**
  * The password of the {@link #keyStore}, or {@code null} if it's not 
password-protected.
  */
@@ -719,7 +720,7 @@ public final class Cluster {
 this.keyStorePassword = keyStorePassword;
 return this;
 }
-
+
 /**
  * The file location for a SSL Certificate Chain to use when SSL is 
enabled. If
  * this value is not provided and SSL is enabled, the default {@link 
TrustManager} will be used.
@@ -728,7 +729,7 @@ public final class Cluster {
 this.trustStore = trustStore;
 return this;
 }
-
+
 /**
  * The password of the {@link #trustStore}, or {@code null} if it's 
not password-protected.
  */
@@ -736,7 +737,7 @@ public final class Cluster {
 this.trustStorePassword = trustStorePassword;
 return this;
 }
-
+
 /**
  * The format of the {@link #keyStore}, either {@code JKS} or {@code 
PKCS12}
  */
@@ -744,7 +745,7 @@ public final class Cluster {
 this.keyStoreType = keyStoreType;
 return this;
 }
-
+
 /**
  * A list of SSL protocols to enable. @see https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSE_Protocols;>JSSE
@@ -754,7 +755,7 @@ public final class Cluster {
 this.sslEnabledProtocols = sslEnabledProtocols;
 return this;
 }
-
+
 /**
  * A list of cipher suites to enable. @see https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SupportedCipherSuites;>Cipher
@@ -764,7 +765,7 @@ public final class Cluster {
 this.sslCipherSuites = sslCipherSuites;
 return this;
 }
- 

tinkerpop git commit: TINKERPOP-2055 Updated IO docs to include special numbers

2018-10-03 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-2055 b54202782 -> a083fbff6


TINKERPOP-2055 Updated IO docs to include special numbers


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

Branch: refs/heads/TINKERPOP-2055
Commit: a083fbff62fcc38a3dae9b138f56b0d052e0c143
Parents: b542027
Author: Stephen Mallette 
Authored: Wed Oct 3 05:30:27 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 05:30:27 2018 -0400

--
 docs/src/dev/io/graphson.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a083fbff/docs/src/dev/io/graphson.asciidoc
--
diff --git a/docs/src/dev/io/graphson.asciidoc 
b/docs/src/dev/io/graphson.asciidoc
index c120634..064ac2e 100644
--- a/docs/src/dev/io/graphson.asciidoc
+++ b/docs/src/dev/io/graphson.asciidoc
@@ -1491,6 +1491,8 @@ types. By default, TinkerPop types will have the 
namespace "g" (or "gx" for "ext
 
  Double
 
+While the `@value` is expected to be a JSON number, it might also be a 
`String` of `NaN`, `Infinity` or `-Infinity`.
+
 [source,json]
 
 {



[1/2] tinkerpop git commit: TINKERPOP-2055 Added special number handling in javascript

2018-10-03 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-2055 854914e6e -> b54202782


TINKERPOP-2055 Added special number handling in javascript


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

Branch: refs/heads/TINKERPOP-2055
Commit: 2d3041f226310379c966214461c79cf47432f4c9
Parents: 854914e
Author: Stephen Mallette 
Authored: Wed Oct 3 04:33:40 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 04:33:40 2018 -0400

--
 .../lib/structure/io/type-serializers.js| 30 ++-
 .../test/unit/graphson-test.js  | 39 
 2 files changed, 67 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d3041f2/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
index fdf049f..5583c47 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
@@ -49,11 +49,37 @@ class TypeSerializer {
 
 class NumberSerializer extends TypeSerializer {
   serialize(item) {
-return item;
+if (isNaN(item)) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: 'NaN'
+  };
+} else if (item === Number.POSITIVE_INFINITY) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: 'Infinity'
+  };
+} else if (item === Number.NEGATIVE_INFINITY) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: '-Infinity'
+  };
+} else {
+  return item;
+}
   }
 
   deserialize(obj) {
-return parseFloat(obj[valueKey]);
+var val = obj[valueKey];
+if (val === 'NaN') {
+  return NaN;
+} else if (val === 'Infinity') {
+  return Number.POSITIVE_INFINITY;
+} else if (val === '-Infinity') {
+  return Number.NEGATIVE_INFINITY;
+} else {
+  return parseFloat(val);
+}
   }
 
   canBeUsedFor(value) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d3041f2/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
index b459407..a1ac0d6 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
@@ -46,6 +46,30 @@ describe('GraphSONReader', function () {
   assert.strictEqual(result, item[1]);
 });
   });
+  it('should parse GraphSON Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "NaN"
+  });
+  assert.ok(isNaN(result));
+  });
+  it('should parse GraphSON -Infinity and Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "-Infinity"
+  });
+  assert.strictEqual(result, Number.NEGATIVE_INFINITY);
+  });
+  it('should parse GraphSON Infinity and Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "Infinity"
+  });
+  assert.strictEqual(result, Number.POSITIVE_INFINITY);
+  });
   it('should parse Date', function() {
 const obj = { "@type" : "g:Date", "@value" : 1481750076295 };
 const reader = new GraphSONReader();
@@ -102,6 +126,21 @@ describe('GraphSONWriter', function () {
 const writer = new GraphSONWriter();
 assert.strictEqual(writer.write(2), '2');
   });
+  it('should write NaN', function () {
+const writer = new GraphSONWriter();
+const expected = JSON.stringify({ "@type" : "g:Double", "@value" : "NaN" 
});
+assert.strictEqual(writer.write(NaN), expected);
+  });
+  it('should write Infinity', function () {
+const writer = new GraphSONWriter();
+const expected = JSON.stringify({ "@type" : "g:Double", "@value" : 
"Infinity" });
+

[2/2] tinkerpop git commit: TINKERPOP-2055 Added tests for .Net on special numbers

2018-10-03 Thread spmallette
TINKERPOP-2055 Added tests for .Net on special numbers


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

Branch: refs/heads/TINKERPOP-2055
Commit: b542027825fe905c0c46b81a00fe7dfd5275e8c6
Parents: 2d3041f
Author: Stephen Mallette 
Authored: Wed Oct 3 05:11:56 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 05:11:56 2018 -0400

--
 .../IO/GraphSON/GraphSONReaderTests.cs  | 38 ++--
 .../IO/GraphSON/GraphSONWriterTests.cs  | 30 
 2 files changed, 66 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
index 74bf385..08a91ae 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
@@ -24,11 +24,9 @@
 using System;
 using System.Collections.Generic;
 using System.Numerics;
-using Gremlin.Net.Process.Traversal;
 using Gremlin.Net.Structure;
 using Gremlin.Net.Structure.IO.GraphSON;
 using Moq;
-using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Xunit;
 
@@ -178,6 +176,42 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 }
 
 [Fact]
+public void ShouldDeserializeNaN()
+{
+var serializedValue = "{\"@type\":\"g:Double\",\"@value\":'NaN'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.NaN, deserializedValue);
+}
+
+[Fact]
+public void ShouldDeserializePositiveInfinity()
+{
+var serializedValue = 
"{\"@type\":\"g:Double\",\"@value\":'Infinity'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.PositiveInfinity, deserializedValue);
+}
+
+[Fact]
+public void ShouldDeserializeNegativeInfinity()
+{
+var serializedValue = 
"{\"@type\":\"g:Double\",\"@value\":'-Infinity'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.NegativeInfinity, deserializedValue);
+}
+
+[Fact]
 public void ShouldDeserializeDecimal()
 {
 var serializedValue = 
"{\"@type\":\"gx:BigDecimal\",\"@value\":-8.201}";

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
index a544fb3..13fbddc 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
@@ -81,6 +81,36 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 }
 
 [Fact]
+public void ShouldSerializeNaN()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.NaN);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"NaN\"}", 
graphSon);
+}
+
+[Fact]
+public void ShouldSerializePositiveInfinity()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.PositiveInfinity);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"Infinity\"}", 
graphSon);
+}
+
+[Fact]
+public void ShouldSerializeNegativeInfinity()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.NegativeInfinity);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"-Infinity\"}", 
graphSon);
+}
+
+