You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by jo...@apache.org on 2018/03/20 09:19:23 UTC

[01/12] tinkerpop git commit: Moved JavaTranslator benchmark to gremlin-tools CTR [Forced Update!]

Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1865 0cca806ff -> 4c64bc039 (forced update)


Moved JavaTranslator benchmark to gremlin-tools CTR


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

Branch: refs/heads/TINKERPOP-1865
Commit: a5374b6611c966cf63c57f328d3f03b484bf6517
Parents: 2fd0f25
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 19 08:08:53 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 08:09:25 2018 -0400

----------------------------------------------------------------------
 .../jsr223/JavaTranslatorBenchmark.java         | 76 --------------------
 .../jsr223/JavaTranslatorBenchmark.java         | 76 ++++++++++++++++++++
 2 files changed, 76 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5374b66/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
deleted file mode 100644
index d33b574..0000000
--- a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/jsr223/JavaTranslatorBenchmark.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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/a5374b66/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/jsr223/JavaTranslatorBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/jsr223/JavaTranslatorBenchmark.java b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/jsr223/JavaTranslatorBenchmark.java
new file mode 100644
index 0000000..d33b574
--- /dev/null
+++ b/gremlin-tools/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());
+    }
+}


[10/12] tinkerpop git commit: TINKERPOP-1865 Run Gremlin.Net tests with GraphSON 3.0

Posted by jo...@apache.org.
TINKERPOP-1865 Run Gremlin.Net tests with GraphSON 3.0

This required the rewrite of the GetEdges() function for the Gherkin
test runner. Additionally, 3 tests had to be ignored: 1 has the
T deserialization problem and 2 get data returned from the server that
doesn't match the expected data.


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

