Fix numbers deserialization for GraphSON2.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c66bbdf4 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c66bbdf4 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c66bbdf4 Branch: refs/heads/TINKERPOP-1130 Commit: c66bbdf477c1576eb700271d3473e3d67ff4ab5f Parents: d1568f0 Author: Kevin Gallardo <[email protected]> Authored: Mon Dec 19 10:56:42 2016 -0500 Committer: Kevin Gallardo <[email protected]> Committed: Mon Dec 19 11:00:34 2016 -0500 ---------------------------------------------------------------------- .../structure/io/graphson/GraphSONModule.java | 4 ++++ .../io/graphson/GraphSONSerializersV2d0.java | 24 ++++++++++++++++++++ 2 files changed, 28 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c66bbdf4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java index a644d37..dfbd3ee 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java @@ -237,6 +237,10 @@ abstract class GraphSONModule extends TinkerPopJacksonModule { addDeserializer(TraversalMetrics.class, new GraphSONSerializersV2d0.TraversalMetricsJacksonDeserializer()); addDeserializer(Tree.class, new GraphSONSerializersV2d0.TreeJacksonDeserializer()); + // numbers + addDeserializer(Integer.class, new GraphSONSerializersV2d0.IntegerJackonsDeserializer()); + addDeserializer(Double.class, new GraphSONSerializersV2d0.DoubleJackonsDeserializer()); + // traversal addDeserializer(Bytecode.class, new GraphSONTraversalSerializersV2d0.BytecodeJacksonDeserializer()); addDeserializer(Bytecode.Binding.class, new GraphSONTraversalSerializersV2d0.BindingJacksonDeserializer()); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c66bbdf4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java index 31ca6a2..9a27279 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java @@ -556,6 +556,30 @@ class GraphSONSerializersV2d0 { return t; } } + + static class IntegerJackonsDeserializer extends StdDeserializer<Integer> { + + protected IntegerJackonsDeserializer() { + super(Integer.class); + } + + @Override + public Integer deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { + return jsonParser.getIntValue(); + } + } + + static class DoubleJackonsDeserializer extends StdDeserializer<Double> { + + protected DoubleJackonsDeserializer() { + super(Double.class); + } + + @Override + public Double deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { + return jsonParser.getDoubleValue(); + } + } }
