You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2018/03/13 18:33:27 UTC

[01/31] tinkerpop git commit: TINKERPOP-1884 Bump to Netty 4.0.56.Final [Forced Update!]

Repository: tinkerpop
Updated Branches:
  refs/heads/TRAVIS-TEST f18cec874 -> 806a7275b (forced update)


TINKERPOP-1884 Bump to Netty 4.0.56.Final


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

Branch: refs/heads/TRAVIS-TEST
Commit: eefc4dbf04396b57e1ff1d66292e5bedaf5ee1da
Parents: 4db0991
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sat Mar 3 09:41:34 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Sat Mar 3 10:47:00 2018 -0500

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


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eefc4dbf/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index a24b1fb..9544e2a 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -34,6 +34,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Removed hardcoded expectation in metrics serialization test suite as different providers may have different outputs.
 * Added `IndexedTraverserSet` which indexes on the value of a `Traverser` thus improving performance when used.
 * Utilized `IndexedTraverserSet` in `TraversalVertexProgram` to avoid extra iteration when doing `Vertex` lookups.
+* Bumped to Netty 4.0.56.Final.
 * Fixed a bug in Gremlin Console which prevented handling of `gremlin.sh` flags that had an "=" between the flag and its arguments.
 * Fixed bug where `SparkMessenger` was not applying the `edgeFunction` from `MessageScope`.
 * Fixed a bug in `ComputerAwareStep` that didn't handle `reset()` properly and thus occasionally produced some extra traversers.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eefc4dbf/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index f6ff536..90e8215 100644
--- a/pom.xml
+++ b/pom.xml
@@ -147,7 +147,7 @@ limitations under the License.
         <javadoc-plugin.version>2.10.4</javadoc-plugin.version>
         <jcabi.version>1.1</jcabi.version>
         <metrics.version>3.0.2</metrics.version>
-        <netty.version>4.0.53.Final</netty.version>
+        <netty.version>4.0.56.Final</netty.version>
         <slf4j.version>1.7.21</slf4j.version>
         <snakeyaml.version>1.15</snakeyaml.version>
         <spark.version>1.6.1</spark.version>


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

Posted by dk...@apache.org.
Merge branch 'tp32' into tp33

Conflicts:
	gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs


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

Branch: refs/heads/TRAVIS-TEST
Commit: 3797c7d6dac97d94f27faa8cbda31540b74d2539
Parents: 53c84bd f38c2bb
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 08:30:41 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 08:30:41 2018 -0400

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                        |  5 -----
 gremlin-test/features/sideEffect/Sack.feature           | 12 ++++++------
 2 files changed, 6 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3797c7d6/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------
diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index 08693b2,9d0f15d..cff0858
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@@ -40,13 -40,6 +40,8 @@@ namespace Gremlin.Net.IntegrationTest.G
          private static readonly IDictionary<string, IgnoreReason> IgnoredScenarios =
              new Dictionary<string, IgnoreReason>
              {
 +                { "g_V_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported },   // TINKERPOP-1866
 +                { "g_V_valueMapXtrue_name_ageX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
-                 {
-                     "g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack",
-                     IgnoreReason.NumericalValuesHaveWrongTypes
-                 },
-                 {"g_withBulkXfalseX_withSackX1_sumX_V_out_barrier_sack", IgnoreReason.NumericalValuesHaveWrongTypes},
                  {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
                  {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray},
                  {


[18/31] tinkerpop git commit: Merge branch 'TINKERPOP-1884-tp33' into tp33

Posted by dk...@apache.org.
Merge branch 'TINKERPOP-1884-tp33' into tp33


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

Branch: refs/heads/TRAVIS-TEST
Commit: 7f06a18eafbbfd10ac4ea978afa3fbb2b7fdf658
Parents: d62e50e ed57980
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 10:05:38 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 10:05:38 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc | 3 ++-
 pom.xml            | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7f06a18e/pom.xml
----------------------------------------------------------------------


[14/31] tinkerpop git commit: Merge branch 'tp33'

Posted by dk...@apache.org.
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/3bbdbded
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3bbdbded
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3bbdbded

Branch: refs/heads/TRAVIS-TEST
Commit: 3bbdbded24dd2f6072873acbfe4c7311b0cc2aa7
Parents: 22000e4 3797c7d
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 08:30:53 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 08:30:53 2018 -0400

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                        |  5 -----
 gremlin-test/features/sideEffect/Sack.feature           | 12 ++++++------
 2 files changed, 6 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3bbdbded/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------


[30/31] tinkerpop git commit: foo

Posted by dk...@apache.org.
foo


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

Branch: refs/heads/TRAVIS-TEST
Commit: 16c0172a00c2c39ee67bc1f30968582cb75cb864
Parents: 6e0ccd8
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue Mar 13 11:33:06 2018 -0700
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue Mar 13 11:33:06 2018 -0700

----------------------------------------------------------------------
 .../traversal/strategy/decoration/SubgraphStrategy.java | 12 +++++++++++-
 .../traversal/util/DefaultTraversalStrategies.java      |  4 ++--
 2 files changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/16c0172a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java
index e0d260f..f19e83b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java
@@ -43,6 +43,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.map.VertexStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SideEffectStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.EmptyStep;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequirement;
 import org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
 import org.apache.tinkerpop.gremlin.structure.Direction;
@@ -170,6 +171,7 @@ public final class SubgraphStrategy extends AbstractTraversalStrategy<TraversalS
         }
 
         // turn g.V().out() to g.V().outE().inV() only if there is an edge predicate otherwise
+        boolean addPathRequirement = false;
         for (final VertexStep<?> step : vertexSteps) {
             if (step.returnsEdge())
                 continue;
@@ -177,7 +179,8 @@ public final class SubgraphStrategy extends AbstractTraversalStrategy<TraversalS
                 TraversalHelper.insertAfterStep(new TraversalFilterStep<>(traversal, (Traversal) this.vertexCriterion.clone()), step, traversal);
             } else {
                 final VertexStep<Edge> someEStep = new VertexStep<>(traversal, Edge.class, step.getDirection(), step.getEdgeLabels());
-                final Step<Edge, Vertex> someVStep = step.getDirection() == Direction.BOTH ?
+                final boolean requiresPathRequirement;
+                final Step<Edge, Vertex> someVStep = (requiresPathRequirement = step.getDirection() == Direction.BOTH) ?
                         new EdgeOtherVertexStep(traversal) :
                         new EdgeVertexStep(traversal, step.getDirection().opposite());
 
@@ -189,9 +192,16 @@ public final class SubgraphStrategy extends AbstractTraversalStrategy<TraversalS
                     TraversalHelper.insertAfterStep(new TraversalFilterStep<>(traversal, this.edgeCriterion.clone()), someEStep, traversal);
                 if (null != this.vertexCriterion)
                     TraversalHelper.insertAfterStep(new TraversalFilterStep<>(traversal, this.vertexCriterion.clone()), someVStep, traversal);
+
+                addPathRequirement |= requiresPathRequirement;
             }
         }
 
+        if (addPathRequirement) {
+            final Traversal.Admin rootTraversal = TraversalHelper.getRootTraversal(traversal);
+            RequirementsStrategy.addRequirements(rootTraversal.getStrategies(), TraverserRequirement.PATH);
+        }
+
         // turn g.V().properties() to g.V().properties().xxx
         // turn g.V().values() to g.V().properties().xxx.value()
         if (null != this.vertexPropertyCriterion) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/16c0172a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalStrategies.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalStrategies.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalStrategies.java
index 74e84e2..91a49e2 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalStrategies.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalStrategies.java
@@ -82,8 +82,8 @@ public class DefaultTraversalStrategies implements TraversalStrategies {
 
     @Override
     public void applyStrategies(final Traversal.Admin<?, ?> traversal) {
-        for (final TraversalStrategy<?> traversalStrategy : this.traversalStrategies) {
-            traversalStrategy.apply(traversal);
+        for (int i = 0; i < this.traversalStrategies.size(); i++) {
+            this.traversalStrategies.get(i).apply(traversal);
         }
     }
 


[02/31] tinkerpop git commit: Merge branch 'TINKERPOP-1884' into TINKERPOP-1884-tp33

Posted by dk...@apache.org.
Merge branch 'TINKERPOP-1884' into TINKERPOP-1884-tp33


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

Branch: refs/heads/TRAVIS-TEST
Commit: 09bb99056e853a96b7ba173ef6f66c56d3f9de34
Parents: 27cc574 eefc4db
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sat Mar 3 10:48:48 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Sat Mar 3 10:48:48 2018 -0500

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


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/09bb9905/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index db8e41b,90e8215..1c7a04b
--- a/pom.xml
+++ b/pom.xml
@@@ -146,10 -147,10 +146,10 @@@ limitations under the License
          <javadoc-plugin.version>2.10.4</javadoc-plugin.version>
          <jcabi.version>1.1</jcabi.version>
          <metrics.version>3.0.2</metrics.version>
-         <netty.version>4.0.53.Final</netty.version>
+         <netty.version>4.0.56.Final</netty.version>
          <slf4j.version>1.7.21</slf4j.version>
          <snakeyaml.version>1.15</snakeyaml.version>
 -        <spark.version>1.6.1</spark.version>
 +        <spark.version>2.2.0</spark.version>
  
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>


[11/31] tinkerpop git commit: Merge branch 'tp33'

Posted by dk...@apache.org.
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/22000e44
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/22000e44
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/22000e44

Branch: refs/heads/TRAVIS-TEST
Commit: 22000e449fb29abb7ffddad6f65b35a8accffd35
Parents: da63965 53c84bd
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sun Mar 11 16:16:35 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sun Mar 11 16:16:35 2018 +0100

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                | 37 +++++++++++++++-----
 .../Gherkin/IgnoreException.cs                  | 20 +++++++----
 2 files changed, 42 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/22000e44/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------


[05/31] tinkerpop git commit: TINKERPOP-1911 Refactored JavaTranslator

Posted by dk...@apache.org.
TINKERPOP-1911 Refactored JavaTranslator

Cached methods that were being reflected on every translation which improved performance a bit.


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

Branch: refs/heads/TRAVIS-TEST
Commit: d9db27f4aa7b8227a557cf5bbb31203612d7548f
Parents: 2c6c151
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Mar 6 13:00:30 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Mar 6 13:00:30 2018 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../jsr223/JavaTranslatorBenchmark.java         | 76 ++++++++++++++++++++
 .../gremlin/jsr223/JavaTranslator.java          | 58 ++++++++++++---
 3 files changed, 125 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d9db27f4/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index b9f22e1..54e5347 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -27,6 +27,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`.
 * Added the "Kitchen Sink" test data set.
 * Fixed deserialization of `P.not()` for GraphSON.
+* Improved performance of `JavaTranslator` by caching reflected methods required for traversal construction.
 * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.
 * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits.
 * Delayed setting of the request identifier until `RequestMessage` construction by the builder.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d9db27f4/gremlin-benchmark/src/main/java/org/apache/tinkerpop/jsr223/JavaTranslatorBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/jsr223/JavaTranslatorBenchmark.java b/gremlin-benchmark/src/main/java/org/apache/tinkerpop/jsr223/JavaTranslatorBenchmark.java
new file mode 100644
index 0000000..d33b574
--- /dev/null
+++ b/gremlin-benchmark/src/main/java/org/apache/tinkerpop/jsr223/JavaTranslatorBenchmark.java
@@ -0,0 +1,76 @@
+/*
+ * 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.jsr223;
+
+import org.apache.tinkerpop.benchmark.util.AbstractBenchmarkBase;
+import org.apache.tinkerpop.gremlin.jsr223.JavaTranslator;
+import org.apache.tinkerpop.gremlin.process.traversal.P;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
+import org.openjdk.jmh.annotations.Benchmark;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.State;
+
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.as;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.hasLabel;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.inE;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.values;
+
+/**
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+@State(Scope.Thread)
+public class JavaTranslatorBenchmark extends AbstractBenchmarkBase {
+
+    private final Graph graph = EmptyGraph.instance();
+    private final GraphTraversalSource g = graph.traversal();
+    private final JavaTranslator<GraphTraversalSource, GraphTraversal.Admin<Vertex,Vertex>> translator = JavaTranslator.of(g);
+
+    @Benchmark
+    public GraphTraversal.Admin<Vertex,Vertex> testTranslationShort() {
+        return translator.translate(g.V().asAdmin().getBytecode());
+    }
+
+    @Benchmark
+    public GraphTraversal.Admin<Vertex,Vertex> testTranslationMedium() {
+        return translator.translate(g.V().out().in("link").out().in("link").asAdmin().getBytecode());
+    }
+
+    @Benchmark
+    public GraphTraversal.Admin<Vertex,Vertex> testTranslationLong() {
+        return translator.translate(g.V().match(
+                as("a").has("song", "name", "HERE COMES SUNSHINE"),
+                as("a").map(inE("followedBy").values("weight").mean()).as("b"),
+                as("a").inE("followedBy").as("c"),
+                as("c").filter(values("weight").where(P.gte("b"))).outV().as("d")).
+                <String>select("d").by("name").asAdmin().getBytecode());
+    }
+
+    @Benchmark
+    public GraphTraversal.Admin<Vertex,Vertex> testTranslationWithStrategy() {
+        return translator.translate(g.withStrategies(ReadOnlyStrategy.instance())
+                .withStrategies(SubgraphStrategy.build().vertices(hasLabel("person")).create())
+                .V().out().in("link").out().in("link").asAdmin().getBytecode());
+    }
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d9db27f4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
index c39ee23..df12055 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
@@ -53,13 +53,15 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
     private static final boolean IS_TESTING = Boolean.valueOf(System.getProperty("is.testing", "false"));
 
     private final S traversalSource;
-    private final Class anonymousTraversal;
+    private final Class<?> anonymousTraversal;
     private static final Map<Class<?>, Map<String, List<Method>>> GLOBAL_METHOD_CACHE = new ConcurrentHashMap<>();
-
+    private final Map<Class<?>, Map<String,Method>> localMethodCache = new ConcurrentHashMap<>();
+    private final Method anonymousTraversalStart;
 
     private JavaTranslator(final S traversalSource) {
         this.traversalSource = traversalSource;
         this.anonymousTraversal = traversalSource.getAnonymousTraversalClass().orElse(null);
+        this.anonymousTraversalStart = getStartMethodFromAnonymousTraversal();
     }
 
     public static <S extends TraversalSource, T extends Traversal.Admin<?, ?>> JavaTranslator<S, T> of(final S traversalSource) {
@@ -110,7 +112,7 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
             return translateObject(((Bytecode.Binding) object).value());
         else if (object instanceof Bytecode) {
             try {
-                final Traversal.Admin<?, ?> traversal = (Traversal.Admin) this.anonymousTraversal.getMethod("start").invoke(null);
+                final Traversal.Admin<?, ?> traversal = (Traversal.Admin) this.anonymousTraversalStart.invoke(null);
                 for (final Bytecode.Instruction instruction : ((Bytecode) object).getStepInstructions()) {
                     invokeMethod(traversal, Traversal.class, instruction.getOperator(), instruction.getArguments());
                 }
@@ -122,13 +124,7 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
             final Map<String, Object> map = new HashMap<>();
             final Configuration configuration = ((TraversalStrategyProxy) object).getConfiguration();
             configuration.getKeys().forEachRemaining(key -> map.put(key, translateObject(configuration.getProperty(key))));
-            try {
-                return map.isEmpty() ?
-                        ((TraversalStrategyProxy) object).getStrategyClass().getMethod("instance").invoke(null) :
-                        ((TraversalStrategyProxy) object).getStrategyClass().getMethod("create", Configuration.class).invoke(null, new MapConfiguration(map));
-            } catch (final NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
-                throw new IllegalStateException(e.getMessage(), e);
-            }
+            return invokeStrategyCreationMethod(object, map);
         } else if (object instanceof Map) {
             final Map<Object, Object> map = object instanceof Tree ?
                     new Tree() :
@@ -163,6 +159,37 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
             return object;
     }
 
+    private Object invokeStrategyCreationMethod(final Object delegate, final Map<String, Object> map) {
+        final Class<?> strategyClass = ((TraversalStrategyProxy) delegate).getStrategyClass();
+        final Map<String, Method> methodCache = localMethodCache.computeIfAbsent(strategyClass, k -> {
+            final Map<String, Method> cacheEntry = new HashMap<>();
+            try {
+                cacheEntry.put("instance", strategyClass.getMethod("instance"));
+            } catch (NoSuchMethodException ignored) {
+                // nothing - the strategy may not be constructed this way
+            }
+
+            try {
+                cacheEntry.put("create", strategyClass.getMethod("create", Configuration.class));
+            } catch (NoSuchMethodException ignored) {
+                // nothing - the strategy may not be constructed this way
+            }
+
+            if (cacheEntry.isEmpty())
+                throw new IllegalStateException(String.format("%s does can only be constructed with instance() or create(Configuration)", strategyClass.getSimpleName()));
+
+            return cacheEntry;
+        });
+
+        try {
+            return map.isEmpty() ?
+                    methodCache.get("instance").invoke(null) :
+                    methodCache.get("create").invoke(null, new MapConfiguration(map));
+        } catch (final InvocationTargetException | IllegalAccessException e) {
+            throw new IllegalStateException(e.getMessage(), e);
+        }
+    }
+
     private Object invokeMethod(final Object delegate, final Class returnType, final String methodName, final Object... arguments) {
         // populate method cache for fast access to methods in subsequent calls
         final Map<String, List<Method>> methodCache = GLOBAL_METHOD_CACHE.getOrDefault(delegate.getClass(), new HashMap<>());
@@ -247,4 +274,15 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
             GLOBAL_METHOD_CACHE.put(delegate.getClass(), methodCache);
         }
     }
+
+    private Method getStartMethodFromAnonymousTraversal() {
+        if (this.anonymousTraversal != null) {
+            try {
+                return this.anonymousTraversal.getMethod("start");
+            } catch (NoSuchMethodException ignored) {
+            }
+        }
+
+        return null;
+    }
 }


[20/31] tinkerpop git commit: Merge branch 'TINKERPOP-1446'

Posted by dk...@apache.org.
Merge branch 'TINKERPOP-1446'

Conflicts:
	CHANGELOG.asciidoc


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

Branch: refs/heads/TRAVIS-TEST
Commit: c6c3f0f026c6d6e6c9c324c6e48835773a870ba0
Parents: 98ed875 c7bf69d
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 10:11:44 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 10:11:44 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                          | 1 +
 .../gremlin/process/traversal/step/util/EmptyPath.java      | 6 ++++++
 .../gremlin/process/traversal/step/util/ImmutablePath.java  | 3 ++-
 .../gremlin/process/traversal/step/util/MutablePath.java    | 3 ++-
 .../tinkerpop/gremlin/structure/util/StringFactory.java     | 9 +++++++--
 gremlin-dotnet/src/Gremlin.Net/Structure/Path.cs            | 2 +-
 .../Structure/IO/GraphSON/GraphSONReaderTests.cs            | 4 ++--
 .../test/Gremlin.Net.UnitTest/Structure/PathTests.cs        | 2 +-
 .../javascript/gremlin-javascript/lib/structure/graph.js    | 4 ++++
 .../src/main/jython/gremlin_python/structure/graph.py       | 2 +-
 .../src/main/jython/tests/structure/io/test_graphsonV2d0.py | 5 +----
 .../src/main/jython/tests/structure/io/test_graphsonV3d0.py | 5 +----
 .../src/main/jython/tests/structure/test_graph.py           | 2 +-
 13 files changed, 30 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c6c3f0f0/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 5a986c6,9ecb5a2..9afe904
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -25,8 -25,7 +25,9 @@@ NEED AND IMAG
  
  This release also includes changes from <<release-3-3-2, 3.3.2>>.
  
+ * Change the `toString()` of `Path` to be standardized as other graph elements are.
 +* Fixed a bug in `ReducingBarrierStep`, that returned the provided seed value despite no elements being available.
 +* Changed the order of `select()` scopes. The order is now: maps, side-effects, paths.
  
  == TinkerPop 3.3.0 (Gremlin Symphony #40 in G Minor)
  


[09/31] tinkerpop git commit: TINKERPOP-1892 Add better ignore reasons for tests in Gremlin.Net CTR

Posted by dk...@apache.org.
TINKERPOP-1892 Add better ignore reasons for tests in Gremlin.Net CTR


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

Branch: refs/heads/TRAVIS-TEST
Commit: bbb13772a791ae7116551ba1d62ea7d136fe60c7
Parents: ab66ed3
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sun Mar 11 16:10:17 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sun Mar 11 16:10:17 2018 +0100

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                | 32 +++++++++++++++++---
 .../Gherkin/IgnoreException.cs                  | 17 ++++++++---
 2 files changed, 40 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bbb13772/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index f3e823a..4a1d646 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -37,11 +37,33 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
 {
     public class GherkinTestRunner
     {
-        private static readonly IDictionary<string, IgnoreReason> IgnoredScenarios = new Dictionary<string, IgnoreReason> {
-            { "g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name", IgnoreReason.NeedsFurtherInvestigation }, // TINKERPOP-1859??
-            { "g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.NeedsFurtherInvestigation }, // TINKERPOP-1859??
-            { "g_withBulkXfalseX_withSackX1_sumX_V_out_barrier_sack", IgnoreReason.NeedsFurtherInvestigation } // TINKERPOP-1907
-        };
+        private static readonly IDictionary<string, IgnoreReason> IgnoredScenarios =
+            new Dictionary<string, IgnoreReason>
+            {
+                {
+                    "g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack",
+                    IgnoreReason.NumericalValuesHaveWrongTypes
+                },
+                {"g_withBulkXfalseX_withSackX1_sumX_V_out_barrier_sack", IgnoreReason.NumericalValuesHaveWrongTypes},
+                {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
+                {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray},
+                {
+                    "g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name",
+                    IgnoreReason.PNotCreatedCorrectlyByGherkinRunner
+                },
+                {
+                    "g_V_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_bothXknowsX_bothXknowsX_asXdX_whereXc__notXeqXaX_orXeqXdXXXX_selectXa_b_c_dX",
+                    IgnoreReason.PNotCreatedCorrectlyByGherkinRunner
+                },
+                {
+                    "g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_whereXa_gtXbX_orXeqXbXXX_byXageX_byXweightX_byXweightX_selectXa_cX_byXnameX",
+                    IgnoreReason.PNotCreatedCorrectlyByGherkinRunner
+                },
+                {
+                    "g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX",
+                    IgnoreReason.PNotCreatedCorrectlyByGherkinRunner
+                }
+            };
         
         private static class Keywords
         {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bbb13772/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
index 0179994..c8cb29a 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@ -41,10 +41,17 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             switch (reason)
             {
                 case IgnoreReason.LambdaNotSupported:
-                    reasonSuffix = " because lambdas are not supported in Gremlin.NET";
+                    reasonSuffix = " because lambdas are not supported in Gremlin.NET (TINKERPOP-1854)";
                     break;
-                case IgnoreReason.NeedsFurtherInvestigation:
-                    reasonSuffix = " as further investigation is required";
+                case IgnoreReason.PNotCreatedCorrectlyByGherkinRunner:
+                    reasonSuffix =
+                        " because the Gherkin runner can't call methods in TraversalPredicate class (TINKERPOP-1919)";
+                    break;
+                case IgnoreReason.NumericalValuesHaveWrongTypes:
+                    reasonSuffix = " because the asserts currently fail due to type mismatches (TINKERPOP-1918)";
+                    break;
+                case IgnoreReason.PWithinWrapsArgumentsInArray:
+                    reasonSuffix = " because P.Within() arguments are incorrectly wrapped in an array (TINKERPOP-1920)";
                     break;
             }
             return $"Scenario ignored" + reasonSuffix;
@@ -54,6 +61,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
     public enum IgnoreReason
     {
         LambdaNotSupported,
-        NeedsFurtherInvestigation
+        PNotCreatedCorrectlyByGherkinRunner,
+        NumericalValuesHaveWrongTypes,
+        PWithinWrapsArgumentsInArray
     }
 }
\ No newline at end of file


[27/31] tinkerpop git commit: Minor code refactoring in JavaTranslator CTR

Posted by dk...@apache.org.
Minor code refactoring in JavaTranslator CTR


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

Branch: refs/heads/TRAVIS-TEST
Commit: f02f94fd067799e5f532086a762c35abd3a11a93
Parents: b25b976
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Mar 13 08:40:10 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Mar 13 08:40:10 2018 -0400

----------------------------------------------------------------------
 .../apache/tinkerpop/gremlin/jsr223/JavaTranslator.java   | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f02f94fd/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
index df12055..3e0e6da 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
@@ -190,7 +190,7 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
         }
     }
 
-    private Object invokeMethod(final Object delegate, final Class returnType, final String methodName, final Object... arguments) {
+    private Object invokeMethod(final Object delegate, final Class<?> returnType, final String methodName, final Object... arguments) {
         // populate method cache for fast access to methods in subsequent calls
         final Map<String, List<Method>> methodCache = GLOBAL_METHOD_CACHE.getOrDefault(delegate.getClass(), new HashMap<>());
         if (methodCache.isEmpty()) buildMethodCache(delegate, methodCache);
@@ -222,7 +222,7 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
                                     found = false;
                                     break;
                                 }
-                                Object[] varArgs = (Object[]) Array.newInstance(parameterClass, argumentsCopy.length - i);
+                                final Object[] varArgs = (Object[]) Array.newInstance(parameterClass, argumentsCopy.length - i);
                                 int counter = 0;
                                 for (int j = i; j < argumentsCopy.length; j++) {
                                     varArgs[counter++] = argumentsCopy[j];
@@ -263,11 +263,7 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
         if (methodCache.isEmpty()) {
             for (final Method method : delegate.getClass().getMethods()) {
                 if (!(method.getName().equals("addV") && method.getParameterCount() == 1 && method.getParameters()[0].getType().equals(Object[].class))) { // hack cause its hard to tell Object[] vs. String :|
-                    List<Method> list = methodCache.get(method.getName());
-                    if (null == list) {
-                        list = new ArrayList<>();
-                        methodCache.put(method.getName(), list);
-                    }
+                    final List<Method> list = methodCache.computeIfAbsent(method.getName(), k -> new ArrayList<>());
                     list.add(method);
                 }
             }


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

Posted by dk...@apache.org.
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/f9f3d4fc
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f9f3d4fc
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f9f3d4fc

Branch: refs/heads/TRAVIS-TEST
Commit: f9f3d4fc8a65ddbd73dea51cc692d841e2766852
Parents: 510231a f02f94f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Mar 13 08:40:46 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Mar 13 08:40:46 2018 -0400

----------------------------------------------------------------------
 .../apache/tinkerpop/gremlin/jsr223/JavaTranslator.java   | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f9f3d4fc/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
----------------------------------------------------------------------


[29/31] tinkerpop git commit: Merge branch 'tp33'

Posted by dk...@apache.org.
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/6e0ccd83
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/6e0ccd83
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/6e0ccd83

Branch: refs/heads/TRAVIS-TEST
Commit: 6e0ccd836ead210c9e8e9d9b19bf4eabec6ed5f4
Parents: 116d743 f9f3d4f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Mar 13 08:40:59 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Mar 13 08:40:59 2018 -0400

----------------------------------------------------------------------
 .../apache/tinkerpop/gremlin/jsr223/JavaTranslator.java   | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[06/31] tinkerpop git commit: Make decimal serialization in Gremlin.Net culture independent CTR

Posted by dk...@apache.org.
Make decimal serialization in Gremlin.Net culture independent CTR

This led tests fail on my system and probably leads to broken
serialization of gx:BigDecimal on systems with ',' as the decimal
separator.


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

Branch: refs/heads/TRAVIS-TEST
Commit: ab66ed384b8c95475755dff1c558e392e0cc7e8c
Parents: 552820a
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sat Mar 10 16:29:42 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Mar 10 16:29:42 2018 +0100

----------------------------------------------------------------------
 .../src/Gremlin.Net/Structure/IO/GraphSON/NumberConverter.cs      | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ab66ed38/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/NumberConverter.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/NumberConverter.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/NumberConverter.cs
index 53dad94..8127415 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/NumberConverter.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/NumberConverter.cs
@@ -23,6 +23,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Globalization;
 using Newtonsoft.Json.Linq;
 
 namespace Gremlin.Net.Structure.IO.GraphSON
@@ -44,7 +45,7 @@ namespace Gremlin.Net.Structure.IO.GraphSON
             object value = objectData;
             if (StringifyValue)
             {
-                value = value?.ToString();
+                value = string.Format(CultureInfo.InvariantCulture, "{0}", value);
             }
             return GraphSONUtil.ToTypedValue(GraphSONTypeName, value, Prefix);
         }


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

Posted by dk...@apache.org.
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/510231ad
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/510231ad
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/510231ad

Branch: refs/heads/TRAVIS-TEST
Commit: 510231adbe77bf58d65f8f999e4a8b081e9d7894
Parents: 097ad01 b25b976
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Mon Mar 12 20:08:44 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Mon Mar 12 20:08:44 2018 +0100

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                          |  6 +++++-
 .../Gherkin/IgnoreException.cs                            | 10 +++++-----
 2 files changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/510231ad/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/510231ad/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
----------------------------------------------------------------------
diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
index 337a6c9,dae2ced..da455a8
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@@ -63,18 -60,9 +63,18 @@@ namespace Gremlin.Net.IntegrationTest.G
      
      public enum IgnoreReason
      {
 +        /// <summary>
 +        /// Lambdas are not supported on Gremlin.NET yet.
 +        /// </summary>
          LambdaNotSupported,
 +
 +        /// <summary>
 +        /// Deserialization of g:T on GraphSON3 is not supported.
 +        /// </summary>
 +        TraversalTDeserializationNotSupported,
 +
          PNotCreatedCorrectlyByGherkinRunner,
-         NumericalValuesHaveWrongTypes,
-         PWithinWrapsArgumentsInArray
+         PWithinWrapsArgumentsInArray,
+         PNotDeserializationProblem
      }
  }


[15/31] tinkerpop git commit: Merge branch 'TINKERPOP-1884' into tp32

Posted by dk...@apache.org.
Merge branch 'TINKERPOP-1884' into tp32


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

Branch: refs/heads/TRAVIS-TEST
Commit: f80a54277d488bae49d4e08032d26b50199189a0
Parents: f38c2bb eefc4db
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 10:04:17 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 10:04:17 2018 -0400

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


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f80a5427/pom.xml
----------------------------------------------------------------------


[26/31] tinkerpop git commit: Merge branch 'tp33'

Posted by dk...@apache.org.
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/116d743f
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/116d743f
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/116d743f

Branch: refs/heads/TRAVIS-TEST
Commit: 116d743f209292f675d8ded4907b39c629df1e03
Parents: bf58b63 510231a
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Mon Mar 12 20:09:10 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Mon Mar 12 20:09:10 2018 +0100

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                          |  6 +++++-
 .../Gherkin/IgnoreException.cs                            | 10 +++++-----
 2 files changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/116d743f/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------


[19/31] tinkerpop git commit: Merge branch 'tp33'

Posted by dk...@apache.org.
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/98ed8757
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/98ed8757
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/98ed8757

Branch: refs/heads/TRAVIS-TEST
Commit: 98ed8757ddfd21427b95bf0ac7c8ce3a8892ecf3
Parents: 0ac6ccf 7f06a18
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 10:05:47 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 10:05:47 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc | 3 ++-
 pom.xml            | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98ed8757/pom.xml
----------------------------------------------------------------------


[17/31] tinkerpop git commit: Merge branch 'tp33'

Posted by dk...@apache.org.
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/0ac6ccfa
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0ac6ccfa
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0ac6ccfa

Branch: refs/heads/TRAVIS-TEST
Commit: 0ac6ccfa8e0885f5ffc11795e6af61bc45184239
Parents: 3bbdbde d62e50e
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 10:04:41 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 10:04:41 2018 -0400

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


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0ac6ccfa/pom.xml
----------------------------------------------------------------------


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

Posted by dk...@apache.org.
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/097ad015
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/097ad015
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/097ad015

Branch: refs/heads/TRAVIS-TEST
Commit: 097ad015ee0595b290824543ebded7558f623a8c
Parents: 7f06a18 d3be13b
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 12:13:10 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 12:13:10 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../jsr223/JavaTranslatorBenchmark.java         | 76 ++++++++++++++++++++
 .../gremlin/jsr223/JavaTranslator.java          | 58 ++++++++++++---
 3 files changed, 125 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/097ad015/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
----------------------------------------------------------------------
diff --cc gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
index 0806c6d,df12055..2df8db5
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
@@@ -50,10 -50,13 +50,11 @@@ import java.util.concurrent.ConcurrentH
   */
  public final class JavaTranslator<S extends TraversalSource, T extends Traversal.Admin<?, ?>> implements Translator.StepTranslator<S, T> {
  
 -    private static final boolean IS_TESTING = Boolean.valueOf(System.getProperty("is.testing", "false"));
 -
      private final S traversalSource;
-     private final Class anonymousTraversal;
+     private final Class<?> anonymousTraversal;
      private static final Map<Class<?>, Map<String, List<Method>>> GLOBAL_METHOD_CACHE = new ConcurrentHashMap<>();
- 
+     private final Map<Class<?>, Map<String,Method>> localMethodCache = new ConcurrentHashMap<>();
+     private final Method anonymousTraversalStart;
  
      private JavaTranslator(final S traversalSource) {
          this.traversalSource = traversalSource;


[12/31] tinkerpop git commit: TINKERPOP-1918 Fixed some return types in the gherkin tests CTR

Posted by dk...@apache.org.
TINKERPOP-1918 Fixed some return types in the gherkin tests CTR


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

Branch: refs/heads/TRAVIS-TEST
Commit: f38c2bbf15c456f5067c0b65873e33756329269e
Parents: bbb1377
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 08:23:05 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 08:23:05 2018 -0400

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                        |  5 -----
 gremlin-test/features/sideEffect/Sack.feature           | 12 ++++++------
 2 files changed, 6 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f38c2bbf/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index 4a1d646..9d0f15d 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -40,11 +40,6 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
         private static readonly IDictionary<string, IgnoreReason> IgnoredScenarios =
             new Dictionary<string, IgnoreReason>
             {
-                {
-                    "g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack",
-                    IgnoreReason.NumericalValuesHaveWrongTypes
-                },
-                {"g_withBulkXfalseX_withSackX1_sumX_V_out_barrier_sack", IgnoreReason.NumericalValuesHaveWrongTypes},
                 {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
                 {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray},
                 {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f38c2bbf/gremlin-test/features/sideEffect/Sack.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/sideEffect/Sack.feature b/gremlin-test/features/sideEffect/Sack.feature
index 89e3946..8d97c0c 100644
--- a/gremlin-test/features/sideEffect/Sack.feature
+++ b/gremlin-test/features/sideEffect/Sack.feature
@@ -92,10 +92,10 @@ Feature: Step - sack()
     When iterated to list
     Then the result should be unordered
       | result |
-      | d[3].l |
-      | d[1].l |
-      | d[1].l |
-      | d[1].l |
+      | d[3].i |
+      | d[1].i |
+      | d[1].i |
+      | d[1].i |
 
   Scenario: g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack
     Given the modern graph
@@ -107,5 +107,5 @@ Feature: Step - sack()
     When iterated to list
     Then the result should be unordered
       | result |
-      | d[1.0].d |
-      | d[1.0].d |
\ No newline at end of file
+      | d[1.0].m |
+      | d[1.0].m |
\ No newline at end of file


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

Posted by dk...@apache.org.
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/99b6da25
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/99b6da25
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/99b6da25

Branch: refs/heads/TRAVIS-TEST
Commit: 99b6da259f4428f338bdb1b2d4528cfb201aca2e
Parents: 02e47ff ab66ed3
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sat Mar 10 16:30:07 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Mar 10 16:30:07 2018 +0100

----------------------------------------------------------------------
 .../src/Gremlin.Net/Structure/IO/GraphSON/NumberConverter.cs      | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[03/31] tinkerpop git commit: TINKERPOP-1884 Bump to Netty 4.1.21.Final

Posted by dk...@apache.org.
TINKERPOP-1884 Bump to Netty 4.1.21.Final


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

Branch: refs/heads/TRAVIS-TEST
Commit: ed57980cb34e2b60fc5a1a1570c7aa2252ee3c5a
Parents: 09bb990
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sat Mar 3 10:30:48 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Sat Mar 3 10:49:18 2018 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc | 3 ++-
 pom.xml            | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ed57980c/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 7f0496d..27bfa54 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,7 +25,8 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 This release also includes changes from <<release-3-2-8, 3.2.8>>.
 
-* Fixed regression issue where the HTTPChannelizer doesn't instantiate the specified AuthenticationHandler
+* Fixed regression issue where the HTTPChannelizer doesn't instantiate the specified AuthenticationHandler.
+* Bumped to Netty 4.1.21.Final.
 * Defaulted GLV tests for gremlin-python to run for GraphSON 3.0.
 * Fixed a bug with `Tree` serialization in GraphSON 3.0.
 * In gremlin-python, the GraphSON 3.0 `g:Set` type is now deserialized to `List`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ed57980c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 1c7a04b..10dde57 100644
--- a/pom.xml
+++ b/pom.xml
@@ -146,7 +146,7 @@ limitations under the License.
         <javadoc-plugin.version>2.10.4</javadoc-plugin.version>
         <jcabi.version>1.1</jcabi.version>
         <metrics.version>3.0.2</metrics.version>
-        <netty.version>4.0.56.Final</netty.version>
+        <netty.version>4.1.21.Final</netty.version>
         <slf4j.version>1.7.21</slf4j.version>
         <snakeyaml.version>1.15</snakeyaml.version>
         <spark.version>2.2.0</spark.version>


[31/31] tinkerpop git commit: foo

Posted by dk...@apache.org.
foo


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

Branch: refs/heads/TRAVIS-TEST
Commit: 806a7275b8ad32ec155726ff3606fef2a6ca65ad
Parents: 16c0172
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue Mar 13 11:33:21 2018 -0700
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue Mar 13 11:33:21 2018 -0700

----------------------------------------------------------------------

----------------------------------------------------------------------



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

Posted by dk...@apache.org.
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/53c84bdb
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/53c84bdb
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/53c84bdb

Branch: refs/heads/TRAVIS-TEST
Commit: 53c84bdb49386e16ca6d955941be101a0fd8e1d1
Parents: 99b6da2 bbb1377
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sun Mar 11 16:16:17 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sun Mar 11 16:16:17 2018 +0100

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                | 37 +++++++++++++++-----
 .../Gherkin/IgnoreException.cs                  | 20 +++++++----
 2 files changed, 42 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/53c84bdb/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------
diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index eb0a7e1,4a1d646..08693b2
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@@ -37,14 -37,33 +37,35 @@@ namespace Gremlin.Net.IntegrationTest.G
  {
      public class GherkinTestRunner
      {
-         private static readonly IDictionary<string, IgnoreReason> IgnoredScenarios = new Dictionary<string, IgnoreReason>
-         {
-             { "g_V_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported },   // TINKERPOP-1866
-             { "g_V_valueMapXtrue_name_ageX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
-             { "g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name", IgnoreReason.NeedsFurtherInvestigation }, // TINKERPOP-1859??
-             { "g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.NeedsFurtherInvestigation },    // TINKERPOP-1859??
-             { "g_withBulkXfalseX_withSackX1_sumX_V_out_barrier_sack", IgnoreReason.NeedsFurtherInvestigation }  // TINKERPOP-1907
-         };
+         private static readonly IDictionary<string, IgnoreReason> IgnoredScenarios =
+             new Dictionary<string, IgnoreReason>
+             {
++                { "g_V_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported },   // TINKERPOP-1866
++                { "g_V_valueMapXtrue_name_ageX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
+                 {
+                     "g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack",
+                     IgnoreReason.NumericalValuesHaveWrongTypes
+                 },
+                 {"g_withBulkXfalseX_withSackX1_sumX_V_out_barrier_sack", IgnoreReason.NumericalValuesHaveWrongTypes},
+                 {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
+                 {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray},
+                 {
+                     "g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name",
+                     IgnoreReason.PNotCreatedCorrectlyByGherkinRunner
+                 },
+                 {
+                     "g_V_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_bothXknowsX_bothXknowsX_asXdX_whereXc__notXeqXaX_orXeqXdXXXX_selectXa_b_c_dX",
+                     IgnoreReason.PNotCreatedCorrectlyByGherkinRunner
+                 },
+                 {
+                     "g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_whereXa_gtXbX_orXeqXbXXX_byXageX_byXweightX_byXweightX_selectXa_cX_byXnameX",
+                     IgnoreReason.PNotCreatedCorrectlyByGherkinRunner
+                 },
+                 {
+                     "g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX",
+                     IgnoreReason.PNotCreatedCorrectlyByGherkinRunner
+                 }
+             };
          
          private static class Keywords
          {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/53c84bdb/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
----------------------------------------------------------------------
diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
index 7733f34,c8cb29a..337a6c9
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@@ -41,13 -41,17 +41,20 @@@ namespace Gremlin.Net.IntegrationTest.G
              switch (reason)
              {
                  case IgnoreReason.LambdaNotSupported:
-                     reasonSuffix = " because lambdas are not supported in Gremlin.NET";
+                     reasonSuffix = " because lambdas are not supported in Gremlin.NET (TINKERPOP-1854)";
                      break;
 +                case IgnoreReason.TraversalTDeserializationNotSupported:
 +                    reasonSuffix = " as deserialization of g:T on GraphSON3 is not supported";
 +                    break;
-                 case IgnoreReason.NeedsFurtherInvestigation:
-                     reasonSuffix = " as further investigation is required";
+                 case IgnoreReason.PNotCreatedCorrectlyByGherkinRunner:
+                     reasonSuffix =
+                         " because the Gherkin runner can't call methods in TraversalPredicate class (TINKERPOP-1919)";
+                     break;
+                 case IgnoreReason.NumericalValuesHaveWrongTypes:
+                     reasonSuffix = " because the asserts currently fail due to type mismatches (TINKERPOP-1918)";
+                     break;
+                 case IgnoreReason.PWithinWrapsArgumentsInArray:
+                     reasonSuffix = " because P.Within() arguments are incorrectly wrapped in an array (TINKERPOP-1920)";
                      break;
              }
              return $"Scenario ignored" + reasonSuffix;
@@@ -56,19 -60,9 +63,18 @@@
      
      public enum IgnoreReason
      {
 +        /// <summary>
 +        /// Lambdas are not supported on Gremlin.NET yet.
 +        /// </summary>
          LambdaNotSupported,
 +
 +        /// <summary>
 +        /// Deserialization of g:T on GraphSON3 is not supported.
 +        /// </summary>
 +        TraversalTDeserializationNotSupported,
 +
-         /// <summary>
-         /// Problem not yet classified and needs additional review.
-         /// </summary>
-         NeedsFurtherInvestigation
+         PNotCreatedCorrectlyByGherkinRunner,
+         NumericalValuesHaveWrongTypes,
+         PWithinWrapsArgumentsInArray
      }
  }


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

Posted by dk...@apache.org.
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/d62e50e5
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d62e50e5
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d62e50e5

Branch: refs/heads/TRAVIS-TEST
Commit: d62e50e5c13fcfe6fcd7958727500816c382a200
Parents: 3797c7d f80a542
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 10:04:28 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 10:04:28 2018 -0400

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


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d62e50e5/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index a29ccf0,da50996..cf1e039
--- a/pom.xml
+++ b/pom.xml
@@@ -146,10 -147,10 +146,10 @@@ limitations under the License
          <javadoc-plugin.version>2.10.4</javadoc-plugin.version>
          <jcabi.version>1.1</jcabi.version>
          <metrics.version>3.0.2</metrics.version>
-         <netty.version>4.0.53.Final</netty.version>
+         <netty.version>4.0.56.Final</netty.version>
          <slf4j.version>1.7.21</slf4j.version>
          <snakeyaml.version>1.15</snakeyaml.version>
 -        <spark.version>1.6.1</spark.version>
 +        <spark.version>2.2.0</spark.version>
  
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>


[24/31] tinkerpop git commit: TINKERPOP-1892 Fix ignoring of test scenarios in Gremlin.Net CTR

Posted by dk...@apache.org.
TINKERPOP-1892 Fix ignoring of test scenarios in Gremlin.Net CTR

Without this fix, all following scenarios after one ignored scenario
in the same feature weren't parsed at all. This also revealed another
failing scenario that needed to be ignored for now.


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

Branch: refs/heads/TRAVIS-TEST
Commit: b25b9767547b2956f224cbe6fb55c756d5df612e
Parents: d3be13b
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Mon Mar 12 20:08:21 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Mon Mar 12 20:08:21 2018 +0100

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                          |  6 +++++-
 .../Gherkin/IgnoreException.cs                            | 10 +++++-----
 2 files changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b25b9767/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index 9d0f15d..d906357 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -57,6 +57,10 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                 {
                     "g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX",
                     IgnoreReason.PNotCreatedCorrectlyByGherkinRunner
+                },
+                {
+                    "g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_selectXa_bX",
+                    IgnoreReason.PNotDeserializationProblem
                 }
             };
         
@@ -107,7 +111,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                     if (IgnoredScenarios.TryGetValue(scenario.Name, out var reason))
                     {
                         failedSteps.Add(scenario.Steps.First(), new IgnoreException(reason));
-                        break;
+                        continue;
                     }
                     StepBlock? currentStep = null;
                     StepDefinition stepDefinition = null;

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b25b9767/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
index c8cb29a..dae2ced 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@ -47,12 +47,12 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                     reasonSuffix =
                         " because the Gherkin runner can't call methods in TraversalPredicate class (TINKERPOP-1919)";
                     break;
-                case IgnoreReason.NumericalValuesHaveWrongTypes:
-                    reasonSuffix = " because the asserts currently fail due to type mismatches (TINKERPOP-1918)";
-                    break;
                 case IgnoreReason.PWithinWrapsArgumentsInArray:
                     reasonSuffix = " because P.Within() arguments are incorrectly wrapped in an array (TINKERPOP-1920)";
                     break;
+                case IgnoreReason.PNotDeserializationProblem:
+                    reasonSuffix = " because P.Not() cannot be deserialized by Gremlin Server (TINKERPOP-1922)";
+                    break;
             }
             return $"Scenario ignored" + reasonSuffix;
         }
@@ -62,7 +62,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
     {
         LambdaNotSupported,
         PNotCreatedCorrectlyByGherkinRunner,
-        NumericalValuesHaveWrongTypes,
-        PWithinWrapsArgumentsInArray
+        PWithinWrapsArgumentsInArray,
+        PNotDeserializationProblem
     }
 }
\ No newline at end of file


[08/31] tinkerpop git commit: Merge branch 'tp33'

Posted by dk...@apache.org.
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/da63965f
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/da63965f
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/da63965f

Branch: refs/heads/TRAVIS-TEST
Commit: da63965ff7098c844595518db6f25485f74d4c18
Parents: b4013a2 99b6da2
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sat Mar 10 16:30:38 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Mar 10 16:30:38 2018 +0100

----------------------------------------------------------------------
 .../src/Gremlin.Net/Structure/IO/GraphSON/NumberConverter.cs      | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[04/31] tinkerpop git commit: TINKERPOP-1446 Added standard string representation for Path objects

Posted by dk...@apache.org.
TINKERPOP-1446 Added standard string representation for Path objects


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

Branch: refs/heads/TRAVIS-TEST
Commit: c7bf69d98c229dcc5c2f23a17c88d317ae73be6e
Parents: 4113f0e
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sat Mar 3 12:25:00 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Sat Mar 3 12:25:00 2018 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                          | 1 +
 .../gremlin/process/traversal/step/util/EmptyPath.java      | 6 ++++++
 .../gremlin/process/traversal/step/util/ImmutablePath.java  | 3 ++-
 .../gremlin/process/traversal/step/util/MutablePath.java    | 3 ++-
 .../tinkerpop/gremlin/structure/util/StringFactory.java     | 9 +++++++--
 gremlin-dotnet/src/Gremlin.Net/Structure/Path.cs            | 2 +-
 .../Structure/IO/GraphSON/GraphSONReaderTests.cs            | 4 ++--
 .../test/Gremlin.Net.UnitTest/Structure/PathTests.cs        | 2 +-
 .../javascript/gremlin-javascript/lib/structure/graph.js    | 4 ++++
 .../src/main/jython/gremlin_python/structure/graph.py       | 2 +-
 .../src/main/jython/tests/structure/io/test_graphsonV2d0.py | 5 +----
 .../src/main/jython/tests/structure/io/test_graphsonV3d0.py | 5 +----
 .../src/main/jython/tests/structure/test_graph.py           | 2 +-
 13 files changed, 30 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 46b0e5b..9ecb5a2 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ NEED AND IMAGE
 
 This release also includes changes from <<release-3-3-2, 3.3.2>>.
 
+* Change the `toString()` of `Path` to be standardized as other graph elements are.
 
 == TinkerPop 3.3.0 (Gremlin Symphony #40 in G Minor)
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/EmptyPath.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/EmptyPath.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/EmptyPath.java
index 0c6827e..69111ee 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/EmptyPath.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/EmptyPath.java
@@ -19,6 +19,7 @@
 package org.apache.tinkerpop.gremlin.process.traversal.step.util;
 
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
+import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 
 import java.io.Serializable;
 import java.util.Collections;
@@ -103,4 +104,9 @@ public final class EmptyPath implements Path, Serializable {
     public boolean equals(final Object object) {
         return object instanceof EmptyPath;
     }
+
+    @Override
+    public String toString() {
+        return StringFactory.pathString(this);
+    }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java
index 7a6b9a8..623b810 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ImmutablePath.java
@@ -20,6 +20,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.util;
 
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.process.traversal.Pop;
+import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -217,7 +218,7 @@ public class ImmutablePath implements Path, Serializable, Cloneable {
 
     @Override
     public String toString() {
-        return this.objects().toString();
+        return StringFactory.pathString(this);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java
index 168b7dc..427c601 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java
@@ -20,6 +20,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.util;
 
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.process.traversal.Pop;
+import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -168,7 +169,7 @@ public class MutablePath implements Path, Serializable {
 
     @Override
     public String toString() {
-        return this.objects.toString();
+        return StringFactory.pathString(this);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java
index 68973a8..ad953c3 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java
@@ -26,6 +26,7 @@ import org.apache.tinkerpop.gremlin.process.computer.MapReduce;
 import org.apache.tinkerpop.gremlin.process.computer.Memory;
 import org.apache.tinkerpop.gremlin.process.computer.VertexProgram;
 import org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
@@ -40,6 +41,7 @@ import org.apache.tinkerpop.gremlin.structure.Property;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.apache.tinkerpop.gremlin.util.function.FunctionUtils;
+import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.javatuples.Pair;
 
 import java.lang.reflect.Method;
@@ -53,7 +55,6 @@ import java.util.function.Predicate;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-
 /**
  * A collection of helpful methods for creating standard {@link Object#toString()} representations of graph-related
  * objects.
@@ -66,6 +67,7 @@ public final class StringFactory {
     private static final String E = "e";
     private static final String P = "p";
     private static final String VP = "vp";
+    private static final String PATH = "path";
     private static final String L_BRACKET = "[";
     private static final String R_BRACKET = "]";
     private static final String COMMA_SPACE = ", ";
@@ -176,7 +178,7 @@ public final class StringFactory {
     }
 
     public static String translatorString(final Translator translator) {
-        return "translator[" + translator.getTraversalSource() + ":" + translator.getTargetLanguage() + "]";
+        return "translator" + L_BRACKET + translator.getTraversalSource() + ":" + translator.getTargetLanguage() + R_BRACKET;
     }
 
     public static String vertexProgramString(final VertexProgram vertexProgram, final String internalString) {
@@ -252,4 +254,7 @@ public final class StringFactory {
         return string.substring(1, string.length() - 1);
     }
 
+    public static String pathString(final Path path) {
+        return PATH + L_BRACKET + String.join(", ", IteratorUtils.map(path, Object::toString)) + R_BRACKET;
+    }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-dotnet/src/Gremlin.Net/Structure/Path.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/Path.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/Path.cs
index a9f2698..d205a88 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Structure/Path.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/Path.cs
@@ -111,7 +111,7 @@ namespace Gremlin.Net.Structure
         /// <inheritdoc />
         public override string ToString()
         {
-            return $"[{string.Join(", ", Objects)}]";
+            return $"path[{string.Join(", ", Objects)}]";
         }
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/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 ae4392b..49b6fa3 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
@@ -229,7 +229,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 
             Path readPath = reader.ToObject(JObject.Parse(graphSon));
 
-            Assert.Equal("[v[1], v[3], lop]", readPath.ToString());
+            Assert.Equal("path[v[1], v[3], lop]", readPath.ToString());
             Assert.Equal(new Vertex(1), readPath[0]);
             Assert.Equal(new Vertex(1), readPath["a"]);
             Assert.Equal("lop", readPath[2]);
@@ -246,7 +246,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 
             Path readPath = reader.ToObject(JObject.Parse(graphSon));
 
-            Assert.Equal("[v[5]]", readPath.ToString());
+            Assert.Equal("path[v[5]]", readPath.ToString());
             Assert.Equal(new Vertex(5L), readPath[0]);
             Assert.Equal(new Vertex(5L), readPath["z"]);
             Assert.Equal(1, readPath.Count);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/PathTests.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/PathTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/PathTests.cs
index cbc3f8d..6df92ba 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/PathTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/PathTests.cs
@@ -364,7 +364,7 @@ namespace Gremlin.Net.UnitTest.Structure
 
             var pathStr = path.ToString();
 
-            Assert.Equal("[1, v[1], hello]", pathStr);
+            Assert.Equal("path[1, v[1], hello]", pathStr);
         }
 
         [Fact]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/graph.js
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/graph.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/graph.js
index 2861a50..f6553fa 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/graph.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/graph.js
@@ -126,6 +126,10 @@ class Path {
     this.objects = objects;
   }
 
+  toString() {
+    return 'path[' + objects.join(", ") +  ']';
+  }
+
   equals(other) {
     if (!(other instanceof Path)) {
       return false;

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-python/src/main/jython/gremlin_python/structure/graph.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/gremlin_python/structure/graph.py b/gremlin-python/src/main/jython/gremlin_python/structure/graph.py
index a22633c..3df0cd1 100644
--- a/gremlin-python/src/main/jython/gremlin_python/structure/graph.py
+++ b/gremlin-python/src/main/jython/gremlin_python/structure/graph.py
@@ -103,7 +103,7 @@ class Path(object):
         self.objects = objects
 
     def __repr__(self):
-        return str(self.objects)
+        return "path[" + ", ".join(map(str, self.objects)) + "]"
 
     def __eq__(self, other):
         return isinstance(other, self.__class__) and self.objects == other.objects and self.labels == other.labels

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV2d0.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV2d0.py b/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV2d0.py
index 416a9a4..802960d 100644
--- a/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV2d0.py
+++ b/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV2d0.py
@@ -124,10 +124,7 @@ class TestGraphSONReader(object):
             """{"@type":"g:Path","@value":{"labels":[["a"],["b","c"],[]],"objects":[{"@type":"g:Vertex","@value":{"id":{"@type":"g:Int32","@value":1},"label":"person","properties":{"name":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":0},"value":"marko","label":"name"}}],"age":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":1},"value":{"@type":"g:Int32","@value":29},"label":"age"}}]}}},{"@type":"g:Vertex","@value":{"id":{"@type":"g:Int32","@value":3},"label":"software","properties":{"name":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":4},"value":"lop","label":"name"}}],"lang":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":5},"value":"java","label":"lang"}}]}}},"lop"]}}"""
         )
         assert isinstance(path, Path)
-        if six.PY3:
-            assert "[v[1], v[3], 'lop']" == str(path)
-        else:
-            assert "[v[1], v[3], u'lop']" == str(path)
+        assert "path[v[1], v[3], lop]" == str(path)
         assert Vertex(1) == path[0]
         assert Vertex(1) == path["a"]
         assert "lop" == path[2]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py b/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py
index 16de67f..7d3bca1 100644
--- a/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py
+++ b/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py
@@ -152,10 +152,7 @@ class TestGraphSONReader(object):
             """{"@type":"g:Path","@value":{"labels":{"@type":"g:List","@value":[{"@type":"g:Set","@value":["a"]},{"@type":"g:Set","@value":["b","c"]},{"@type":"g:Set","@value":[]}]},"objects":{"@type":"g:List","@value":[{"@type":"g:Vertex","@value":{"id":{"@type":"g:Int32","@value":1},"label":"person","properties":{"name":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":0},"value":"marko","label":"name"}}],"age":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":1},"value":{"@type":"g:Int32","@value":29},"label":"age"}}]}}},{"@type":"g:Vertex","@value":{"id":{"@type":"g:Int32","@value":3},"label":"software","properties":{"name":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":4},"value":"lop","label":"name"}}],"lang":[{"@type":"g:VertexProperty","@value":{"id":{"@type":"g:Int64","@value":5},"value":"java","label":"lang"}}]}}},"lop"]}}}"""
         )
         assert isinstance(path, Path)
-        if six.PY3:
-            assert "[v[1], v[3], 'lop']" == str(path)
-        else:
-            assert "[v[1], v[3], u'lop']" == str(path)
+        assert "path[v[1], v[3], lop]" == str(path)
         assert Vertex(1) == path[0]
         assert Vertex(1) == path["a"]
         assert "lop" == path[2]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7bf69d9/gremlin-python/src/main/jython/tests/structure/test_graph.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/tests/structure/test_graph.py b/gremlin-python/src/main/jython/tests/structure/test_graph.py
index e779bf6..986772e 100644
--- a/gremlin-python/src/main/jython/tests/structure/test_graph.py
+++ b/gremlin-python/src/main/jython/tests/structure/test_graph.py
@@ -75,7 +75,7 @@ class TestGraph(object):
 
     def test_path(self):
         path = Path([set(["a", "b"]), set(["c", "b"]), set([])], [1, Vertex(1), "hello"])
-        assert "[1, v[1], 'hello']" == str(path)
+        assert "path[1, v[1], hello]" == str(path)
         assert 1 == path["a"]
         assert Vertex(1) == path["c"]
         assert [1, Vertex(1)] == path["b"]


[23/31] tinkerpop git commit: Merge branch 'tp33'

Posted by dk...@apache.org.
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/bf58b63e
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bf58b63e
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bf58b63e

Branch: refs/heads/TRAVIS-TEST
Commit: bf58b63ea7855bf59121c6bea862776149057a6a
Parents: c6c3f0f 097ad01
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 12:13:17 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 12:13:17 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../jsr223/JavaTranslatorBenchmark.java         | 76 ++++++++++++++++++++
 .../gremlin/jsr223/JavaTranslator.java          | 58 ++++++++++++---
 3 files changed, 125 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


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


[21/31] tinkerpop git commit: Merge branch 'TINKERPOP-1911' into tp32

Posted by dk...@apache.org.
Merge branch 'TINKERPOP-1911' into tp32

Conflicts:
	CHANGELOG.asciidoc


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

Branch: refs/heads/TRAVIS-TEST
Commit: d3be13b4cbc463a652bf94c1b56fb7050abed20d
Parents: f80a542 d9db27f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 12:12:59 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 12:12:59 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../jsr223/JavaTranslatorBenchmark.java         | 76 ++++++++++++++++++++
 .../gremlin/jsr223/JavaTranslator.java          | 58 ++++++++++++---
 3 files changed, 125 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3be13b4/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 66fbbb2,54e5347..a31bdf2
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -28,7 -27,7 +28,8 @@@ image::https://raw.githubusercontent.co
  * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`.
  * Added the "Kitchen Sink" test data set.
  * Fixed deserialization of `P.not()` for GraphSON.
 +* Bumped to Jackson 2.9.4.
+ * Improved performance of `JavaTranslator` by caching reflected methods required for traversal construction.
  * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.
  * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits.
  * Delayed setting of the request identifier until `RequestMessage` construction by the builder.