You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2018/03/23 17:51:40 UTC
[1/4] tinkerpop git commit: TINKERPOP-1866 Add a deserializer for g:T
to Gremlin.Net
Repository: tinkerpop
Updated Branches:
refs/heads/master 23ca117b9 -> 034a3be7b
TINKERPOP-1866 Add a deserializer for g:T to Gremlin.Net
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4016c80b
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4016c80b
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4016c80b
Branch: refs/heads/master
Commit: 4016c80b1dac10aff1509dbfabf268d4bb9b5c50
Parents: ffabea8
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Tue Mar 20 15:45:11 2018 +0100
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Mar 22 16:50:15 2018 -0400
----------------------------------------------------------------------
.../Process/Traversal/EnumWrapper.cs | 31 ++++++++++++++-
.../Structure/IO/GraphSON/GraphSONReader.cs | 1 +
.../Structure/IO/GraphSON/TDeserializer.cs | 42 ++++++++++++++++++++
.../Gherkin/CommonSteps.cs | 4 +-
.../Gherkin/GherkinTestRunner.cs | 4 --
.../IO/GraphSON/GraphSONReaderTests.cs | 12 ++++++
6 files changed, 88 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4016c80b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/EnumWrapper.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/EnumWrapper.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/EnumWrapper.cs
index 66b8c5a..20a0348 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/EnumWrapper.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/EnumWrapper.cs
@@ -21,12 +21,14 @@
#endregion
+using System;
+
namespace Gremlin.Net.Process.Traversal
{
/// <summary>
/// Represents an enum.
/// </summary>
- public abstract class EnumWrapper
+ public abstract class EnumWrapper : IEquatable<EnumWrapper>
{
/// <summary>
/// Gets the name of the enum.
@@ -48,5 +50,32 @@ namespace Gremlin.Net.Process.Traversal
EnumName = enumName;
EnumValue = enumValue;
}
+
+ /// <inheritdoc />
+ public bool Equals(EnumWrapper other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+ return string.Equals(EnumName, other.EnumName) && string.Equals(EnumValue, other.EnumValue);
+ }
+
+ /// <inheritdoc />
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ if (obj.GetType() != this.GetType()) return false;
+ return Equals((EnumWrapper) obj);
+ }
+
+ /// <inheritdoc />
+ public override int GetHashCode()
+ {
+ unchecked
+ {
+ return ((EnumName != null ? EnumName.GetHashCode() : 0) * 397) ^
+ (EnumValue != null ? EnumValue.GetHashCode() : 0);
+ }
+ }
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4016c80b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONReader.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONReader.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONReader.cs
index fbec67d..94fcd8d 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONReader.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONReader.cs
@@ -52,6 +52,7 @@ namespace Gremlin.Net.Structure.IO.GraphSON
{"g:Property", new PropertyDeserializer()},
{"g:VertexProperty", new VertexPropertyDeserializer()},
{"g:Path", new PathDeserializer()},
+ {"g:T", new TDeserializer()},
{"gx:BigDecimal", new DecimalConverter()}
};
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4016c80b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TDeserializer.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TDeserializer.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TDeserializer.cs
new file mode 100644
index 0000000..e79783c
--- /dev/null
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TDeserializer.cs
@@ -0,0 +1,42 @@
+#region License
+
+/*
+ * 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.
+ */
+
+#endregion
+
+using System;
+using System.Linq;
+using System.Reflection;
+using Gremlin.Net.Process.Traversal;
+using Newtonsoft.Json.Linq;
+
+namespace Gremlin.Net.Structure.IO.GraphSON
+{
+ internal class TDeserializer : IGraphSONDeserializer
+ {
+ public dynamic Objectify(JToken graphsonObject, GraphSONReader reader)
+ {
+ var tValue = graphsonObject.ToString();
+ return typeof(T).GetProperties()
+ .First(p => string.Equals(p.Name, tValue, StringComparison.OrdinalIgnoreCase))
+ .GetValue(null);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4016c80b/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 9322da3..31948f4 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
@@ -26,6 +26,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
+using System.Reflection;
using System.Text.RegularExpressions;
using Gherkin.Ast;
using Gremlin.Net.IntegrationTest.Gherkin.Attributes;
@@ -239,7 +240,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
private static object ToT(string enumName, string graphName)
{
- return Enum.Parse(typeof(T), TraversalParser.GetCsharpName(enumName));
+ return typeof(T).GetProperties()
+ .First(p => string.Equals(p.Name, enumName, StringComparison.OrdinalIgnoreCase)).GetValue(null);
}
private static object ToNumber(string stringNumber, string graphName)
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4016c80b/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 52646a7..68d10fe 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -40,10 +40,6 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
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_filterXoutEXcreatedXX_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported }, // TINKERPOP-1866
- {"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMapXtrueX", IgnoreReason.TraversalTDeserializationNotSupported},
{"g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX", IgnoreReason.ReceivedDataDoesntMatchExpected}
};
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4016c80b/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..c93630f 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
@@ -23,6 +23,7 @@
using System;
using System.Collections.Generic;
+using Gremlin.Net.Process.Traversal;
using Gremlin.Net.Structure;
using Gremlin.Net.Structure.IO.GraphSON;
using Moq;
@@ -220,6 +221,17 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
Assert.Equal(new List<object> {5, 6}, deserializedValue);
}
+ [Theory, MemberData(nameof(Versions))]
+ public void ShouldDeserializeT(int version)
+ {
+ var graphSon = "{\"@type\":\"g:T\",\"@value\":\"label\"}";
+ var reader = CreateStandardGraphSONReader(version);
+
+ T readT = reader.ToObject(JObject.Parse(graphSon));
+
+ Assert.Equal(T.Label, readT);
+ }
+
[Fact]
public void ShouldDeserializePathFromGraphSON2()
{
[2/4] tinkerpop git commit: TINKERPOP-1866 Avoid using reflection for
T deserialization
Posted by sp...@apache.org.
TINKERPOP-1866 Avoid using reflection for T deserialization
Expose GetByValue() static method on EnumWrapper implementation to
try to expose the same functionality as if it were an enum.
Use the GetByValue() to deserialize a T instance.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/69eb333a
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/69eb333a
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/69eb333a
Branch: refs/heads/master
Commit: 69eb333af04357238b2fa5ce16c80a5f10cca39e
Parents: 4016c80
Author: Jorge Bay Gondra <jo...@gmail.com>
Authored: Fri Mar 23 12:07:25 2018 +0100
Committer: Jorge Bay Gondra <jo...@gmail.com>
Committed: Fri Mar 23 12:07:25 2018 +0100
----------------------------------------------------------------------
gremlin-dotnet/glv/Enum.template | 37 +++++++++--
gremlin-dotnet/glv/generate.groovy | 15 +----
.../Gremlin.Net/Process/Traversal/Barrier.cs | 27 +++++++-
.../Process/Traversal/Cardinality.cs | 35 ++++++++--
.../src/Gremlin.Net/Process/Traversal/Column.cs | 31 +++++++--
.../Gremlin.Net/Process/Traversal/Direction.cs | 35 ++++++++--
.../Process/Traversal/GraphSONVersion.cs | 35 ++++++++--
.../Process/Traversal/GryoVersion.cs | 31 +++++++--
.../Gremlin.Net/Process/Traversal/Operator.cs | 67 ++++++++++++++++----
.../src/Gremlin.Net/Process/Traversal/Order.cs | 35 ++++++++--
.../src/Gremlin.Net/Process/Traversal/Pick.cs | 31 +++++++--
.../src/Gremlin.Net/Process/Traversal/Pop.cs | 39 ++++++++++--
.../src/Gremlin.Net/Process/Traversal/Scope.cs | 31 +++++++--
.../src/Gremlin.Net/Process/Traversal/T.cs | 39 ++++++++++--
.../Structure/IO/GraphSON/TDeserializer.cs | 8 +--
.../Gherkin/CommonSteps.cs | 3 +-
16 files changed, 409 insertions(+), 90 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/glv/Enum.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/Enum.template b/gremlin-dotnet/glv/Enum.template
index 1f11076..e785cd0 100644
--- a/gremlin-dotnet/glv/Enum.template
+++ b/gremlin-dotnet/glv/Enum.template
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,11 +33,37 @@ namespace Gremlin.Net.Process.Traversal
{
private <%= enumClass.simpleName %>(string enumValue)
: base("<%= enumClass.simpleName %>", enumValue)
- {
+ {
+ }
+<%
+ def toCSharpName = { enumClass, itemName ->
+ if (enumClass.equals(directionClass)) {
+ itemName = itemName.toLowerCase()
+ }
+
+ return itemName.substring(0, 1).toUpperCase() + itemName.substring(1)
+ }
+ constants.each { value -> %>
+ public static ${enumClass.simpleName} ${toCSharpName(enumClass, value.name())} => new ${enumClass.simpleName}("${value.name()}");
+<% }%>
+ private static readonly IDictionary<string, <%= enumClass.simpleName %>> Properties = new Dictionary<string, <%= enumClass.simpleName %>>
+ {<% constants.each { value -> %>
+ { "${value.name()}", ${toCSharpName(enumClass, value.name())} },<% }%>
+ };
+
+ /// <summary>
+ /// Gets the <%= enumClass.simpleName %> enumeration by value.
+ /// </summary>
+ public static <%= enumClass.simpleName %> GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException(\$"No matching <%= enumClass.simpleName%> for value '{value}'");
+ }
+ return property;
}
-<% constants.each { constant -> %>
- <%= constant %><%}%>
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/glv/generate.groovy
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/generate.groovy b/gremlin-dotnet/glv/generate.groovy
index bf7f03b..91f9b94 100644
--- a/gremlin-dotnet/glv/generate.groovy
+++ b/gremlin-dotnet/glv/generate.groovy
@@ -321,14 +321,6 @@ def pTemplate = engine.createTemplate(new File("${projectBaseDir}/glv/P.template
def pFile = new File("${projectBaseDir}/src/Gremlin.Net/Process/Traversal/P.cs")
pFile.newWriter().withWriter{ it << pTemplate }
-// Process enums
-def toCSharpName = { enumClass, itemName ->
- if (enumClass.equals(Direction.class)) {
- itemName = itemName.toLowerCase()
- }
-
- return itemName.substring(0, 1).toUpperCase() + itemName.substring(1)
-}
def createEnum = { enumClass ->
def b = ["enumClass": enumClass,
@@ -341,11 +333,8 @@ def createEnum = { enumClass ->
return toCSharpTypeMap[typeName]
}.join(", "),
"constants": enumClass.getEnumConstants().
- sort { a, b -> a.name() <=> b.name() }.
- collect { value ->
- def csharpName = toCSharpName(enumClass, value.name())
- return "public static ${enumClass.simpleName} ${csharpName} => new ${enumClass.simpleName}(\"${value.name()}\");"
- }]
+ sort { a, b -> a.name() <=> b.name() },
+ "directionClass": Direction.class ]
def enumTemplate = engine.createTemplate(new File("${projectBaseDir}/glv/Enum.template")).make(b)
def enumFile = new File("${projectBaseDir}/src/Gremlin.Net/Process/Traversal/" + enumClass.getSimpleName() + ".cs")
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs
index df6d349..0f86f32 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,11 +33,29 @@ namespace Gremlin.Net.Process.Traversal
{
private Barrier(string enumValue)
: base("Barrier", enumValue)
- {
+ {
}
-
+
public static Barrier NormSack => new Barrier("normSack");
+
+ private static readonly IDictionary<string, Barrier> Properties = new Dictionary<string, Barrier>
+ {
+ { "normSack", NormSack },
+ };
+
+ /// <summary>
+ /// Gets the Barrier enumeration by value.
+ /// </summary>
+ public static Barrier GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching Barrier for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs
index d2cbcf2..caced7d 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,13 +33,35 @@ namespace Gremlin.Net.Process.Traversal
{
private Cardinality(string enumValue)
: base("Cardinality", enumValue)
- {
+ {
}
-
- public static Cardinality List => new Cardinality("list");
- public static Cardinality Set => new Cardinality("set");
+
+ public static Cardinality List => new Cardinality("list");
+
+ public static Cardinality Set => new Cardinality("set");
+
public static Cardinality Single => new Cardinality("single");
+
+ private static readonly IDictionary<string, Cardinality> Properties = new Dictionary<string, Cardinality>
+ {
+ { "list", List },
+ { "set", Set },
+ { "single", Single },
+ };
+
+ /// <summary>
+ /// Gets the Cardinality enumeration by value.
+ /// </summary>
+ public static Cardinality GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching Cardinality for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs
index 9e0451e..cacf886 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,12 +33,32 @@ namespace Gremlin.Net.Process.Traversal
{
private Column(string enumValue)
: base("Column", enumValue)
- {
+ {
}
-
- public static Column Keys => new Column("keys");
+
+ public static Column Keys => new Column("keys");
+
public static Column Values => new Column("values");
+
+ private static readonly IDictionary<string, Column> Properties = new Dictionary<string, Column>
+ {
+ { "keys", Keys },
+ { "values", Values },
+ };
+
+ /// <summary>
+ /// Gets the Column enumeration by value.
+ /// </summary>
+ public static Column GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching Column for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs
index 5a93f0a..92d9416 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,13 +33,35 @@ namespace Gremlin.Net.Process.Traversal
{
private Direction(string enumValue)
: base("Direction", enumValue)
- {
+ {
}
-
- public static Direction Both => new Direction("BOTH");
- public static Direction In => new Direction("IN");
+
+ public static Direction Both => new Direction("BOTH");
+
+ public static Direction In => new Direction("IN");
+
public static Direction Out => new Direction("OUT");
+
+ private static readonly IDictionary<string, Direction> Properties = new Dictionary<string, Direction>
+ {
+ { "BOTH", Both },
+ { "IN", In },
+ { "OUT", Out },
+ };
+
+ /// <summary>
+ /// Gets the Direction enumeration by value.
+ /// </summary>
+ public static Direction GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching Direction for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs
index e55be6b..366c48c 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,13 +33,35 @@ namespace Gremlin.Net.Process.Traversal
{
private GraphSONVersion(string enumValue)
: base("GraphSONVersion", enumValue)
- {
+ {
}
-
- public static GraphSONVersion V1_0 => new GraphSONVersion("V1_0");
- public static GraphSONVersion V2_0 => new GraphSONVersion("V2_0");
+
+ public static GraphSONVersion V1_0 => new GraphSONVersion("V1_0");
+
+ public static GraphSONVersion V2_0 => new GraphSONVersion("V2_0");
+
public static GraphSONVersion V3_0 => new GraphSONVersion("V3_0");
+
+ private static readonly IDictionary<string, GraphSONVersion> Properties = new Dictionary<string, GraphSONVersion>
+ {
+ { "V1_0", V1_0 },
+ { "V2_0", V2_0 },
+ { "V3_0", V3_0 },
+ };
+
+ /// <summary>
+ /// Gets the GraphSONVersion enumeration by value.
+ /// </summary>
+ public static GraphSONVersion GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching GraphSONVersion for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs
index 93fc369..01d2a99 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,12 +33,32 @@ namespace Gremlin.Net.Process.Traversal
{
private GryoVersion(string enumValue)
: base("GryoVersion", enumValue)
- {
+ {
}
-
- public static GryoVersion V1_0 => new GryoVersion("V1_0");
+
+ public static GryoVersion V1_0 => new GryoVersion("V1_0");
+
public static GryoVersion V3_0 => new GryoVersion("V3_0");
+
+ private static readonly IDictionary<string, GryoVersion> Properties = new Dictionary<string, GryoVersion>
+ {
+ { "V1_0", V1_0 },
+ { "V3_0", V3_0 },
+ };
+
+ /// <summary>
+ /// Gets the GryoVersion enumeration by value.
+ /// </summary>
+ public static GryoVersion GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching GryoVersion for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs
index 8f0c9b3..8b87e40 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,21 +33,59 @@ namespace Gremlin.Net.Process.Traversal
{
private Operator(string enumValue)
: base("Operator", enumValue)
- {
+ {
}
-
- public static Operator AddAll => new Operator("addAll");
- public static Operator And => new Operator("and");
- public static Operator Assign => new Operator("assign");
- public static Operator Div => new Operator("div");
- public static Operator Max => new Operator("max");
- public static Operator Min => new Operator("min");
- public static Operator Minus => new Operator("minus");
- public static Operator Mult => new Operator("mult");
- public static Operator Or => new Operator("or");
- public static Operator Sum => new Operator("sum");
+
+ public static Operator AddAll => new Operator("addAll");
+
+ public static Operator And => new Operator("and");
+
+ public static Operator Assign => new Operator("assign");
+
+ public static Operator Div => new Operator("div");
+
+ public static Operator Max => new Operator("max");
+
+ public static Operator Min => new Operator("min");
+
+ public static Operator Minus => new Operator("minus");
+
+ public static Operator Mult => new Operator("mult");
+
+ public static Operator Or => new Operator("or");
+
+ public static Operator Sum => new Operator("sum");
+
public static Operator SumLong => new Operator("sumLong");
+
+ private static readonly IDictionary<string, Operator> Properties = new Dictionary<string, Operator>
+ {
+ { "addAll", AddAll },
+ { "and", And },
+ { "assign", Assign },
+ { "div", Div },
+ { "max", Max },
+ { "min", Min },
+ { "minus", Minus },
+ { "mult", Mult },
+ { "or", Or },
+ { "sum", Sum },
+ { "sumLong", SumLong },
+ };
+
+ /// <summary>
+ /// Gets the Operator enumeration by value.
+ /// </summary>
+ public static Operator GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching Operator for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs
index c6a1817..2430114 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,13 +33,35 @@ namespace Gremlin.Net.Process.Traversal
{
private Order(string enumValue)
: base("Order", enumValue)
- {
+ {
}
-
- public static Order Decr => new Order("decr");
- public static Order Incr => new Order("incr");
+
+ public static Order Decr => new Order("decr");
+
+ public static Order Incr => new Order("incr");
+
public static Order Shuffle => new Order("shuffle");
+
+ private static readonly IDictionary<string, Order> Properties = new Dictionary<string, Order>
+ {
+ { "decr", Decr },
+ { "incr", Incr },
+ { "shuffle", Shuffle },
+ };
+
+ /// <summary>
+ /// Gets the Order enumeration by value.
+ /// </summary>
+ public static Order GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching Order for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs
index d4132ea..b7dd8c2 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,12 +33,32 @@ namespace Gremlin.Net.Process.Traversal
{
private Pick(string enumValue)
: base("Pick", enumValue)
- {
+ {
}
-
- public static Pick Any => new Pick("any");
+
+ public static Pick Any => new Pick("any");
+
public static Pick None => new Pick("none");
+
+ private static readonly IDictionary<string, Pick> Properties = new Dictionary<string, Pick>
+ {
+ { "any", Any },
+ { "none", None },
+ };
+
+ /// <summary>
+ /// Gets the Pick enumeration by value.
+ /// </summary>
+ public static Pick GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching Pick for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs
index d1915fc..1210f5c 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,14 +33,38 @@ namespace Gremlin.Net.Process.Traversal
{
private Pop(string enumValue)
: base("Pop", enumValue)
- {
+ {
}
-
- public static Pop All => new Pop("all");
- public static Pop First => new Pop("first");
- public static Pop Last => new Pop("last");
+
+ public static Pop All => new Pop("all");
+
+ public static Pop First => new Pop("first");
+
+ public static Pop Last => new Pop("last");
+
public static Pop Mixed => new Pop("mixed");
+
+ private static readonly IDictionary<string, Pop> Properties = new Dictionary<string, Pop>
+ {
+ { "all", All },
+ { "first", First },
+ { "last", Last },
+ { "mixed", Mixed },
+ };
+
+ /// <summary>
+ /// Gets the Pop enumeration by value.
+ /// </summary>
+ public static Pop GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching Pop for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs
index ee67c39..2df6a95 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,12 +33,32 @@ namespace Gremlin.Net.Process.Traversal
{
private Scope(string enumValue)
: base("Scope", enumValue)
- {
+ {
}
-
- public static Scope Global => new Scope("global");
+
+ public static Scope Global => new Scope("global");
+
public static Scope Local => new Scope("local");
+
+ private static readonly IDictionary<string, Scope> Properties = new Dictionary<string, Scope>
+ {
+ { "global", Global },
+ { "local", Local },
+ };
+
+ /// <summary>
+ /// Gets the Scope enumeration by value.
+ /// </summary>
+ public static Scope GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching Scope for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs
index bae1314..80ca0ec 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs
@@ -22,6 +22,9 @@
#endregion
// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections.Generic;
+
namespace Gremlin.Net.Process.Traversal
{
#pragma warning disable 1591
@@ -30,14 +33,38 @@ namespace Gremlin.Net.Process.Traversal
{
private T(string enumValue)
: base("T", enumValue)
- {
+ {
}
-
- public static T Id => new T("id");
- public static T Key => new T("key");
- public static T Label => new T("label");
+
+ public static T Id => new T("id");
+
+ public static T Key => new T("key");
+
+ public static T Label => new T("label");
+
public static T Value => new T("value");
+
+ private static readonly IDictionary<string, T> Properties = new Dictionary<string, T>
+ {
+ { "id", Id },
+ { "key", Key },
+ { "label", Label },
+ { "value", Value },
+ };
+
+ /// <summary>
+ /// Gets the T enumeration by value.
+ /// </summary>
+ public static T GetByValue(string value)
+ {
+ if (!Properties.TryGetValue(value, out var property))
+ {
+ throw new ArgumentException($"No matching T for value '{value}'");
+ }
+ return property;
+ }
}
-
+
+
#pragma warning restore 1591
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TDeserializer.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TDeserializer.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TDeserializer.cs
index e79783c..a3d972f 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TDeserializer.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TDeserializer.cs
@@ -21,9 +21,6 @@
#endregion
-using System;
-using System.Linq;
-using System.Reflection;
using Gremlin.Net.Process.Traversal;
using Newtonsoft.Json.Linq;
@@ -33,10 +30,7 @@ namespace Gremlin.Net.Structure.IO.GraphSON
{
public dynamic Objectify(JToken graphsonObject, GraphSONReader reader)
{
- var tValue = graphsonObject.ToString();
- return typeof(T).GetProperties()
- .First(p => string.Equals(p.Name, tValue, StringComparison.OrdinalIgnoreCase))
- .GetValue(null);
+ return T.GetByValue(graphsonObject.ToString());
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/69eb333a/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 31948f4..6e21bd2 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
@@ -240,8 +240,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
private static object ToT(string enumName, string graphName)
{
- return typeof(T).GetProperties()
- .First(p => string.Equals(p.Name, enumName, StringComparison.OrdinalIgnoreCase)).GetValue(null);
+ return T.GetByValue(enumName);
}
private static object ToNumber(string stringNumber, string graphName)
[4/4] tinkerpop git commit: Merge branch 'tp33'
Posted by sp...@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/034a3be7
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/034a3be7
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/034a3be7
Branch: refs/heads/master
Commit: 034a3be7bbdbb2dc8adc09679c2f6be0d34298bf
Parents: 23ca117 762d370
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Mar 23 13:51:24 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Mar 23 13:51:24 2018 -0400
----------------------------------------------------------------------
gremlin-dotnet/glv/Enum.template | 37 +++++++++--
gremlin-dotnet/glv/generate.groovy | 15 +----
.../Gremlin.Net/Process/Traversal/Barrier.cs | 27 +++++++-
.../Process/Traversal/Cardinality.cs | 35 ++++++++--
.../src/Gremlin.Net/Process/Traversal/Column.cs | 31 +++++++--
.../Gremlin.Net/Process/Traversal/Direction.cs | 35 ++++++++--
.../Process/Traversal/EnumWrapper.cs | 31 ++++++++-
.../Process/Traversal/GraphSONVersion.cs | 35 ++++++++--
.../Process/Traversal/GryoVersion.cs | 31 +++++++--
.../Gremlin.Net/Process/Traversal/Operator.cs | 67 ++++++++++++++++----
.../src/Gremlin.Net/Process/Traversal/Order.cs | 35 ++++++++--
.../src/Gremlin.Net/Process/Traversal/Pick.cs | 31 +++++++--
.../src/Gremlin.Net/Process/Traversal/Pop.cs | 39 ++++++++++--
.../src/Gremlin.Net/Process/Traversal/Scope.cs | 31 +++++++--
.../src/Gremlin.Net/Process/Traversal/T.cs | 39 ++++++++++--
.../Structure/IO/GraphSON/GraphSONReader.cs | 1 +
.../Structure/IO/GraphSON/TDeserializer.cs | 36 +++++++++++
.../Gherkin/CommonSteps.cs | 3 +-
.../Gherkin/GherkinTestRunner.cs | 4 --
.../IO/GraphSON/GraphSONReaderTests.cs | 12 ++++
20 files changed, 488 insertions(+), 87 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/034a3be7/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/034a3be7/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
----------------------------------------------------------------------
[3/4] tinkerpop git commit: Merge remote-tracking branch
'origin/TINKERPOP-1866' into tp33
Posted by sp...@apache.org.
Merge remote-tracking branch 'origin/TINKERPOP-1866' into tp33
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/762d370c
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/762d370c
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/762d370c
Branch: refs/heads/master
Commit: 762d370cd770e59351887b637985bba295e549ef
Parents: 13a20e5 69eb333
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Mar 23 13:51:06 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Mar 23 13:51:06 2018 -0400
----------------------------------------------------------------------
gremlin-dotnet/glv/Enum.template | 37 +++++++++--
gremlin-dotnet/glv/generate.groovy | 15 +----
.../Gremlin.Net/Process/Traversal/Barrier.cs | 27 +++++++-
.../Process/Traversal/Cardinality.cs | 35 ++++++++--
.../src/Gremlin.Net/Process/Traversal/Column.cs | 31 +++++++--
.../Gremlin.Net/Process/Traversal/Direction.cs | 35 ++++++++--
.../Process/Traversal/EnumWrapper.cs | 31 ++++++++-
.../Process/Traversal/GraphSONVersion.cs | 35 ++++++++--
.../Process/Traversal/GryoVersion.cs | 31 +++++++--
.../Gremlin.Net/Process/Traversal/Operator.cs | 67 ++++++++++++++++----
.../src/Gremlin.Net/Process/Traversal/Order.cs | 35 ++++++++--
.../src/Gremlin.Net/Process/Traversal/Pick.cs | 31 +++++++--
.../src/Gremlin.Net/Process/Traversal/Pop.cs | 39 ++++++++++--
.../src/Gremlin.Net/Process/Traversal/Scope.cs | 31 +++++++--
.../src/Gremlin.Net/Process/Traversal/T.cs | 39 ++++++++++--
.../Structure/IO/GraphSON/GraphSONReader.cs | 1 +
.../Structure/IO/GraphSON/TDeserializer.cs | 36 +++++++++++
.../Gherkin/CommonSteps.cs | 3 +-
.../Gherkin/GherkinTestRunner.cs | 4 --
.../IO/GraphSON/GraphSONReaderTests.cs | 12 ++++
20 files changed, 488 insertions(+), 87 deletions(-)
----------------------------------------------------------------------