Branch: refs/heads/TINKERPOP-1865
Commit: bf84eed4e04c144c310b850a469b317ea46099b8
Parents: 94484e2
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sun Mar 18 17:19:45 2018 +0100
Committer: Jorge Bay Gondra <jo...@gmail.com>
Committed: Tue Mar 20 09:37:27 2018 +0100

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                |  7 ++++-
 .../Gherkin/IgnoreException.cs                  |  5 ++++
 .../Gherkin/ScenarioData.cs                     | 30 +++++++++-----------
 .../RemoteConnectionFactory.cs                  |  6 ++--
 4 files changed, 27 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bf84eed4/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 02bf546..e2194e0 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -42,7 +42,12 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             {
                 { "g_V_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported },   // TINKERPOP-1866
                 { "g_V_valueMapXtrue_name_ageX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
-                { "g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported } // TINKERPOP-1866
+                { "g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
+                {"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported},
+                {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
+                {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray},
+                {"g_VX1X_hasXlabel_personX_mapXmapXint_ageXX_orderXlocalX_byXvalues_decrX_byXkeys_incrX", IgnoreReason.ReceivedDataDoesntMatchExpected},
+                {"g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX", IgnoreReason.PWithinWrapsArgumentsInArray}
             };
         
         private static class Keywords

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bf84eed4/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 9eb3021..f343cc3 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@ -46,6 +46,9 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                 case IgnoreReason.NoReason:
                     reasonSuffix = "";
                     break;
+                case IgnoreReason.ReceivedDataDoesntMatchExpected:
+                    reasonSuffix = " because received data from server doesn't match expected data.";
+                    break;
             }
             return $"Scenario ignored" + reasonSuffix;
         }
@@ -57,6 +60,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
         /// Deserialization of g:T on GraphSON3 is not supported.
         /// </summary>
         TraversalTDeserializationNotSupported,
+        PWithinWrapsArgumentsInArray,
+        ReceivedDataDoesntMatchExpected
         NoReason
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bf84eed4/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
index 77552f9..5aa6a12 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
@@ -25,12 +25,12 @@ using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.Linq;
-using System.Text.RegularExpressions;
 using Gremlin.Net.Driver.Exceptions;
 using Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection;
 using Gremlin.Net.Process.Remote;
 using Gremlin.Net.Process.Traversal;
 using Gremlin.Net.Structure;
+using static Gremlin.Net.Process.Traversal.__;
 
 namespace Gremlin.Net.IntegrationTest.Gherkin
 {
@@ -38,10 +38,6 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
     {
         private static readonly Lazy<ScenarioData> Lazy = new Lazy<ScenarioData>(Load);
         
-        private static readonly Regex EdgeORegex = new Regex("o=(.+?)[,}]", RegexOptions.Compiled);
-        private static readonly Regex EdgeLRegex = new Regex("l=(.+?)[,}]", RegexOptions.Compiled);
-        private static readonly Regex EdgeIRegex = new Regex("i=(.+?)[,}]", RegexOptions.Compiled);
-        
         private static readonly string[] GraphNames = {"modern", "classic", "crew", "grateful", "sink"};
 
         private static readonly IDictionary<string, Vertex> EmptyVertices =
@@ -123,12 +119,12 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
         {
             try
             {
-                return g.E().Group<string, object>()
-                    .By(__.Project<Edge>("o", "l", "i")
-                        .By(__.OutV().Values<string>("name")).By(__.Label()).By(__.InV().Values<string>("name")))
-                    .By(__.Tail<object>())
-                    .Next()
-                    .ToDictionary(kv => GetEdgeKey(kv.Key), kv => (Edge)kv.Value);
+                var edgeByEdgeRepr = new Dictionary<string, Edge>();
+                foreach (var edge in g.E().ToList())
+                {
+                    edgeByEdgeRepr[GetEdgeKey(g, edge)] = edge;
+                }
+                return edgeByEdgeRepr;
             }
             catch (ResponseException)
             {
@@ -137,12 +133,14 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             }
         }
 
-        private static string GetEdgeKey(string key)
+        private static string GetEdgeKey(GraphTraversalSource g, Edge edge)
         {
-            var o = EdgeORegex.Match(key).Groups[1].Value;
-            var l = EdgeLRegex.Match(key).Groups[1].Value;
-            var i = EdgeIRegex.Match(key).Groups[1].Value;
-            return o + "-" + l + "->" + i;
+            var edgeRepr = g.E(edge.Id).Project<string>("o", "l", "i")
+                .By(OutV().Values<string>("name"))
+                .By(Label())
+                .By(InV().Values<string>("name"))
+                .Next();
+            return edgeRepr["o"] + "-" + edgeRepr["l"] + "->" + edgeRepr["i"];
         }
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bf84eed4/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/RemoteConnectionFactory.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/RemoteConnectionFactory.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/RemoteConnectionFactory.cs
index 276340d..39b7fea 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/RemoteConnectionFactory.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/RemoteConnectionFactory.cs
@@ -25,7 +25,6 @@ using System;
 using System.Collections.Generic;
 using Gremlin.Net.Driver;
 using Gremlin.Net.Process.Remote;
-using Gremlin.Net.Structure.IO.GraphSON;
 using DriverRemoteConnectionImpl = Gremlin.Net.Driver.Remote.DriverRemoteConnection;
 
 namespace Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection
@@ -45,9 +44,8 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection
 
         public IRemoteConnection CreateRemoteConnection(string traversalSource)
         {
-            var c = new DriverRemoteConnectionImpl(
-                new GremlinClient(new GremlinServer(TestHost, TestPort), new GraphSON2Reader(), new GraphSON2Writer(),
-                    GremlinClient.GraphSON2MimeType), traversalSource);
+            var c = new DriverRemoteConnectionImpl(new GremlinClient(new GremlinServer(TestHost, TestPort)),
+                traversalSource);
             _connections.Add(c);
             return c;
         }


[03/12] tinkerpop git commit: Updated NOTICE for netty after version bump to 4.0.56 CTR

Posted by jo...@apache.org.
Updated NOTICE for netty after version bump to 4.0.56 CTR


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

Branch: refs/heads/TINKERPOP-1865
Commit: 7023eacc880021a58fd8cc71aa84f926b57bd191
Parents: d3d1ccf
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 19 09:14:18 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 09:14:18 2018 -0400

----------------------------------------------------------------------
 gremlin-console/src/main/static/NOTICE | 4 ++--
 gremlin-server/src/main/static/NOTICE  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7023eacc/gremlin-console/src/main/static/NOTICE
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/static/NOTICE b/gremlin-console/src/main/static/NOTICE
index a6ffd91..91e622f 100644
--- a/gremlin-console/src/main/static/NOTICE
+++ b/gremlin-console/src/main/static/NOTICE
@@ -54,7 +54,7 @@ JavaTuples 1.2
 Copyright (c) 2010, The JAVATUPLES team (http://www.javatuples.org)
 
 ------------------------------------------------------------------------
-Netty 4.0.53
+Netty 4.0.56
 ------------------------------------------------------------------------
-Copyright 2014 The Netty Project
+Copyright 2011 The Netty Project
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7023eacc/gremlin-server/src/main/static/NOTICE
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/static/NOTICE b/gremlin-server/src/main/static/NOTICE
index ef4d547..72c10cc 100644
--- a/gremlin-server/src/main/static/NOTICE
+++ b/gremlin-server/src/main/static/NOTICE
@@ -55,6 +55,6 @@ LongAdder), which was released with the following comments:
     http://creativecommons.org/publicdomain/zero/1.0/
 
 ------------------------------------------------------------------------
-Netty 4.0.53
+Netty 4.0.56
 ------------------------------------------------------------------------
-Copyright 2014 The Netty Project
+Copyright 2011 The Netty Project


[02/12] tinkerpop git commit: Bind netty in spark to the project level version CTR

Posted by jo...@apache.org.
Bind netty in spark to the project level version CTR


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

Branch: refs/heads/TINKERPOP-1865
Commit: 0c930c0bdc5807c8d82d858fe2756bba08bf6e0b
Parents: a5374b6
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 19 09:09:56 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 09:09:56 2018 -0400

----------------------------------------------------------------------
 spark-gremlin/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0c930c0b/spark-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index 906b7d2..91d7b50 100644
--- a/spark-gremlin/pom.xml
+++ b/spark-gremlin/pom.xml
@@ -281,7 +281,7 @@
         <dependency>
             <groupId>io.netty</groupId>
             <artifactId>netty-all</artifactId>
-            <version>4.0.29.Final</version>
+            <version>${netty.version}</version>
         </dependency>
         <dependency>
             <groupId>io.netty</groupId>


[12/12] tinkerpop git commit: TINKERPOP-1865 Test fixes

Posted by jo...@apache.org.
TINKERPOP-1865 Test fixes


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

Branch: refs/heads/TINKERPOP-1865
Commit: 4c64bc039bfdb88021015a2dc594e4171b3ca1ee
Parents: 7b9488d
Author: Jorge Bay Gondra <jo...@gmail.com>
Authored: Tue Mar 20 10:09:33 2018 +0100
Committer: Jorge Bay Gondra <jo...@gmail.com>
Committed: Tue Mar 20 10:18:02 2018 +0100

----------------------------------------------------------------------
 .../test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs     | 5 +++--
 .../Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs    | 5 +----
 .../test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs | 3 +--
 gremlin-test/features/map/Order.feature                         | 2 +-
 4 files changed, 6 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c64bc03/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
index 4bb83ae..9322da3 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
@@ -252,8 +252,9 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
         {
             if (value.Type == JTokenType.Object)
             {
-                IDictionary<string, JToken> jsonMap = (JObject)value; 
-                return jsonMap.ToDictionary(kv => kv.Key, kv => ParseMapValue(kv.Value, graphName));
+                IDictionary<string, JToken> jsonMap = (JObject)value;
+                return jsonMap.ToDictionary(kv => ParseMapValue(kv.Key, graphName),
+                    kv => ParseMapValue(kv.Value, graphName));
             }
             if (value.Type == JTokenType.Array)
             {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c64bc03/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 e2194e0..52646a7 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -44,10 +44,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                 { "g_V_valueMapXtrue_name_ageX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
                 { "g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
                 {"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported},
-                {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
-                {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray},
-                {"g_VX1X_hasXlabel_personX_mapXmapXint_ageXX_orderXlocalX_byXvalues_decrX_byXkeys_incrX", IgnoreReason.ReceivedDataDoesntMatchExpected},
-                {"g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX", IgnoreReason.PWithinWrapsArgumentsInArray}
+                {"g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX", IgnoreReason.ReceivedDataDoesntMatchExpected}
             };
         
         private static class Keywords

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c64bc03/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 f343cc3..711fc20 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@ -60,8 +60,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
         /// Deserialization of g:T on GraphSON3 is not supported.
         /// </summary>
         TraversalTDeserializationNotSupported,
-        PWithinWrapsArgumentsInArray,
-        ReceivedDataDoesntMatchExpected
+        ReceivedDataDoesntMatchExpected,
         NoReason
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4c64bc03/gremlin-test/features/map/Order.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/map/Order.feature b/gremlin-test/features/map/Order.feature
index 6dd8ac4..33ae97a 100644
--- a/gremlin-test/features/map/Order.feature
+++ b/gremlin-test/features/map/Order.feature
@@ -313,7 +313,7 @@ Feature: Step - order()
   Scenario: g_VX1X_hasXlabel_personX_mapXmapXint_ageXX_orderXlocalX_byXvalues_decrX_byXkeys_incrX
     Given the modern graph
     And using the parameter v1 defined as "v[marko]"
-    And using the parameter l1 defined as "c[[1:it.get().value('age'),2:it.get().value('age')*2,3:it.get().value('age')*3,4:it.get().value('age')]]"
+    And using the parameter l1 defined as "c[['1':it.get().value('age'),'2':it.get().value('age')*2,'3':it.get().value('age')*3,'4':it.get().value('age')]]"
     And the traversal of
       """
       g.V(v1).hasLabel("person").map(l1).order(Scope.local).by(Column.values, Order.decr).by(Column.keys, Order.incr)


[05/12] tinkerpop git commit: Fixed NOTICE after bump to netty 4.1.21.Final CTR

Posted by jo...@apache.org.
Fixed NOTICE after bump to netty 4.1.21.Final CTR


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

Branch: refs/heads/TINKERPOP-1865
Commit: ff881c189e657a982f9dc635101a01fe8549bfdb
Parents: 78fd019
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 19 09:15:12 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 09:15:12 2018 -0400

----------------------------------------------------------------------
 gremlin-console/src/main/static/NOTICE | 4 ++--
 gremlin-server/src/main/static/NOTICE  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ff881c18/gremlin-console/src/main/static/NOTICE
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/static/NOTICE b/gremlin-console/src/main/static/NOTICE
index 91e622f..fed03e1 100644
--- a/gremlin-console/src/main/static/NOTICE
+++ b/gremlin-console/src/main/static/NOTICE
@@ -54,7 +54,7 @@ JavaTuples 1.2
 Copyright (c) 2010, The JAVATUPLES team (http://www.javatuples.org)
 
 ------------------------------------------------------------------------
-Netty 4.0.56
+Netty 4.1.21
 ------------------------------------------------------------------------
-Copyright 2011 The Netty Project
+Copyright 2014 The Netty Project
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ff881c18/gremlin-server/src/main/static/NOTICE
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/static/NOTICE b/gremlin-server/src/main/static/NOTICE
index 72c10cc..f50caec 100644
--- a/gremlin-server/src/main/static/NOTICE
+++ b/gremlin-server/src/main/static/NOTICE
@@ -55,6 +55,6 @@ LongAdder), which was released with the following comments:
     http://creativecommons.org/publicdomain/zero/1.0/
 
 ------------------------------------------------------------------------
-Netty 4.0.56
+Netty 4.1.21
 ------------------------------------------------------------------------
-Copyright 2011 The Netty Project
+Copyright 2014 The Netty Project


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

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

Conflicts:
	gremlin-console/src/main/static/NOTICE
	gremlin-server/src/main/static/NOTICE


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

Branch: refs/heads/TINKERPOP-1865
Commit: 764e888f20e6b366b43b8b180dd05adc38b21663
Parents: ff881c1 3aa7336
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 19 09:17:03 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 09:17:03 2018 -0400

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

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



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

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

Branch: refs/heads/TINKERPOP-1865
Commit: 78fd019373c42f439bdfbd54a4770c0ce25f5244
Parents: 0c930c0 7023eac
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 19 09:14:39 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 09:14:39 2018 -0400

----------------------------------------------------------------------
 gremlin-console/src/main/static/NOTICE | 4 ++--
 gremlin-server/src/main/static/NOTICE  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------



[06/12] tinkerpop git commit: Updated NOTICE for netty after version bump to 4.0.56 CTR

Posted by jo...@apache.org.
Updated NOTICE for netty after version bump to 4.0.56 CTR


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

Branch: refs/heads/TINKERPOP-1865
Commit: 3aa733667dc9e8e934bdcba8165298987e8d3af8
Parents: eeea869
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 19 09:14:18 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 09:16:33 2018 -0400

----------------------------------------------------------------------
 gremlin-console/src/main/static/NOTICE | 4 ++--
 gremlin-server/src/main/static/NOTICE  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3aa73366/gremlin-console/src/main/static/NOTICE
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/static/NOTICE b/gremlin-console/src/main/static/NOTICE
index a6ffd91..91e622f 100644
--- a/gremlin-console/src/main/static/NOTICE
+++ b/gremlin-console/src/main/static/NOTICE
@@ -54,7 +54,7 @@ JavaTuples 1.2
 Copyright (c) 2010, The JAVATUPLES team (http://www.javatuples.org)
 
 ------------------------------------------------------------------------
-Netty 4.0.53
+Netty 4.0.56
 ------------------------------------------------------------------------
-Copyright 2014 The Netty Project
+Copyright 2011 The Netty Project
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3aa73366/gremlin-server/src/main/static/NOTICE
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/static/NOTICE b/gremlin-server/src/main/static/NOTICE
index ef4d547..72c10cc 100644
--- a/gremlin-server/src/main/static/NOTICE
+++ b/gremlin-server/src/main/static/NOTICE
@@ -55,6 +55,6 @@ LongAdder), which was released with the following comments:
     http://creativecommons.org/publicdomain/zero/1.0/
 
 ------------------------------------------------------------------------
-Netty 4.0.53
+Netty 4.0.56
 ------------------------------------------------------------------------
-Copyright 2014 The Netty Project
+Copyright 2011 The Netty Project


[11/12] tinkerpop git commit: TINKERPOP-1865 Use lambda to retrieve edges for gherkin scenarios

Posted by jo...@apache.org.
TINKERPOP-1865 Use lambda to retrieve edges for gherkin scenarios


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

Branch: refs/heads/TINKERPOP-1865
Commit: 7b9488d981593066b3be454bec6ee34de9e6cf36
Parents: bf84eed
Author: Jorge Bay Gondra <jo...@gmail.com>
Authored: Tue Mar 20 09:34:12 2018 +0100
Committer: Jorge Bay Gondra <jo...@gmail.com>
Committed: Tue Mar 20 09:37:28 2018 +0100

----------------------------------------------------------------------
 .../Gherkin/ScenarioData.cs                     | 24 ++++++--------------
 1 file changed, 7 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7b9488d9/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
index 5aa6a12..02ee132 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
@@ -30,7 +30,6 @@ using Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection;
 using Gremlin.Net.Process.Remote;
 using Gremlin.Net.Process.Traversal;
 using Gremlin.Net.Structure;
-using static Gremlin.Net.Process.Traversal.__;
 
 namespace Gremlin.Net.IntegrationTest.Gherkin
 {
@@ -119,12 +118,13 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
         {
             try
             {
-                var edgeByEdgeRepr = new Dictionary<string, Edge>();
-                foreach (var edge in g.E().ToList())
-                {
-                    edgeByEdgeRepr[GetEdgeKey(g, edge)] = edge;
-                }
-                return edgeByEdgeRepr;
+                IFunction lambda = Lambda.Groovy(
+                    "it.outVertex().value('name') + '-' + it.label() + '->' + it.inVertex().value('name')");
+
+                return g.E().Group<string, Edge>()
+                    .By(lambda)
+                    .By(__.Tail<object>())
+                    .Next();
             }
             catch (ResponseException)
             {
@@ -132,16 +132,6 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                 return EmptyEdges;
             }
         }
-
-        private static string GetEdgeKey(GraphTraversalSource g, Edge edge)
-        {
-            var edgeRepr = g.E(edge.Id).Project<string>("o", "l", "i")
-                .By(OutV().Values<string>("name"))
-                .By(Label())
-                .By(InV().Values<string>("name"))
-                .Next();
-            return edgeRepr["o"] + "-" + edgeRepr["l"] + "->" + edgeRepr["i"];
-        }
     }
 
     internal class ScenarioDataPerGraph


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

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

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


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

Branch: refs/heads/TINKERPOP-1865
Commit: 94484e278481e0bb7add3400981993118d127fbe
Parents: 764e888 8c87fcf
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 19 10:55:23 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 10:55:23 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 gremlin-dotnet/glv/P.template                   | 17 ++++++++++++++-
 .../src/Gremlin.Net/Process/Traversal/P.cs      | 22 ++++++++++++++++++--
 .../Gherkin/GherkinTestRunner.cs                |  4 +---
 .../Gherkin/IgnoreException.cs                  | 10 +++------
 5 files changed, 41 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/94484e27/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------
diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index 2dac7c4,6d38ccc..02bf546
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@@ -38,14 -38,7 +38,12 @@@ namespace Gremlin.Net.IntegrationTest.G
      public class GherkinTestRunner
      {
          private static readonly IDictionary<string, IgnoreReason> IgnoredScenarios =
 -            new Dictionary<string, IgnoreReason>();
 +            new Dictionary<string, IgnoreReason>
 +            {
 +                { "g_V_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported },   // TINKERPOP-1866
 +                { "g_V_valueMapXtrue_name_ageX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
-                 { "g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
-                 {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
-                 {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray}
++                { "g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported } // TINKERPOP-1866
 +            };
          
          private static class Keywords
          {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/94484e27/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
----------------------------------------------------------------------
diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
index 9bcb860,860c11d..9eb3021
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@@ -40,14 -40,8 +40,11 @@@ namespace Gremlin.Net.IntegrationTest.G
              string reasonSuffix = null;
              switch (reason)
              {
 +                case IgnoreReason.TraversalTDeserializationNotSupported:
 +                    reasonSuffix = " as deserialization of g:T on GraphSON3 is not supported";
 +                    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)";
+                 case IgnoreReason.NoReason:
+                     reasonSuffix = "";
                      break;
              }
              return $"Scenario ignored" + reasonSuffix;
@@@ -56,11 -50,6 +53,10 @@@
      
      public enum IgnoreReason
      {
 +        /// <summary>
 +        /// Deserialization of g:T on GraphSON3 is not supported.
 +        /// </summary>
 +        TraversalTDeserializationNotSupported,
-         PWithinWrapsArgumentsInArray,
-         PNotDeserializationProblem
+         NoReason
      }
  }


[08/12] tinkerpop git commit: TINKERPOP-1920 Fixed P.within/without() handling for collections

Posted by jo...@apache.org.
TINKERPOP-1920 Fixed P.within/without() handling for collections


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

Branch: refs/heads/TINKERPOP-1865
Commit: 8c87fcfb06cc09b36e6c91bda88b61ea8ab68379
Parents: 3aa7336
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Mar 15 12:19:48 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 10:16:44 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 gremlin-dotnet/glv/P.template                   | 17 ++++++++++++++-
 .../src/Gremlin.Net/Process/Traversal/P.cs      | 22 ++++++++++++++++++--
 .../Gherkin/GherkinTestRunner.cs                |  6 +-----
 .../Gherkin/IgnoreException.cs                  | 10 +++------
 5 files changed, 41 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c87fcfb/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 8fcbe1a..0ec6f6d 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -42,6 +42,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * 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 .NET GraphSON serialization of `P.Within()` and `P.without()` when passing a `Collection` as an argument.
 * 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/8c87fcfb/gremlin-dotnet/glv/P.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/P.template b/gremlin-dotnet/glv/P.template
index ad037c1..fd3b752 100644
--- a/gremlin-dotnet/glv/P.template
+++ b/gremlin-dotnet/glv/P.template
@@ -22,6 +22,12 @@
 #endregion
 
 // THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+
 namespace Gremlin.Net.Process.Traversal
 {
 #pragma warning disable 1591
@@ -88,9 +94,18 @@ namespace Gremlin.Net.Process.Traversal
 <% } %><% pmethods.findAll{ it in ["within", "without"] }.each { method -> %>
         public static P <%= toCSharpMethodName.call(method) %>(params object[] args)
         {
-            return new P("<%= method %>", args);
+            if (args.Length == 1 && args[0] is ICollection<object> collection)
+                return new P("<%= method %>", ToGenericArray(collection));
+            else
+                return new P("<%= method %>", args);
         }
 <% } %>
+
+        private static T[] ToGenericArray<T>(ICollection<T> collection)
+        {
+            return collection?.ToArray() ?? new T[0];;
+        }
+
         /// <inheritdoc />
         public override string ToString()
         {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c87fcfb/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
index e3a1e76..e718bbe 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
@@ -22,6 +22,12 @@
 #endregion
 
 // THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+
 namespace Gremlin.Net.Process.Traversal
 {
 #pragma warning disable 1591
@@ -148,12 +154,24 @@ namespace Gremlin.Net.Process.Traversal
 
         public static P Within(params object[] args)
         {
-            return new P("within", args);
+            if (args.Length == 1 && args[0] is ICollection<object> collection)
+                return new P("within", ToGenericArray(collection));
+            else
+                return new P("within", args);
         }
 
         public static P Without(params object[] args)
         {
-            return new P("without", args);
+            if (args.Length == 1 && args[0] is ICollection<object> collection)
+                return new P("without", ToGenericArray(collection));
+            else
+                return new P("without", args);
+        }
+
+
+        private static T[] ToGenericArray<T>(ICollection<T> collection)
+        {
+            return collection?.ToArray() ?? new T[0];;
         }
 
         /// <inheritdoc />

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c87fcfb/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 e15a492..6d38ccc 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -38,11 +38,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
     public class GherkinTestRunner
     {
         private static readonly IDictionary<string, IgnoreReason> IgnoredScenarios =
-            new Dictionary<string, IgnoreReason>
-            {
-                {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
-                {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray}
-            };
+            new Dictionary<string, IgnoreReason>();
         
         private static class Keywords
         {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c87fcfb/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 9aa5213..860c11d 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@ -40,11 +40,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             string reasonSuffix = null;
             switch (reason)
             {
-                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)";
+                case IgnoreReason.NoReason:
+                    reasonSuffix = "";
                     break;
             }
             return $"Scenario ignored" + reasonSuffix;
@@ -53,7 +50,6 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
     
     public enum IgnoreReason
     {
-        PWithinWrapsArgumentsInArray,
-        PNotDeserializationProblem
+        NoReason
     }
 }
\ No newline at end of file