TINKERPOP-1927 Coerced BulkSet to g:List in GraphSON 3.0

Since GLVs don't have BulkSet infrastructure and the need to include it doesn't 
seem high the most direct fix here is to coerce to g:List as the behavior for 
BulkSet iteration is basically that same as a List.


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

Branch: refs/heads/TINKERPOP-1903
Commit: 2d6c28a4781786238866bbc942d7706e16ec628e
Parents: 46be135
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Apr 5 08:59:56 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Apr 9 14:06:00 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                            | 7 +++++++
 .../structure/io/graphson/GraphSONTypeSerializerV3d0.java     | 3 ++-
 .../Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs  | 5 +----
 .../Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs    | 6 ------
 4 files changed, 10 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d6c28a4/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index d07cea8..ad9085a 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -20,6 +20,13 @@ limitations under the License.
 
 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/gremlin-mozart.png[width=185]
 
+[[release-3-3-3]]
+=== TinkerPop 3.3.3 (Release Date: NOT OFFICIALLY RELEASED YET)
+
+This release also includes changes from <<release-3-2-9, 3.2.9>>.
+
+* Coerced `BulkSet` to `g:List` in GraphSON 3.0.
+
 [[release-3-3-2]]
 === TinkerPop 3.3.2 (Release Date: April 2, 2018)
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d6c28a4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java
----------------------------------------------------------------------
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java
index 3bdbc71..2cd57dc 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java
@@ -26,6 +26,7 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.SackFunctions;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
+import org.apache.tinkerpop.gremlin.process.traversal.step.util.BulkSet;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
 import org.apache.tinkerpop.gremlin.process.traversal.util.Metrics;
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics;
@@ -124,7 +125,7 @@ public class GraphSONTypeSerializerV3d0 extends 
AbstractGraphSONTypeSerializer {
                 mapped = Tree.class;
             else
                 mapped = Map.class;
-        } else if (List.class.isAssignableFrom(c))
+        } else if (List.class.isAssignableFrom(c) || 
BulkSet.class.isAssignableFrom(c))  // coerce BulkSet to List as their behavior 
on iteration is identical
             mapped = List.class;
         else if (Set.class.isAssignableFrom(c))
             mapped = Set.class;

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

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d6c28a4/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 711fc20..d5d6dfd 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@ -40,15 +40,9 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             string reasonSuffix = null;
             switch (reason)
             {
-                case IgnoreReason.TraversalTDeserializationNotSupported:
-                    reasonSuffix = " as deserialization of g:T on GraphSON3 is 
not supported";
-                    break;
                 case IgnoreReason.NoReason:
                     reasonSuffix = "";
                     break;
-                case IgnoreReason.ReceivedDataDoesntMatchExpected:
-                    reasonSuffix = " because received data from server doesn't 
match expected data.";
-                    break;
             }
             return $"Scenario ignored" + reasonSuffix;
         }

Reply via email to