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 2017/07/10 21:26:21 UTC
[39/50] [abbrv] tinkerpop git commit: TINKERPOP-1427 Migrate GraphSON
v2 performance enhancement to v3
TINKERPOP-1427 Migrate GraphSON v2 performance enhancement to v3
This was for TinkerGraph whole graph serialization.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/98a6c595
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/98a6c595
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/98a6c595
Branch: refs/heads/TINKERPOP-1427
Commit: 98a6c5958e8655588bf06ed9a80c0abb90bd6882
Parents: bef05a8
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sat Jul 1 15:08:53 2017 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Jul 10 16:23:52 2017 -0400
----------------------------------------------------------------------
.../structure/TinkerIoRegistryV3d0.java | 38 +++++++++-----------
1 file changed, 17 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/98a6c595/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerIoRegistryV3d0.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerIoRegistryV3d0.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerIoRegistryV3d0.java
index c2eebf9..c6ff44f 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerIoRegistryV3d0.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerIoRegistryV3d0.java
@@ -36,6 +36,7 @@ import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator;
import org.apache.tinkerpop.shaded.jackson.core.JsonParser;
import org.apache.tinkerpop.shaded.jackson.core.JsonProcessingException;
+import org.apache.tinkerpop.shaded.jackson.core.JsonToken;
import org.apache.tinkerpop.shaded.jackson.databind.DeserializationContext;
import org.apache.tinkerpop.shaded.jackson.databind.SerializerProvider;
import org.apache.tinkerpop.shaded.jackson.databind.deser.std.StdDeserializer;
@@ -50,8 +51,6 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
import java.util.Map;
/**
@@ -191,26 +190,23 @@ public final class TinkerIoRegistryV3d0 extends AbstractIoRegistry {
conf.setProperty("gremlin.tinkergraph.defaultVertexPropertyCardinality", "list");
final TinkerGraph graph = TinkerGraph.open(conf);
- final List<? extends Edge> edges;
- final List<? extends Vertex> vertices;
-
- jsonParser.nextToken();
- final Map<String, Object> graphData = deserializationContext.readValue(jsonParser, LinkedHashMap.class);
- vertices = (List<DetachedVertex>) graphData.get(GraphSONTokens.VERTICES);
- edges = (List<DetachedEdge>) graphData.get(GraphSONTokens.EDGES);
-
-
- vertices.forEach(e -> {
- if (e instanceof DetachedVertex) {
- ((DetachedVertex)e).attach(Attachable.Method.getOrCreate(graph));
+ while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
+ if (jsonParser.getCurrentName().equals("vertices")) {
+ while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
+ if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
+ final DetachedVertex v = (DetachedVertex) deserializationContext.readValue(jsonParser, Vertex.class);
+ v.attach(Attachable.Method.getOrCreate(graph));
+ }
+ }
+ } else if (jsonParser.getCurrentName().equals("edges")) {
+ while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
+ if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
+ final DetachedEdge e = (DetachedEdge) deserializationContext.readValue(jsonParser, Edge.class);
+ e.attach(Attachable.Method.getOrCreate(graph));
+ }
+ }
}
- });
-
- edges.forEach(e -> {
- if (e instanceof DetachedEdge) {
- ((DetachedEdge) e).attach(Attachable.Method.getOrCreate(graph));
- }
- });
+ }
return graph;
}