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/12 16:32:48 UTC
[20/50] [abbrv] tinkerpop git commit: TINKERPOP-1427 Added g:Set and
g:List for GraphSON 3.0
TINKERPOP-1427 Added g:Set and g:List for GraphSON 3.0
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9949c38d
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9949c38d
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9949c38d
Branch: refs/heads/TINKERPOP-1427
Commit: 9949c38da14a77ddf99e017f0f7c8c91d127c020
Parents: 6559895
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sun Jul 2 17:51:18 2017 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Jul 12 12:31:55 2017 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 2 +-
.../structure/io/graphson/GraphSONModule.java | 8 +
.../io/graphson/GraphSONSerializersV3d0.java | 20 +-
.../io/graphson/GraphSONTypeSerializerV3d0.java | 26 +++
.../io/graphson/JavaUtilSerializersV3d0.java | 83 +++++++++
.../GraphSONMapperEmbeddedTypeTest.java | 42 ++++-
.../GremlinServerAuditLogIntegrateTest.java | 3 +-
.../server/GremlinServerHttpIntegrateTest.java | 77 ++++----
.../io/graphson/_3_3_0/metrics-v3d0.json | 49 ++---
.../structure/io/graphson/_3_3_0/path-v3d0.json | 73 +++++---
.../io/graphson/_3_3_0/standardresult-v3d0.json | 179 +++++++++---------
.../graphson/_3_3_0/traversalmetrics-v3d0.json | 181 ++++++++++---------
12 files changed, 464 insertions(+), 279 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index af625e3..44e5cfd 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -51,7 +51,6 @@ TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
* Updated Docker build scripts to include Python dependencies (NOTE: users should remove any previously generated TinkerPop Docker images).
* Added "attachment requisite" `VertexProperty.element()` and `Property.element()` data in GraphSON serialization.
* GraphSON 3.0 is now the default serialization format in TinkerGraph and Gremlin Server.
-* Established the GraphSON 3.0 format.
* Changed `ServerGremlinExecutor` to not use generics since there really is no flexibility in the kind of `ScheduledExecutorService` that will be used.
* Removed support for passing a byte array on the `sasl` parameter.
* Removed previously deprecated `GraphSONMapper$Builder#embedTypes` option.
@@ -59,6 +58,7 @@ TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
* Removed previously deprecated `ConnectionPoolSettings.sessionId` and `ConnectionPoolSettings.optionalSessionId()`.
* Removed previously deprecated `reconnectInitialDelay` setting from the Java driver.
* Removed previously deprecated `useMapperFromGraph` option.
+* Established the GraphSON 3.0 format with new `g:Map`, `g:List` and `g:Set` types.
* Removed previously deprecated `Io.Builder#registry(IoRegistry)` method.
* Removed previously deprecated `GryoMessageSerializerV1d0(GryoMapper)` constructor.
* Removed previously deprecated `TinkerIoRegistry`.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/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 22dc6b2..00bec01 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
@@ -90,7 +90,9 @@ import java.time.ZonedDateTime;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.stream.Stream;
/**
@@ -125,6 +127,8 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
put(Map.Entry.class, "Entry");
put(Map.class, "Map");
+ put(List.class, "List");
+ put(Set.class, "Set");
// Tinkerpop Graph objects
put(Lambda.class, "Lambda");
@@ -206,6 +210,8 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
// java.util
addSerializer(Map.Entry.class, new JavaUtilSerializersV3d0.MapEntryJacksonSerializer());
addSerializer(Map.class, new JavaUtilSerializersV3d0.MapJacksonSerializer());
+ addSerializer(List.class, new JavaUtilSerializersV3d0.ListJacksonSerializer());
+ addSerializer(Set.class, new JavaUtilSerializersV3d0.SetJacksonSerializer());
// need to explicitly add serializers for those types because Jackson doesn't do it at all.
addSerializer(Integer.class, new GraphSONSerializersV3d0.IntegerGraphSONSerializer());
@@ -245,6 +251,8 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
// java.util
addDeserializer(Map.Entry.class, new JavaUtilSerializersV3d0.MapEntryJacksonDeserializer());
addDeserializer(Map.class, new JavaUtilSerializersV3d0.MapJacksonDeserializer());
+ addDeserializer(List.class, new JavaUtilSerializersV3d0.ListJacksonDeserializer());
+ addDeserializer(Set.class, new JavaUtilSerializersV3d0.SetJacksonDeserializer());
// numbers
addDeserializer(Integer.class, new GraphSONSerializersV3d0.IntegerJackonsDeserializer());
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
index 5fe8e74..8c601b1 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
@@ -547,18 +547,22 @@ class GraphSONSerializersV3d0 {
@Override
public Path deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
- final JsonNode n = jsonParser.readValueAsTree();
final Path p = MutablePath.make();
- final ArrayNode labels = (ArrayNode) n.get(GraphSONTokens.LABELS);
- final ArrayNode objects = (ArrayNode) n.get(GraphSONTokens.OBJECTS);
+ List<Object> labels = new ArrayList<>();
+ List<Object> objects = new ArrayList<>();
+ while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
+ if (jsonParser.getCurrentName().equals(GraphSONTokens.LABELS)) {
+ jsonParser.nextToken();
+ labels = deserializationContext.readValue(jsonParser, List.class);
+ } else if (jsonParser.getCurrentName().equals(GraphSONTokens.OBJECTS)) {
+ jsonParser.nextToken();
+ objects = deserializationContext.readValue(jsonParser, List.class);
+ }
+ }
for (int i = 0; i < objects.size(); i++) {
- final JsonParser po = objects.get(i).traverse();
- po.nextToken();
- final JsonParser pl = labels.get(i).traverse();
- pl.nextToken();
- p.extend(deserializationContext.readValue(po, Object.class), deserializationContext.readValue(pl, setType));
+ p.extend(objects.get(i), (Set<String>) labels.get(i));
}
return p;
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java
index 246d38f..f3b7afa 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializerV3d0.java
@@ -42,7 +42,9 @@ import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeIdResolver;
import java.io.IOException;
import java.net.InetAddress;
import java.nio.ByteBuffer;
+import java.util.List;
import java.util.Map;
+import java.util.Set;
/**
* GraphSON 2.0 {@code TypeSerializer}.
@@ -78,6 +80,26 @@ public class GraphSONTypeSerializerV3d0 extends AbstractGraphSONTypeSerializer {
}
@Override
+ public void writeTypePrefixForArray(final Object o, final JsonGenerator jsonGenerator) throws IOException {
+ if (o instanceof List || o instanceof Set) {
+ writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(o, getClassFromObject(o)));
+ jsonGenerator.writeStartArray();
+ } else {
+ jsonGenerator.writeStartArray();
+ }
+ }
+
+ @Override
+ public void writeTypeSuffixForArray(final Object o, final JsonGenerator jsonGenerator) throws IOException {
+ if (o instanceof List || o instanceof Set) {
+ jsonGenerator.writeEndArray();
+ writeTypeSuffix(jsonGenerator);
+ } else {
+ jsonGenerator.writeEndArray();
+ }
+ }
+
+ @Override
protected Class getClassFromObject(final Object o) {
final Class c = o.getClass();
if (classMap.containsKey(c))
@@ -88,6 +110,10 @@ public class GraphSONTypeSerializerV3d0 extends AbstractGraphSONTypeSerializer {
mapped = Map.class;
else if (Map.Entry.class.isAssignableFrom(c))
mapped = Map.Entry.class;
+ else if (List.class.isAssignableFrom(c))
+ mapped = List.class;
+ else if (Set.class.isAssignableFrom(c))
+ mapped = Set.class;
else if (Vertex.class.isAssignableFrom(c))
mapped = Vertex.class;
else if (Edge.class.isAssignableFrom(c))
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/JavaUtilSerializersV3d0.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/JavaUtilSerializersV3d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/JavaUtilSerializersV3d0.java
index 900eeb8..8298ce7 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/JavaUtilSerializersV3d0.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/JavaUtilSerializersV3d0.java
@@ -32,6 +32,9 @@ import org.apache.tinkerpop.shaded.jackson.databind.ser.std.StdSerializer;
import java.io.IOException;
import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -89,6 +92,50 @@ final class JavaUtilSerializersV3d0 {
}
}
+ final static class SetJacksonSerializer extends StdSerializer<Set> {
+ public SetJacksonSerializer() {
+ super(Set.class);
+ }
+
+ @Override
+ public void serialize(final Set set, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider)
+ throws IOException {
+ for(Object o : set) {
+ jsonGenerator.writeObject(o);
+ }
+ }
+
+ @Override
+ public void serializeWithType(final Set set, final JsonGenerator jsonGenerator,
+ final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException {
+ typeSerializer.writeTypePrefixForArray(set, jsonGenerator);
+ serialize(set, jsonGenerator, serializerProvider);
+ typeSerializer.writeTypeSuffixForArray(set, jsonGenerator);
+ }
+ }
+
+ final static class ListJacksonSerializer extends StdSerializer<List> {
+ public ListJacksonSerializer() {
+ super(List.class);
+ }
+
+ @Override
+ public void serialize(final List list, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider)
+ throws IOException {
+ for(Object o : list) {
+ jsonGenerator.writeObject(o);
+ }
+ }
+
+ @Override
+ public void serializeWithType(final List list, final JsonGenerator jsonGenerator,
+ final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException {
+ typeSerializer.writeTypePrefixForArray(list, jsonGenerator);
+ serialize(list, jsonGenerator, serializerProvider);
+ typeSerializer.writeTypeSuffixForArray(list, jsonGenerator);
+ }
+ }
+
////////////////////////////// DESERIALIZERS /////////////////////////////////
@@ -133,4 +180,40 @@ final class JavaUtilSerializersV3d0 {
return m.entrySet().iterator().next();
}
}
+
+ static class SetJacksonDeserializer extends StdDeserializer<Set> {
+
+ protected SetJacksonDeserializer() {
+ super(Set.class);
+ }
+
+ @Override
+ public Set deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
+ final Set<Object> s = new LinkedHashSet<>();
+
+ while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
+ s.add(deserializationContext.readValue(jsonParser, Object.class));
+ }
+
+ return s;
+ }
+ }
+
+ static class ListJacksonDeserializer extends StdDeserializer<List> {
+
+ protected ListJacksonDeserializer() {
+ super(List.class);
+ }
+
+ @Override
+ public List deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
+ final List<Object> s = new LinkedList<>();
+
+ while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
+ s.add(deserializationContext.readValue(jsonParser, Object.class));
+ }
+
+ return s;
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
index b65f5c7..a375e3b 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
@@ -42,10 +42,15 @@ import java.time.Year;
import java.time.YearMonth;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import static org.hamcrest.CoreMatchers.any;
import static org.hamcrest.Matchers.either;
@@ -83,7 +88,7 @@ public class GraphSONMapperEmbeddedTypeTest extends AbstractGraphSONTest {
public void shouldHandleMap() throws Exception {
assumeThat(version, startsWith("v3"));
- final Map<Object,Object> o = new HashMap<>();
+ final Map<Object,Object> o = new LinkedHashMap<>();
o.put("string key", "string value");
o.put(1, 1);
o.put(1L, 1L);
@@ -95,6 +100,41 @@ public class GraphSONMapperEmbeddedTypeTest extends AbstractGraphSONTest {
}
@Test
+ public void shouldHandleList() throws Exception {
+ assumeThat(version, startsWith("v3"));
+
+ final List<Object> o = new ArrayList<>();
+ o.add("test");
+ o.add(1);
+ o.add(1);
+ o.add(1L);
+ o.add(1L);
+
+ final List<Object> l = Arrays.asList("test", 1, 5L);
+ o.add(l);
+
+ assertEquals(o, serializeDeserialize(mapper, o, List.class));
+ }
+
+ @Test
+ public void shouldHandleSet() throws Exception {
+ assumeThat(version, startsWith("v3"));
+
+ final Set<Object> o = new LinkedHashSet<>();
+ o.add("test");
+ o.add(1);
+ o.add(1);
+ o.add(1L);
+ o.add(1L);
+
+ final List<Object> l = Arrays.asList("test", 1, 5L);
+ o.add(l);
+
+ assertEquals(o, serializeDeserialize(mapper, o, Set.class));
+
+ }
+
+ @Test
public void shouldHandleBiFunctionLambda() throws Exception {
assumeThat(version, either(startsWith("v2")).or(startsWith("v3")));
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuditLogIntegrateTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuditLogIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuditLogIntegrateTest.java
index d3e830a..c31ee69 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuditLogIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuditLogIntegrateTest.java
@@ -33,6 +33,7 @@ import org.apache.tinkerpop.gremlin.driver.Cluster;
import org.apache.tinkerpop.gremlin.driver.Channelizer;
import org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer;
import org.apache.tinkerpop.gremlin.server.channel.NioChannelizer;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONTokens;
import org.apache.tinkerpop.shaded.jackson.databind.JsonNode;
import org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper;
import org.apache.tinkerpop.gremlin.server.auth.AllowAllAuthenticator;
@@ -317,7 +318,7 @@ public class GremlinServerAuditLogIntegrateTest extends AbstractGremlinServerInt
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).intValue());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).intValue());
}
// wait for logger to flush - (don't think there is a way to detect this)
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
index 643657f..800b82f 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
@@ -44,7 +44,6 @@ import java.time.Instant;
import java.util.Base64;
import java.util.Collections;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -268,7 +267,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).intValue());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -285,7 +284,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).intValue());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -302,7 +301,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).intValue());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -320,7 +319,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).intValue());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -334,7 +333,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(20, node.get("result").get("data").get(0).get("@value").intValue());
+ assertEquals(20, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -348,7 +347,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(6, node.get("result").get("data").size());
+ assertEquals(6, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).size());
}
}
@@ -363,7 +362,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(6, node.get("result").get("data").size());
+ assertEquals(6, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).size());
}
final CloseableHttpClient httpclient = HttpClients.createDefault();
@@ -374,7 +373,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(6, node.get("result").get("data").size());
+ assertEquals(6, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).size());
}
}
@@ -402,7 +401,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals("stephen", node.get("result").get("data").get(0).get(GraphSONTokens.VALUEPROP).get("properties").get("name").get(0).get(GraphSONTokens.VALUEPROP).get(GraphSONTokens.VALUE).asText());
+ assertEquals("stephen", node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get("properties").get("name").get(0).get(GraphSONTokens.VALUEPROP).get(GraphSONTokens.VALUE).asText());
}
}
@@ -416,7 +415,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(20, node.get("result").get("data").get(0).get("@value").intValue());
+ assertEquals(20, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -441,7 +440,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).asInt());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asInt());
}
}
@@ -468,7 +467,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).intValue());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -486,7 +485,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(Instant.MAX, Instant.parse(node.get("result").get("data").get(0).get("@value").asText()));
+ assertEquals(Instant.MAX, Instant.parse(node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asText()));
}
}
@@ -504,7 +503,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(1, node.get("result").get("data").get(0).get("@value").intValue());
+ assertEquals(1, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
final HttpGet httpget = new HttpGet(TestClientFactory.createURLString("?gremlin=g.V().count()"));
@@ -518,7 +517,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(1, node.get("result").get("data").get(0).get("@value").intValue());
+ assertEquals(1, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
}
@@ -538,7 +537,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(1, node.get("result").get("data").size());
+ assertEquals(1, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).size());
}
final CloseableHttpClient httpclient = HttpClients.createDefault();
@@ -551,7 +550,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(1, node.get("result").get("data").size());
+ assertEquals(1, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).size());
}
}
@@ -567,7 +566,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(6, node.get("result").get("data").size());
+ assertEquals(6, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).size());
}
}
@@ -584,10 +583,10 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
final String json = EntityUtils.toString(response.getEntity());
final JsonNode resultJson = mapper.readTree(json);
final JsonNode data = resultJson.get("result").get("data");
- assertEquals(1, data.size());
+ assertEquals(1, data.get(GraphSONTokens.VALUEPROP).size());
- assertEquals(6, data.get(0).get(GraphSONTokens.VERTICES).get(1).size());
- assertEquals(6, data.get(0).get(GraphSONTokens.EDGES).get(1).size());
+ assertEquals(6, data.get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VERTICES).get(1).size());
+ assertEquals(6, data.get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.EDGES).get(1).size());
}
}
@@ -604,7 +603,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(6, node.get("result").get("data").size());
+ assertEquals(6, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).size());
}
final CloseableHttpClient httpclient = HttpClients.createDefault();
@@ -617,7 +616,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(6, node.get("result").get("data").size());
+ assertEquals(6, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).size());
}
}
@@ -633,7 +632,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(20, node.get("result").get("data").get(0).get("@value").intValue());
+ assertEquals(20, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -649,7 +648,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(10, node.get("result").get("data").get(0).get("@value").intValue());
+ assertEquals(10, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -665,7 +664,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(10.5d, node.get("result").get("data").get(0).get("@value").doubleValue(), 0.0001);
+ assertEquals(10.5d, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).doubleValue(), 0.0001);
}
}
@@ -681,7 +680,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals("10", node.get("result").get("data").get(0).textValue());
+ assertEquals("10", node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).textValue());
}
}
@@ -697,7 +696,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(true, node.get("result").get("data").get(0).booleanValue());
+ assertEquals(true, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).booleanValue());
}
}
@@ -713,7 +712,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(true, node.get("result").get("data").get(0).isNull());
+ assertEquals(true, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).isNull());
}
}
@@ -729,10 +728,10 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(true, node.get("result").get("data").isArray());
- assertEquals(1, node.get("result").get("data").get(0).get("@value").intValue());
- assertEquals(2, node.get("result").get("data").get(1).get("@value").intValue());
- assertEquals(3, node.get("result").get("data").get(2).get("@value").intValue());
+ assertEquals(true, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).isArray());
+ assertEquals(1, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+ assertEquals(2, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(1).get(GraphSONTokens.VALUEPROP).intValue());
+ assertEquals(3, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(2).get(GraphSONTokens.VALUEPROP).intValue());
}
}
@@ -748,8 +747,8 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(true, node.get("result").get("data").get(0).isObject());
- assertEquals(1, node.get("result").get("data").get(0).get("@value").get(1).get("@value").asInt());
+ assertEquals("g:Entry", node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get("@type").asText());
+ assertEquals(1, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(1).get(GraphSONTokens.VALUEPROP).asInt());
}
}
@@ -803,7 +802,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).asInt());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asInt());
}
}
@@ -820,7 +819,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).asInt());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asInt());
}
}
@@ -882,7 +881,7 @@ public class GremlinServerHttpIntegrateTest extends AbstractGremlinServerIntegra
assertEquals("application/json", response.getEntity().getContentType().getValue());
final String json = EntityUtils.toString(response.getEntity());
final JsonNode node = mapper.readTree(json);
- assertEquals(0, node.get("result").get("data").get(0).asInt());
+ assertEquals(0, node.get("result").get("data").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asInt());
}
}
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/metrics-v3d0.json
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/metrics-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/metrics-v3d0.json
index b4f86cd..f6e678b 100644
--- a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/metrics-v3d0.json
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/metrics-v3d0.json
@@ -20,30 +20,33 @@
"@type" : "g:Double",
"@value" : 25.0
} ]
- }, "id", "7.0.0()", "metrics", [ {
- "@type" : "g:Metrics",
- "@value" : {
- "@type" : "g:Map",
- "@value" : [ "dur", {
- "@type" : "g:Double",
- "@value" : 100.0
- }, "counts", {
+ }, "id", "7.0.0()", "metrics", {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Metrics",
+ "@value" : {
"@type" : "g:Map",
- "@value" : [ "traverserCount", {
- "@type" : "g:Int64",
- "@value" : 7
- }, "elementCount", {
- "@type" : "g:Int64",
- "@value" : 7
- } ]
- }, "name", "VertexStep(OUT,vertex)", "annotations", {
- "@type" : "g:Map",
- "@value" : [ "percentDur", {
+ "@value" : [ "dur", {
"@type" : "g:Double",
- "@value" : 25.0
- } ]
- }, "id", "3.0.0()" ]
- }
- } ] ]
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 7
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 7
+ } ]
+ }, "name", "VertexStep(OUT,vertex)", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "3.0.0()" ]
+ }
+ } ]
+ } ]
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/path-v3d0.json
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/path-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/path-v3d0.json
index 9ccaa00..216b393 100644
--- a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/path-v3d0.json
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/path-v3d0.json
@@ -1,34 +1,49 @@
{
"@type" : "g:Path",
"@value" : {
- "labels" : [ [ ], [ ], [ ] ],
- "objects" : [ {
- "@type" : "g:Vertex",
- "@value" : {
- "id" : {
- "@type" : "g:Int32",
- "@value" : 1
- },
- "label" : "person"
- }
- }, {
- "@type" : "g:Vertex",
- "@value" : {
- "id" : {
- "@type" : "g:Int32",
- "@value" : 10
- },
- "label" : "software"
- }
- }, {
- "@type" : "g:Vertex",
- "@value" : {
- "id" : {
- "@type" : "g:Int32",
- "@value" : 11
- },
- "label" : "software"
- }
- } ]
+ "labels" : {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Set",
+ "@value" : [ ]
+ }, {
+ "@type" : "g:Set",
+ "@value" : [ ]
+ }, {
+ "@type" : "g:Set",
+ "@value" : [ ]
+ } ]
+ },
+ "objects" : {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person"
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "label" : "software"
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "label" : "software"
+ }
+ } ]
+ }
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/standardresult-v3d0.json
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/standardresult-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/standardresult-v3d0.json
index 0be6d51..dfca400 100644
--- a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/standardresult-v3d0.json
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/standardresult-v3d0.json
@@ -9,106 +9,109 @@
}
},
"result" : {
- "data" : [ {
- "@type" : "g:Vertex",
- "@value" : {
- "id" : {
- "@type" : "g:Int32",
- "@value" : 1
- },
- "label" : "person",
- "properties" : {
- "name" : [ {
- "@type" : "g:VertexProperty",
- "@value" : {
- "id" : {
- "@type" : "g:Int64",
- "@value" : 0
- },
- "value" : "marko",
- "label" : "name"
- }
- } ],
- "location" : [ {
- "@type" : "g:VertexProperty",
- "@value" : {
- "id" : {
- "@type" : "g:Int64",
- "@value" : 6
- },
- "value" : "san diego",
- "label" : "location",
- "properties" : {
- "startTime" : {
- "@type" : "g:Int32",
- "@value" : 1997
+ "data" : {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
},
- "endTime" : {
- "@type" : "g:Int32",
- "@value" : 2001
+ "value" : "marko",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 6
+ },
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1997
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ }
}
}
- }
- }, {
- "@type" : "g:VertexProperty",
- "@value" : {
- "id" : {
- "@type" : "g:Int64",
- "@value" : 7
- },
- "value" : "santa cruz",
- "label" : "location",
- "properties" : {
- "startTime" : {
- "@type" : "g:Int32",
- "@value" : 2001
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 7
},
- "endTime" : {
- "@type" : "g:Int32",
- "@value" : 2004
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ }
}
}
- }
- }, {
- "@type" : "g:VertexProperty",
- "@value" : {
- "id" : {
- "@type" : "g:Int64",
- "@value" : 8
- },
- "value" : "brussels",
- "label" : "location",
- "properties" : {
- "startTime" : {
- "@type" : "g:Int32",
- "@value" : 2004
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 8
},
- "endTime" : {
- "@type" : "g:Int32",
- "@value" : 2005
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
}
}
- }
- }, {
- "@type" : "g:VertexProperty",
- "@value" : {
- "id" : {
- "@type" : "g:Int64",
- "@value" : 9
- },
- "value" : "santa fe",
- "label" : "location",
- "properties" : {
- "startTime" : {
- "@type" : "g:Int32",
- "@value" : 2005
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 9
+ },
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
}
}
- }
- } ]
+ } ]
+ }
}
- }
- } ],
+ } ]
+ },
"meta" : {
"@type" : "g:Map",
"@value" : [ ]
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9949c38d/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/traversalmetrics-v3d0.json
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/traversalmetrics-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/traversalmetrics-v3d0.json
index 8e7effd..46f7636 100644
--- a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/traversalmetrics-v3d0.json
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_3_0/traversalmetrics-v3d0.json
@@ -5,102 +5,105 @@
"@value" : [ "dur", {
"@type" : "g:Double",
"@value" : 0.004
- }, "metrics", [ {
- "@type" : "g:Metrics",
- "@value" : {
- "@type" : "g:Map",
- "@value" : [ "dur", {
- "@type" : "g:Double",
- "@value" : 100.0
- }, "counts", {
+ }, "metrics", {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Metrics",
+ "@value" : {
"@type" : "g:Map",
- "@value" : [ "traverserCount", {
- "@type" : "g:Int64",
- "@value" : 4
- }, "elementCount", {
- "@type" : "g:Int64",
- "@value" : 4
- } ]
- }, "name", "TinkerGraphStep(vertex,[~label.eq(person)])", "annotations", {
- "@type" : "g:Map",
- "@value" : [ "percentDur", {
+ "@value" : [ "dur", {
"@type" : "g:Double",
- "@value" : 25.0
- } ]
- }, "id", "7.0.0()" ]
- }
- }, {
- "@type" : "g:Metrics",
- "@value" : {
- "@type" : "g:Map",
- "@value" : [ "dur", {
- "@type" : "g:Double",
- "@value" : 100.0
- }, "counts", {
- "@type" : "g:Map",
- "@value" : [ "traverserCount", {
- "@type" : "g:Int64",
- "@value" : 13
- }, "elementCount", {
- "@type" : "g:Int64",
- "@value" : 13
- } ]
- }, "name", "VertexStep(OUT,vertex)", "annotations", {
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 4
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 4
+ } ]
+ }, "name", "TinkerGraphStep(vertex,[~label.eq(person)])", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "7.0.0()" ]
+ }
+ }, {
+ "@type" : "g:Metrics",
+ "@value" : {
"@type" : "g:Map",
- "@value" : [ "percentDur", {
+ "@value" : [ "dur", {
"@type" : "g:Double",
- "@value" : 25.0
- } ]
- }, "id", "2.0.0()" ]
- }
- }, {
- "@type" : "g:Metrics",
- "@value" : {
- "@type" : "g:Map",
- "@value" : [ "dur", {
- "@type" : "g:Double",
- "@value" : 100.0
- }, "counts", {
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 13
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 13
+ } ]
+ }, "name", "VertexStep(OUT,vertex)", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "2.0.0()" ]
+ }
+ }, {
+ "@type" : "g:Metrics",
+ "@value" : {
"@type" : "g:Map",
- "@value" : [ "traverserCount", {
- "@type" : "g:Int64",
- "@value" : 7
- }, "elementCount", {
- "@type" : "g:Int64",
- "@value" : 7
- } ]
- }, "name", "VertexStep(OUT,vertex)", "annotations", {
- "@type" : "g:Map",
- "@value" : [ "percentDur", {
+ "@value" : [ "dur", {
"@type" : "g:Double",
- "@value" : 25.0
- } ]
- }, "id", "3.0.0()" ]
- }
- }, {
- "@type" : "g:Metrics",
- "@value" : {
- "@type" : "g:Map",
- "@value" : [ "dur", {
- "@type" : "g:Double",
- "@value" : 100.0
- }, "counts", {
- "@type" : "g:Map",
- "@value" : [ "traverserCount", {
- "@type" : "g:Int64",
- "@value" : 1
- }, "elementCount", {
- "@type" : "g:Int64",
- "@value" : 1
- } ]
- }, "name", "TreeStep", "annotations", {
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 7
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 7
+ } ]
+ }, "name", "VertexStep(OUT,vertex)", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "3.0.0()" ]
+ }
+ }, {
+ "@type" : "g:Metrics",
+ "@value" : {
"@type" : "g:Map",
- "@value" : [ "percentDur", {
+ "@value" : [ "dur", {
"@type" : "g:Double",
- "@value" : 25.0
- } ]
- }, "id", "4.0.0()" ]
- }
- } ] ]
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 1
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 1
+ } ]
+ }, "name", "TreeStep", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "4.0.0()" ]
+ }
+ } ]
+ } ]
}
}
\ No newline at end of file