[01/34] tinkerpop git commit: TINKERPOP-1738 Bump to jackson 2.9.4 [Forced Update!]
Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-1897 a7cb12b6e -> e5bf9e800 (forced update) TINKERPOP-1738 Bump to jackson 2.9.4 This fixes a problem where Jackson was missing an error in GraphSON type information depending on the order of the JSON elements. It required some internal changes to the GraphSONTypeSerializer given API shifts in jackson - should not really affect TinkerPop users. Modified the original test that demonstrated this problem to be a bit more robust. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f35f04a8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f35f04a8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f35f04a8 Branch: refs/heads/TINKERPOP-1897 Commit: f35f04a8da88280e8b121356ac5839fc0b8ac859 Parents: a61dd58 Author: Stephen Mallette Authored: Tue Feb 13 10:16:46 2018 -0500 Committer: Stephen Mallette Committed: Fri Mar 2 09:11:34 2018 -0500 -- CHANGELOG.asciidoc | 1 + .../io/graphson/GraphSONTypeSerializer.java | 94 ++-- ...aphSONMapperV2d0PartialEmbeddedTypeTest.java | 32 +++ gremlin-shaded/pom.xml | 2 +- 4 files changed, 61 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index a24b1fb..f99d1a2 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -27,6 +27,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`. * Added the "Kitchen Sink" test data set. * Fixed deserialization of `P.not()` for GraphSON. +* Bumped to Jackson 2.9.4. * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients. * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits. * Delayed setting of the request identifier until `RequestMessage` construction by the builder. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java index 78c670a..8b1ba25 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java @@ -39,6 +39,8 @@ import org.apache.tinkerpop.gremlin.util.function.HashMapSupplier; import org.apache.tinkerpop.gremlin.util.function.Lambda; import org.apache.tinkerpop.shaded.jackson.annotation.JsonTypeInfo; import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator; +import org.apache.tinkerpop.shaded.jackson.core.JsonToken; +import org.apache.tinkerpop.shaded.jackson.core.type.WritableTypeId; import org.apache.tinkerpop.shaded.jackson.databind.BeanProperty; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeIdResolver; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeSerializer; @@ -79,7 +81,7 @@ public class GraphSONTypeSerializer extends TypeSerializer { @Override public JsonTypeInfo.As getTypeInclusion() { -return null; +return JsonTypeInfo.As.WRAPPER_OBJECT; } @Override @@ -93,79 +95,37 @@ public class GraphSONTypeSerializer extends TypeSerializer { } @Override -public void writeTypePrefixForScalar(final Object o, final JsonGenerator jsonGenerator) throws IOException { -if (canWriteTypeId()) { -writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(o, getClassFromObject(o))); +public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { +if (writableTypeId.valueShape == JsonToken.VALUE_STRING) { +if (canWriteTypeId()) { +writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); +} +} else if (writableTypeId.valueShape == JsonToken.START_OBJECT) { +jsonGenerator.writeStartObject(); +} else if (writableTypeId.valueShape
[16/50] tinkerpop git commit: TINKERPOP-1738 Bump to jackson 2.9.4
TINKERPOP-1738 Bump to jackson 2.9.4 This fixes a problem where Jackson was missing an error in GraphSON type information depending on the order of the JSON elements. It required some internal changes to the GraphSONTypeSerializer given API shifts in jackson - should not really affect TinkerPop users. Modified the original test that demonstrated this problem to be a bit more robust. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f35f04a8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f35f04a8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f35f04a8 Branch: refs/heads/TINKERPOP-1854 Commit: f35f04a8da88280e8b121356ac5839fc0b8ac859 Parents: a61dd58 Author: Stephen Mallette Authored: Tue Feb 13 10:16:46 2018 -0500 Committer: Stephen Mallette Committed: Fri Mar 2 09:11:34 2018 -0500 -- CHANGELOG.asciidoc | 1 + .../io/graphson/GraphSONTypeSerializer.java | 94 ++-- ...aphSONMapperV2d0PartialEmbeddedTypeTest.java | 32 +++ gremlin-shaded/pom.xml | 2 +- 4 files changed, 61 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index a24b1fb..f99d1a2 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -27,6 +27,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`. * Added the "Kitchen Sink" test data set. * Fixed deserialization of `P.not()` for GraphSON. +* Bumped to Jackson 2.9.4. * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients. * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits. * Delayed setting of the request identifier until `RequestMessage` construction by the builder. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java index 78c670a..8b1ba25 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java @@ -39,6 +39,8 @@ import org.apache.tinkerpop.gremlin.util.function.HashMapSupplier; import org.apache.tinkerpop.gremlin.util.function.Lambda; import org.apache.tinkerpop.shaded.jackson.annotation.JsonTypeInfo; import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator; +import org.apache.tinkerpop.shaded.jackson.core.JsonToken; +import org.apache.tinkerpop.shaded.jackson.core.type.WritableTypeId; import org.apache.tinkerpop.shaded.jackson.databind.BeanProperty; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeIdResolver; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeSerializer; @@ -79,7 +81,7 @@ public class GraphSONTypeSerializer extends TypeSerializer { @Override public JsonTypeInfo.As getTypeInclusion() { -return null; +return JsonTypeInfo.As.WRAPPER_OBJECT; } @Override @@ -93,79 +95,37 @@ public class GraphSONTypeSerializer extends TypeSerializer { } @Override -public void writeTypePrefixForScalar(final Object o, final JsonGenerator jsonGenerator) throws IOException { -if (canWriteTypeId()) { -writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(o, getClassFromObject(o))); +public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { +if (writableTypeId.valueShape == JsonToken.VALUE_STRING) { +if (canWriteTypeId()) { +writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); +} +} else if (writableTypeId.valueShape == JsonToken.START_OBJECT) { +jsonGenerator.writeStartObject(); +} else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { +jsonGenerator.writeStartArray(); +} else { +thro
[32/50] tinkerpop git commit: TINKERPOP-1738 Bump to jackson 2.9.4
TINKERPOP-1738 Bump to jackson 2.9.4 This fixes a problem where Jackson was missing an error in GraphSON type information depending on the order of the JSON elements. It required some internal changes to the GraphSONTypeSerializer given API shifts in jackson - should not really affect TinkerPop users. Modified the original test that demonstrated this problem to be a bit more robust. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f35f04a8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f35f04a8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f35f04a8 Branch: refs/heads/TINKERPOP-1447 Commit: f35f04a8da88280e8b121356ac5839fc0b8ac859 Parents: a61dd58 Author: Stephen Mallette Authored: Tue Feb 13 10:16:46 2018 -0500 Committer: Stephen Mallette Committed: Fri Mar 2 09:11:34 2018 -0500 -- CHANGELOG.asciidoc | 1 + .../io/graphson/GraphSONTypeSerializer.java | 94 ++-- ...aphSONMapperV2d0PartialEmbeddedTypeTest.java | 32 +++ gremlin-shaded/pom.xml | 2 +- 4 files changed, 61 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index a24b1fb..f99d1a2 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -27,6 +27,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`. * Added the "Kitchen Sink" test data set. * Fixed deserialization of `P.not()` for GraphSON. +* Bumped to Jackson 2.9.4. * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients. * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits. * Delayed setting of the request identifier until `RequestMessage` construction by the builder. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java index 78c670a..8b1ba25 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java @@ -39,6 +39,8 @@ import org.apache.tinkerpop.gremlin.util.function.HashMapSupplier; import org.apache.tinkerpop.gremlin.util.function.Lambda; import org.apache.tinkerpop.shaded.jackson.annotation.JsonTypeInfo; import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator; +import org.apache.tinkerpop.shaded.jackson.core.JsonToken; +import org.apache.tinkerpop.shaded.jackson.core.type.WritableTypeId; import org.apache.tinkerpop.shaded.jackson.databind.BeanProperty; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeIdResolver; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeSerializer; @@ -79,7 +81,7 @@ public class GraphSONTypeSerializer extends TypeSerializer { @Override public JsonTypeInfo.As getTypeInclusion() { -return null; +return JsonTypeInfo.As.WRAPPER_OBJECT; } @Override @@ -93,79 +95,37 @@ public class GraphSONTypeSerializer extends TypeSerializer { } @Override -public void writeTypePrefixForScalar(final Object o, final JsonGenerator jsonGenerator) throws IOException { -if (canWriteTypeId()) { -writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(o, getClassFromObject(o))); +public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { +if (writableTypeId.valueShape == JsonToken.VALUE_STRING) { +if (canWriteTypeId()) { +writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); +} +} else if (writableTypeId.valueShape == JsonToken.START_OBJECT) { +jsonGenerator.writeStartObject(); +} else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { +jsonGenerator.writeStartArray(); +} else { +thro
[1/2] tinkerpop git commit: TINKERPOP-1738 Bump to jackson 2.9.4
Repository: tinkerpop Updated Branches: refs/heads/tp32 03a96f896 -> 7bff98896 TINKERPOP-1738 Bump to jackson 2.9.4 This fixes a problem where Jackson was missing an error in GraphSON type information depending on the order of the JSON elements. It required some internal changes to the GraphSONTypeSerializer given API shifts in jackson - should not really affect TinkerPop users. Modified the original test that demonstrated this problem to be a bit more robust. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f35f04a8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f35f04a8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f35f04a8 Branch: refs/heads/tp32 Commit: f35f04a8da88280e8b121356ac5839fc0b8ac859 Parents: a61dd58 Author: Stephen Mallette Authored: Tue Feb 13 10:16:46 2018 -0500 Committer: Stephen Mallette Committed: Fri Mar 2 09:11:34 2018 -0500 -- CHANGELOG.asciidoc | 1 + .../io/graphson/GraphSONTypeSerializer.java | 94 ++-- ...aphSONMapperV2d0PartialEmbeddedTypeTest.java | 32 +++ gremlin-shaded/pom.xml | 2 +- 4 files changed, 61 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index a24b1fb..f99d1a2 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -27,6 +27,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`. * Added the "Kitchen Sink" test data set. * Fixed deserialization of `P.not()` for GraphSON. +* Bumped to Jackson 2.9.4. * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients. * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits. * Delayed setting of the request identifier until `RequestMessage` construction by the builder. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java index 78c670a..8b1ba25 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java @@ -39,6 +39,8 @@ import org.apache.tinkerpop.gremlin.util.function.HashMapSupplier; import org.apache.tinkerpop.gremlin.util.function.Lambda; import org.apache.tinkerpop.shaded.jackson.annotation.JsonTypeInfo; import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator; +import org.apache.tinkerpop.shaded.jackson.core.JsonToken; +import org.apache.tinkerpop.shaded.jackson.core.type.WritableTypeId; import org.apache.tinkerpop.shaded.jackson.databind.BeanProperty; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeIdResolver; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeSerializer; @@ -79,7 +81,7 @@ public class GraphSONTypeSerializer extends TypeSerializer { @Override public JsonTypeInfo.As getTypeInclusion() { -return null; +return JsonTypeInfo.As.WRAPPER_OBJECT; } @Override @@ -93,79 +95,37 @@ public class GraphSONTypeSerializer extends TypeSerializer { } @Override -public void writeTypePrefixForScalar(final Object o, final JsonGenerator jsonGenerator) throws IOException { -if (canWriteTypeId()) { -writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(o, getClassFromObject(o))); +public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { +if (writableTypeId.valueShape == JsonToken.VALUE_STRING) { +if (canWriteTypeId()) { +writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); +} +} else if (writableTypeId.valueShape == JsonToken.START_OBJECT) { +jsonGenerator.writeStartObject(); +} else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { +
[1/3] tinkerpop git commit: TINKERPOP-1738 Bump to jackson 2.9.4
Repository: tinkerpop Updated Branches: refs/heads/tp33 dd3a54ec3 -> a3624f7e2 TINKERPOP-1738 Bump to jackson 2.9.4 This fixes a problem where Jackson was missing an error in GraphSON type information depending on the order of the JSON elements. It required some internal changes to the GraphSONTypeSerializer given API shifts in jackson - should not really affect TinkerPop users. Modified the original test that demonstrated this problem to be a bit more robust. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f35f04a8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f35f04a8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f35f04a8 Branch: refs/heads/tp33 Commit: f35f04a8da88280e8b121356ac5839fc0b8ac859 Parents: a61dd58 Author: Stephen Mallette Authored: Tue Feb 13 10:16:46 2018 -0500 Committer: Stephen Mallette Committed: Fri Mar 2 09:11:34 2018 -0500 -- CHANGELOG.asciidoc | 1 + .../io/graphson/GraphSONTypeSerializer.java | 94 ++-- ...aphSONMapperV2d0PartialEmbeddedTypeTest.java | 32 +++ gremlin-shaded/pom.xml | 2 +- 4 files changed, 61 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index a24b1fb..f99d1a2 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -27,6 +27,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`. * Added the "Kitchen Sink" test data set. * Fixed deserialization of `P.not()` for GraphSON. +* Bumped to Jackson 2.9.4. * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients. * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits. * Delayed setting of the request identifier until `RequestMessage` construction by the builder. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java index 78c670a..8b1ba25 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java @@ -39,6 +39,8 @@ import org.apache.tinkerpop.gremlin.util.function.HashMapSupplier; import org.apache.tinkerpop.gremlin.util.function.Lambda; import org.apache.tinkerpop.shaded.jackson.annotation.JsonTypeInfo; import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator; +import org.apache.tinkerpop.shaded.jackson.core.JsonToken; +import org.apache.tinkerpop.shaded.jackson.core.type.WritableTypeId; import org.apache.tinkerpop.shaded.jackson.databind.BeanProperty; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeIdResolver; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeSerializer; @@ -79,7 +81,7 @@ public class GraphSONTypeSerializer extends TypeSerializer { @Override public JsonTypeInfo.As getTypeInclusion() { -return null; +return JsonTypeInfo.As.WRAPPER_OBJECT; } @Override @@ -93,79 +95,37 @@ public class GraphSONTypeSerializer extends TypeSerializer { } @Override -public void writeTypePrefixForScalar(final Object o, final JsonGenerator jsonGenerator) throws IOException { -if (canWriteTypeId()) { -writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(o, getClassFromObject(o))); +public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { +if (writableTypeId.valueShape == JsonToken.VALUE_STRING) { +if (canWriteTypeId()) { +writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); +} +} else if (writableTypeId.valueShape == JsonToken.START_OBJECT) { +jsonGenerator.writeStartObject(); +} else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { +
[1/4] tinkerpop git commit: TINKERPOP-1738 Bump to jackson 2.9.4
Repository: tinkerpop Updated Branches: refs/heads/master 25ae1a1ea -> cfa5c50a7 TINKERPOP-1738 Bump to jackson 2.9.4 This fixes a problem where Jackson was missing an error in GraphSON type information depending on the order of the JSON elements. It required some internal changes to the GraphSONTypeSerializer given API shifts in jackson - should not really affect TinkerPop users. Modified the original test that demonstrated this problem to be a bit more robust. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f35f04a8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f35f04a8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f35f04a8 Branch: refs/heads/master Commit: f35f04a8da88280e8b121356ac5839fc0b8ac859 Parents: a61dd58 Author: Stephen Mallette Authored: Tue Feb 13 10:16:46 2018 -0500 Committer: Stephen Mallette Committed: Fri Mar 2 09:11:34 2018 -0500 -- CHANGELOG.asciidoc | 1 + .../io/graphson/GraphSONTypeSerializer.java | 94 ++-- ...aphSONMapperV2d0PartialEmbeddedTypeTest.java | 32 +++ gremlin-shaded/pom.xml | 2 +- 4 files changed, 61 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index a24b1fb..f99d1a2 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -27,6 +27,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`. * Added the "Kitchen Sink" test data set. * Fixed deserialization of `P.not()` for GraphSON. +* Bumped to Jackson 2.9.4. * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients. * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits. * Delayed setting of the request identifier until `RequestMessage` construction by the builder. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java index 78c670a..8b1ba25 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java @@ -39,6 +39,8 @@ import org.apache.tinkerpop.gremlin.util.function.HashMapSupplier; import org.apache.tinkerpop.gremlin.util.function.Lambda; import org.apache.tinkerpop.shaded.jackson.annotation.JsonTypeInfo; import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator; +import org.apache.tinkerpop.shaded.jackson.core.JsonToken; +import org.apache.tinkerpop.shaded.jackson.core.type.WritableTypeId; import org.apache.tinkerpop.shaded.jackson.databind.BeanProperty; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeIdResolver; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeSerializer; @@ -79,7 +81,7 @@ public class GraphSONTypeSerializer extends TypeSerializer { @Override public JsonTypeInfo.As getTypeInclusion() { -return null; +return JsonTypeInfo.As.WRAPPER_OBJECT; } @Override @@ -93,79 +95,37 @@ public class GraphSONTypeSerializer extends TypeSerializer { } @Override -public void writeTypePrefixForScalar(final Object o, final JsonGenerator jsonGenerator) throws IOException { -if (canWriteTypeId()) { -writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(o, getClassFromObject(o))); +public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { +if (writableTypeId.valueShape == JsonToken.VALUE_STRING) { +if (canWriteTypeId()) { +writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); +} +} else if (writableTypeId.valueShape == JsonToken.START_OBJECT) { +jsonGenerator.writeStartObject(); +} else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { +
tinkerpop git commit: TINKERPOP-1738 Bump to jackson 2.9.4
Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-1738 [created] f35f04a8d TINKERPOP-1738 Bump to jackson 2.9.4 This fixes a problem where Jackson was missing an error in GraphSON type information depending on the order of the JSON elements. It required some internal changes to the GraphSONTypeSerializer given API shifts in jackson - should not really affect TinkerPop users. Modified the original test that demonstrated this problem to be a bit more robust. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f35f04a8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f35f04a8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f35f04a8 Branch: refs/heads/TINKERPOP-1738 Commit: f35f04a8da88280e8b121356ac5839fc0b8ac859 Parents: a61dd58 Author: Stephen Mallette Authored: Tue Feb 13 10:16:46 2018 -0500 Committer: Stephen Mallette Committed: Fri Mar 2 09:11:34 2018 -0500 -- CHANGELOG.asciidoc | 1 + .../io/graphson/GraphSONTypeSerializer.java | 94 ++-- ...aphSONMapperV2d0PartialEmbeddedTypeTest.java | 32 +++ gremlin-shaded/pom.xml | 2 +- 4 files changed, 61 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index a24b1fb..f99d1a2 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -27,6 +27,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`. * Added the "Kitchen Sink" test data set. * Fixed deserialization of `P.not()` for GraphSON. +* Bumped to Jackson 2.9.4. * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients. * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits. * Delayed setting of the request identifier until `RequestMessage` construction by the builder. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35f04a8/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java index 78c670a..8b1ba25 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java @@ -39,6 +39,8 @@ import org.apache.tinkerpop.gremlin.util.function.HashMapSupplier; import org.apache.tinkerpop.gremlin.util.function.Lambda; import org.apache.tinkerpop.shaded.jackson.annotation.JsonTypeInfo; import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator; +import org.apache.tinkerpop.shaded.jackson.core.JsonToken; +import org.apache.tinkerpop.shaded.jackson.core.type.WritableTypeId; import org.apache.tinkerpop.shaded.jackson.databind.BeanProperty; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeIdResolver; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeSerializer; @@ -79,7 +81,7 @@ public class GraphSONTypeSerializer extends TypeSerializer { @Override public JsonTypeInfo.As getTypeInclusion() { -return null; +return JsonTypeInfo.As.WRAPPER_OBJECT; } @Override @@ -93,79 +95,37 @@ public class GraphSONTypeSerializer extends TypeSerializer { } @Override -public void writeTypePrefixForScalar(final Object o, final JsonGenerator jsonGenerator) throws IOException { -if (canWriteTypeId()) { -writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(o, getClassFromObject(o))); +public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { +if (writableTypeId.valueShape == JsonToken.VALUE_STRING) { +if (canWriteTypeId()) { +writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); +} +} else if (writableTypeId.valueShape == JsonToken.START_OBJECT) { +jsonGenerator.writeStartObject(); +} else if (writableTypeId.valueShape == JsonToken.START_
tinkerpop git commit: TINKERPOP-1738 Bump to jackson 2.9.4
Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-1738-wip [created] 30005fdb2 TINKERPOP-1738 Bump to jackson 2.9.4 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/30005fdb Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/30005fdb Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/30005fdb Branch: refs/heads/TINKERPOP-1738-wip Commit: 30005fdb276a574d6fa43a6a96394363da13985b Parents: 8e0470a Author: Stephen Mallette Authored: Tue Feb 13 10:16:46 2018 -0500 Committer: Stephen Mallette Committed: Tue Feb 13 10:16:46 2018 -0500 -- .../io/graphson/GraphSONTypeSerializer.java | 94 ++-- gremlin-shaded/pom.xml | 2 +- 2 files changed, 28 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/30005fdb/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java index 78c670a..8b1ba25 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java @@ -39,6 +39,8 @@ import org.apache.tinkerpop.gremlin.util.function.HashMapSupplier; import org.apache.tinkerpop.gremlin.util.function.Lambda; import org.apache.tinkerpop.shaded.jackson.annotation.JsonTypeInfo; import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator; +import org.apache.tinkerpop.shaded.jackson.core.JsonToken; +import org.apache.tinkerpop.shaded.jackson.core.type.WritableTypeId; import org.apache.tinkerpop.shaded.jackson.databind.BeanProperty; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeIdResolver; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeSerializer; @@ -79,7 +81,7 @@ public class GraphSONTypeSerializer extends TypeSerializer { @Override public JsonTypeInfo.As getTypeInclusion() { -return null; +return JsonTypeInfo.As.WRAPPER_OBJECT; } @Override @@ -93,79 +95,37 @@ public class GraphSONTypeSerializer extends TypeSerializer { } @Override -public void writeTypePrefixForScalar(final Object o, final JsonGenerator jsonGenerator) throws IOException { -if (canWriteTypeId()) { -writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(o, getClassFromObject(o))); +public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { +if (writableTypeId.valueShape == JsonToken.VALUE_STRING) { +if (canWriteTypeId()) { +writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); +} +} else if (writableTypeId.valueShape == JsonToken.START_OBJECT) { +jsonGenerator.writeStartObject(); +} else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { +jsonGenerator.writeStartArray(); +} else { +throw new IllegalStateException("Could not write prefix"); } -} - -@Override -public void writeTypePrefixForObject(final Object o, final JsonGenerator jsonGenerator) throws IOException { -jsonGenerator.writeStartObject(); -// TODO: FULL_TYPES should be implemented here as : if (fullTypesModeEnabled()) writeTypePrefix(Map); -} - -@Override -public void writeTypePrefixForArray(final Object o, final JsonGenerator jsonGenerator) throws IOException { -jsonGenerator.writeStartArray(); -// TODO: FULL_TYPES should be implemented here as : if (fullTypesModeEnabled()) writeTypePrefix(List); -} - -@Override -public void writeTypeSuffixForScalar(final Object o, final JsonGenerator jsonGenerator) throws IOException { -if (canWriteTypeId()) { -writeTypeSuffix(jsonGenerator); -} -} - -@Override -public void writeTypeSuffixForObject(final Object o, final JsonGenerator jsonGenerator) throws IOException { -jsonGenerator.writeEndObject(); -// TODO: FULL_TYPES should be implemented here as : if (fullTypesModeEnabled()) writeTypeSuffix(Map); -} - -@Override -public void writeTypeSuffixForArray(final Object o, final JsonGenerator jsonGenerator) throws IOException { -jsonGenerator.writeEndArray(); -// T