TINKERPOP-1676 Improve GraphSON serialization performance on VertexProperties 
CTR


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

Branch: refs/heads/TINKERPOP-1688
Commit: 4907af42f9689650ed30f3a511044e0b418cee3e
Parents: 5c32e7d
Author: Stephen Mallette <[email protected]>
Authored: Sat Jun 17 05:54:48 2017 -0400
Committer: Stephen Mallette <[email protected]>
Committed: Sat Jun 17 05:54:48 2017 -0400

----------------------------------------------------------------------
 .../structure/io/graphson/GraphSONSerializersV2d0.java      | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4907af42/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 8d19e4f..1a5cd7d 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
@@ -580,7 +580,6 @@ class GraphSONSerializersV2d0 {
         public VertexProperty deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
             final DetachedVertexProperty.Builder vp = 
DetachedVertexProperty.build();
 
-            Map<String, Object> properties;
             while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
                 if (jsonParser.getCurrentName().equals(GraphSONTokens.ID)) {
                     jsonParser.nextToken();
@@ -593,8 +592,12 @@ class GraphSONSerializersV2d0 {
                     vp.setValue(deserializationContext.readValue(jsonParser, 
Object.class));
                 } else if 
(jsonParser.getCurrentName().equals(GraphSONTokens.PROPERTIES)) {
                     jsonParser.nextToken();
-                    properties = deserializationContext.readValue(jsonParser, 
propertiesType);
-                    properties.entrySet().iterator().forEachRemaining(kv -> 
vp.addProperty(new DetachedProperty(kv.getKey(), kv.getValue())));
+                    while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
+                        final String key = jsonParser.getCurrentName();
+                        jsonParser.nextToken();
+                        final Object val = 
deserializationContext.readValue(jsonParser, Object.class);
+                        vp.addProperty(new DetachedProperty(key, val));
+                    }
                 }
             }
 

Reply via email to