TINKERPOP-1700 Removed previously deprecated embedTypes option for GraphSON
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b07e0e13 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b07e0e13 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b07e0e13 Branch: refs/heads/TINKERPOP-1603 Commit: b07e0e13f80515a1da734b27126e45d096f0943d Parents: 341ccf6 Author: Stephen Mallette <[email protected]> Authored: Thu Jun 29 14:06:36 2017 -0400 Committer: Stephen Mallette <[email protected]> Committed: Thu Jun 29 14:06:36 2017 -0400 ---------------------------------------------------------------------- CHANGELOG.asciidoc | 9 +++-- docs/src/reference/the-graph.asciidoc | 4 +- docs/src/upgrade/release-3.3.x.asciidoc | 2 + .../structure/io/graphson/GraphSONMapper.java | 41 +++++--------------- .../io/graphson/LegacyGraphSONReader.java | 2 +- .../GraphSONMapperEmbeddedTypeTest.java | 2 +- .../io/graphson/GraphSONMapperTest.java | 2 +- ...aphSONMapperV2d0PartialEmbeddedTypeTest.java | 4 +- .../GraphSONMessageSerializerGremlinV1d0.java | 3 +- .../ser/GraphSONMessageSerializerV1d0.java | 3 +- .../server/gremlin-server-integration.yaml | 4 +- .../gremlin/structure/SerializationTest.java | 9 +++-- .../gremlin/structure/io/IoCustomTest.java | 4 +- .../gremlin/structure/io/IoEdgeTest.java | 4 +- .../gremlin/structure/io/IoPropertyTest.java | 4 +- .../tinkerpop/gremlin/structure/io/IoTest.java | 4 +- .../gremlin/structure/io/IoVertexTest.java | 4 +- .../structure/IoDataGenerationTest.java | 10 ++--- .../tinkergraph/structure/TinkerGraphTest.java | 3 +- 19 files changed, 52 insertions(+), 66 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/CHANGELOG.asciidoc ---------------------------------------------------------------------- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 1f77ae0..62a643e 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -26,10 +26,6 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* Removed previously deprecated `:remote config timeout max`. -* Removed previously deprecated `ConnectionPoolSettings.sessionId` and `ConnectionPoolSettings.optionalSessionId()`. -* Removed previously deprecated `reconnectInitialDelay` setting from the Java driver. -* Removed support for passing a byte array on the `sasl` parameter. * Graphite and Ganglia are no longer packaged with the Gremlin Server distribution. * `TransactionException` is no longer a class of `AbstractTransaction` and it extends `RuntimeException`. * Included an ellipse on long property names that are truncated. @@ -40,6 +36,11 @@ TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET) * 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. +* Removed previously deprecated `:remote config timeout max`. +* Removed previously deprecated `ConnectionPoolSettings.sessionId` and `ConnectionPoolSettings.optionalSessionId()`. +* Removed previously deprecated `reconnectInitialDelay` setting from the Java driver. * Removed previously deprecated `useMapperFromGraph` option. * Removed previously deprecated `Io.Builder#registry(IoRegistry)` method. * Removed previously deprecated `GryoMessageSerializerV1d0(GryoMapper)` constructor. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/docs/src/reference/the-graph.asciidoc ---------------------------------------------------------------------- diff --git a/docs/src/reference/the-graph.asciidoc b/docs/src/reference/the-graph.asciidoc index 7e1d3dd..1555cab 100644 --- a/docs/src/reference/the-graph.asciidoc +++ b/docs/src/reference/the-graph.asciidoc @@ -602,12 +602,12 @@ GraphSON 1.0: graph = TinkerFactory.createModern() g = graph.traversal() f = new ByteArrayOutputStream() -mapper = graph.io(graphson()).mapper().embedTypes(true).create() +mapper = graph.io(graphson()).mapper().typeInfo(TypeInfo.PARTIAL_TYPES).create() graph.io(graphson()).writer().mapper(mapper).create().writeVertex(f, g.V(1).next(), BOTH) f.close() ---- -In the above code, the `embedTypes` option is set to `true` and the output below shows the difference in the output: +In the above code, the `typeInfo` option is set to `true` and the output below shows the difference in the output: [source,json] ---- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/docs/src/upgrade/release-3.3.x.asciidoc ---------------------------------------------------------------------- diff --git a/docs/src/upgrade/release-3.3.x.asciidoc b/docs/src/upgrade/release-3.3.x.asciidoc index de4401a..37cdf0b 100644 --- a/docs/src/upgrade/release-3.3.x.asciidoc +++ b/docs/src/upgrade/release-3.3.x.asciidoc @@ -113,6 +113,8 @@ Changes to IO * Gryo incompatibilities with 3.2.x: ** `RequestMessage` ** `ResponseMessage` +* GraphSON +** embedTypes is gone, use typeInfo setting. will default to no types for GraphSON 1.0 and partial types for graphson 2.0 TINKERPOP-1700 Graphite and Ganglia ^^^^^^^^^^^^^^^^^^^^ http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapper.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapper.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapper.java index d442dbc..6b6bbf7 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapper.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapper.java @@ -65,7 +65,6 @@ public class GraphSONMapper implements Mapper<ObjectMapper> { private final List<SimpleModule> customModules; private final boolean loadCustomSerializers; private final boolean normalize; - private final boolean embedTypes; private final GraphSONVersion version; private final TypeInfo typeInfo; @@ -73,9 +72,12 @@ public class GraphSONMapper implements Mapper<ObjectMapper> { this.customModules = builder.customModules; this.loadCustomSerializers = builder.loadCustomModules; this.normalize = builder.normalize; - this.embedTypes = builder.embedTypes; this.version = builder.version; - this.typeInfo = builder.typeInfo; + + if (null == builder.typeInfo) + this.typeInfo = builder.version == GraphSONVersion.V1_0 ? TypeInfo.NO_TYPES : TypeInfo.PARTIAL_TYPES; + else + this.typeInfo = builder.typeInfo; } @Override @@ -125,7 +127,7 @@ public class GraphSONMapper implements Mapper<ObjectMapper> { }); om.setDefaultTyping(typer); } else if (version == GraphSONVersion.V1_0 || version == GraphSONVersion.V2_0) { - if (embedTypes) { + if (typeInfo == TypeInfo.PARTIAL_TYPES) { final TypeResolverBuilder<?> typer = new StdTypeResolverBuilder() .init(JsonTypeInfo.Id.CLASS, null) .inclusion(JsonTypeInfo.As.PROPERTY) @@ -160,7 +162,6 @@ public class GraphSONMapper implements Mapper<ObjectMapper> { return this.typeInfo; } - private void registerJavaBaseTypes(final GraphSONTypeIdResolver graphSONTypeIdResolver) { Arrays.asList( UUID.class, @@ -176,11 +177,10 @@ public class GraphSONMapper implements Mapper<ObjectMapper> { private List<SimpleModule> customModules = new ArrayList<>(); private boolean loadCustomModules = false; private boolean normalize = false; - private boolean embedTypes = false; private List<IoRegistry> registries = new ArrayList<>(); private GraphSONVersion version = GraphSONVersion.V2_0; - // GraphSON 2.0 should have types activated by default, otherwise use there's no point in using it instead of 1.0. - private TypeInfo typeInfo = TypeInfo.PARTIAL_TYPES; + // GraphSON 2.0 should have types activated by default, and 1.0 should use no types by default + private TypeInfo typeInfo = null; private Builder() { } @@ -236,36 +236,13 @@ public class GraphSONMapper implements Mapper<ObjectMapper> { } /** - * Embeds Java types into generated JSON to clarify their origins. Setting this value will override the value - * of {@link #typeInfo(TypeInfo)} where true will set it to {@link TypeInfo#PARTIAL_TYPES} and false will set - * it to {@link TypeInfo#NO_TYPES}. - * - * @deprecated As of release 3.2.1, replaced by {@link #typeInfo(TypeInfo)}. - */ - @Deprecated - public Builder embedTypes(final boolean embedTypes) { - this.embedTypes = embedTypes; - this.typeInfo = embedTypes ? TypeInfo.PARTIAL_TYPES : TypeInfo.NO_TYPES; - return this; - } - - /** - * Specify if the values are going to be typed or not, and at which level. Setting this value will override - * the value of {@link #embedTypes(boolean)} where {@link TypeInfo#PARTIAL_TYPES} will set it to true and - * {@link TypeInfo#NO_TYPES} will set it to false. + * Specify if the values are going to be typed or not, and at which level. * * The level can be {@link TypeInfo#NO_TYPES} or {@link TypeInfo#PARTIAL_TYPES}, and could be extended in the * future. */ public Builder typeInfo(final TypeInfo typeInfo) { this.typeInfo = typeInfo; - if (typeInfo.equals(TypeInfo.PARTIAL_TYPES)) - this.embedTypes = true; - else if (typeInfo.equals(TypeInfo.NO_TYPES)) - this.embedTypes = false; - else - throw new IllegalArgumentException("This value can only be set to PARTIAL_TYPES and NO_TYPES"); - return this; } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/LegacyGraphSONReader.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/LegacyGraphSONReader.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/LegacyGraphSONReader.java index 679c827..3125e73 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/LegacyGraphSONReader.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/LegacyGraphSONReader.java @@ -238,7 +238,7 @@ public final class LegacyGraphSONReader implements GraphReader { public LegacyGraphSONReader create() { final GraphSONMapper.Builder builder = GraphSONMapper.build(); customModules.forEach(builder::addCustomModule); - final GraphSONMapper mapper = builder.embedTypes(embedTypes) + final GraphSONMapper mapper = builder.typeInfo(embedTypes ? TypeInfo.PARTIAL_TYPES : TypeInfo.NO_TYPES) .loadCustomModules(loadCustomModules).create(); return new LegacyGraphSONReader(mapper.createMapper(), batchSize); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/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 9079c8a..66bab80 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 @@ -57,7 +57,7 @@ public class GraphSONMapperEmbeddedTypeTest extends AbstractGraphSONTest { @Parameterized.Parameters(name = "{0}") public static Iterable<Object[]> data() { return Arrays.asList(new Object[][]{ - {"v1", GraphSONMapper.build().version(GraphSONVersion.V1_0).embedTypes(true).create().createMapper()}, + {"v1", GraphSONMapper.build().version(GraphSONVersion.V1_0).typeInfo(TypeInfo.PARTIAL_TYPES).create().createMapper()}, {"v2", GraphSONMapper.build().version(GraphSONVersion.V2_0) .addCustomModule(GraphSONXModuleV2d0.build().create(false)) .typeInfo(TypeInfo.PARTIAL_TYPES).create().createMapper()}, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperTest.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperTest.java index 217cc6f..96bd9d6 100644 --- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperTest.java +++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperTest.java @@ -51,7 +51,7 @@ public class GraphSONMapperTest { @Parameterized.Parameters(name = "{0}") public static Iterable<Object[]> data() { return Arrays.asList(new Object[][]{ - {GraphSONMapper.build().version(GraphSONVersion.V1_0).embedTypes(false).create().createMapper()}, + {GraphSONMapper.build().version(GraphSONVersion.V1_0).typeInfo(TypeInfo.NO_TYPES).create().createMapper()}, {GraphSONMapper.build().version(GraphSONVersion.V2_0).addCustomModule(GraphSONXModuleV2d0.build().create(false)).typeInfo(TypeInfo.NO_TYPES).create().createMapper()}, }); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperV2d0PartialEmbeddedTypeTest.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperV2d0PartialEmbeddedTypeTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperV2d0PartialEmbeddedTypeTest.java index 28107d0..45bb2b1 100644 --- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperV2d0PartialEmbeddedTypeTest.java +++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperV2d0PartialEmbeddedTypeTest.java @@ -148,7 +148,7 @@ public class GraphSONMapperV2d0PartialEmbeddedTypeTest extends AbstractGraphSONT public void shouldHandleMapWithTypesUsingEmbedTypeSettingV2d0() throws Exception { final ObjectMapper mapper = GraphSONMapper.build() .version(GraphSONVersion.V2_0) - .embedTypes(true) + .typeInfo(TypeInfo.PARTIAL_TYPES) .create() .createMapper(); @@ -165,7 +165,7 @@ public class GraphSONMapperV2d0PartialEmbeddedTypeTest extends AbstractGraphSONT public void shouldNotHandleMapWithTypesUsingEmbedTypeSettingV2d0() throws Exception { final ObjectMapper mapper = GraphSONMapper.build() .version(GraphSONVersion.V2_0) - .embedTypes(false) + .typeInfo(TypeInfo.NO_TYPES) .create() .createMapper(); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerGremlinV1d0.java ---------------------------------------------------------------------- diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerGremlinV1d0.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerGremlinV1d0.java index 3564279..ef9e0ef 100644 --- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerGremlinV1d0.java +++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerGremlinV1d0.java @@ -20,6 +20,7 @@ package org.apache.tinkerpop.gremlin.driver.ser; import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper; import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONVersion; +import org.apache.tinkerpop.gremlin.structure.io.graphson.TypeInfo; import java.nio.ByteBuffer; @@ -63,6 +64,6 @@ public final class GraphSONMessageSerializerGremlinV1d0 extends AbstractGraphSON GraphSONMapper.Builder configureBuilder(final GraphSONMapper.Builder builder) { // already set to 1.0 in AbstractGraphSONMessageSerializerV1d0 return builder.addCustomModule(new GraphSONMessageSerializerV1d0.GremlinServerModule()) - .embedTypes(true); + .typeInfo(TypeInfo.PARTIAL_TYPES); } } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerV1d0.java ---------------------------------------------------------------------- diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerV1d0.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerV1d0.java index e61e946..436b621 100644 --- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerV1d0.java +++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerV1d0.java @@ -23,6 +23,7 @@ import org.apache.tinkerpop.gremlin.driver.message.ResponseMessage; import org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode; import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper; import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONVersion; +import org.apache.tinkerpop.gremlin.structure.io.graphson.TypeInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -65,7 +66,7 @@ public final class GraphSONMessageSerializerV1d0 extends AbstractGraphSONMessage GraphSONMapper.Builder configureBuilder(final GraphSONMapper.Builder builder) { // already set to 1.0 in AbstractGraphSONMessageSerializerV1d0 return builder.addCustomModule(new GremlinServerModule()) - .embedTypes(false); + .typeInfo(TypeInfo.NO_TYPES); } @Override http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml ---------------------------------------------------------------------- diff --git a/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml b/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml index dc41190..cb8caca 100644 --- a/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml +++ b/gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml @@ -27,8 +27,8 @@ scriptEngines: { org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classImports: [java.lang.Math], methodImports: [java.lang.Math#*]}, org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: [scripts/empty-sample.groovy]}}}} serializers: - - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { useMapperFromGraph: graph, custom: [groovy.json.JsonBuilder;org.apache.tinkerpop.gremlin.driver.ser.JsonBuilderGryoSerializer]}} - - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoLiteMessageSerializerV1d0, config: { useMapperFromGraph: graph, custom: [groovy.json.JsonBuilder;org.apache.tinkerpop.gremlin.driver.ser.JsonBuilderGryoSerializer]}} + - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0], custom: [groovy.json.JsonBuilder;org.apache.tinkerpop.gremlin.driver.ser.JsonBuilderGryoSerializer]}} + - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoLiteMessageSerializerV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0], custom: [groovy.json.JsonBuilder;org.apache.tinkerpop.gremlin.driver.ser.JsonBuilderGryoSerializer]}} - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true}} - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+json - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV2d0] }} # application/vnd.gremlin-v2.0+json http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/SerializationTest.java ---------------------------------------------------------------------- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/SerializationTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/SerializationTest.java index a112777..f11c0cb 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/SerializationTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/SerializationTest.java @@ -51,9 +51,12 @@ import java.util.Optional; import java.util.concurrent.TimeUnit; import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree; import static org.hamcrest.CoreMatchers.instanceOf; - -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * Serialization tests that occur at a lower level than IO. Note that there is no need to test GraphML here as http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoCustomTest.java ---------------------------------------------------------------------- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoCustomTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoCustomTest.java index f7340f8..777c2ee 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoCustomTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoCustomTest.java @@ -62,8 +62,8 @@ public class IoCustomTest extends AbstractGremlinTest { return Arrays.asList(new Object[][]{ {"graphson-v1-embedded", true, - (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(GraphSONIo.build(GraphSONVersion.V1_0)).mapper().addCustomModule(moduleV1d0).embedTypes(true).create()).create(), - (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(GraphSONIo.build(GraphSONVersion.V1_0)).mapper().addCustomModule(moduleV1d0).embedTypes(true).create()).create()}, + (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(GraphSONIo.build(GraphSONVersion.V1_0)).mapper().addCustomModule(moduleV1d0).typeInfo(TypeInfo.PARTIAL_TYPES).create()).create(), + (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(GraphSONIo.build(GraphSONVersion.V1_0)).mapper().addCustomModule(moduleV1d0).typeInfo(TypeInfo.PARTIAL_TYPES).create()).create()}, {"graphson-v2-embedded", true, (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(GraphSONIo.build(GraphSONVersion.V2_0)).mapper().addCustomModule(moduleV2d0).typeInfo(TypeInfo.PARTIAL_TYPES).create()).create(), (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(GraphSONIo.build(GraphSONVersion.V2_0)).mapper().addCustomModule(moduleV2d0).typeInfo(TypeInfo.PARTIAL_TYPES).create()).create()}, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoEdgeTest.java ---------------------------------------------------------------------- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoEdgeTest.java index fa656a5..7902d0d 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoEdgeTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoEdgeTest.java @@ -58,8 +58,8 @@ public class IoEdgeTest extends AbstractGremlinTest { (Function<Graph,GraphReader>) g -> g.io(IoCore.graphson()).reader().create(), (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().create()}, {"graphson-v1-embedded", true, true, - (Function<Graph,GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(IoCore.graphson()).mapper().embedTypes(true).create()).create(), - (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(IoCore.graphson()).mapper().embedTypes(true).create()).create()}, + (Function<Graph,GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(IoCore.graphson()).mapper().typeInfo(TypeInfo.PARTIAL_TYPES).create()).create(), + (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(IoCore.graphson()).mapper().typeInfo(TypeInfo.PARTIAL_TYPES).create()).create()}, {"graphson-v2", false, false, (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(GraphSONIo.build(GraphSONVersion.V2_0)).mapper().typeInfo(TypeInfo.NO_TYPES).create()).create(), (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(GraphSONIo.build(GraphSONVersion.V2_0)).mapper().typeInfo(TypeInfo.NO_TYPES).create()).create()}, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoPropertyTest.java ---------------------------------------------------------------------- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoPropertyTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoPropertyTest.java index d16339f..49cc2b2 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoPropertyTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoPropertyTest.java @@ -55,8 +55,8 @@ public class IoPropertyTest extends AbstractGremlinTest { (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().create(), (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().create()}, {"graphson-v1-embedded", true, true, - (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(IoCore.graphson()).mapper().embedTypes(true).create()).create(), - (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(IoCore.graphson()).mapper().embedTypes(true).create()).create()}, + (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(IoCore.graphson()).mapper().typeInfo(TypeInfo.PARTIAL_TYPES).create()).create(), + (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(IoCore.graphson()).mapper().typeInfo(TypeInfo.PARTIAL_TYPES).create()).create()}, {"graphson-v2", false, false, (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(GraphSONIo.build(GraphSONVersion.V2_0)).mapper().typeInfo(TypeInfo.NO_TYPES).create()).create(), (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(GraphSONIo.build(GraphSONVersion.V2_0)).mapper().typeInfo(TypeInfo.NO_TYPES).create()).create()}, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoTest.java ---------------------------------------------------------------------- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoTest.java index 1605708..7434f1f 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoTest.java @@ -451,7 +451,7 @@ public class IoTest { final SimpleModule module = new SimpleModule(); module.addSerializer(CustomId.class, new CustomId.CustomIdJacksonSerializerV1d0()); final GraphWriter writer = graph.io(graphson).writer().mapper( - graph.io(graphson).mapper().version(GraphSONVersion.V1_0).addCustomModule(module).embedTypes(true).create()).create(); + graph.io(graphson).mapper().version(GraphSONVersion.V1_0).addCustomModule(module).typeInfo(TypeInfo.PARTIAL_TYPES).create()).create(); try (final ByteArrayOutputStream baos = new ByteArrayOutputStream()) { writer.writeGraph(baos, graph); @@ -470,7 +470,7 @@ public class IoTest { try (final InputStream is = new ByteArrayInputStream(baos.toByteArray())) { final GraphReader reader = graph.io(graphson).reader() - .mapper(graph.io(graphson).mapper().version(GraphSONVersion.V1_0).embedTypes(true).addCustomModule(module).create()).create(); + .mapper(graph.io(graphson).mapper().version(GraphSONVersion.V1_0).typeInfo(TypeInfo.PARTIAL_TYPES).addCustomModule(module).create()).create(); reader.readGraph(is, g2); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoVertexTest.java ---------------------------------------------------------------------- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoVertexTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoVertexTest.java index d3aaa81..e7d7dd6 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoVertexTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/IoVertexTest.java @@ -75,8 +75,8 @@ public class IoVertexTest extends AbstractGremlinTest { (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().create(), (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().create()}, {"graphson-v1-embedded", true, false, - (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(IoCore.graphson()).mapper().embedTypes(true).create()).create(), - (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(IoCore.graphson()).mapper().embedTypes(true).create()).create()}, + (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(IoCore.graphson()).mapper().typeInfo(TypeInfo.PARTIAL_TYPES).create()).create(), + (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(IoCore.graphson()).mapper().typeInfo(TypeInfo.PARTIAL_TYPES).create()).create()}, {"graphson-v2", false, false, (Function<Graph, GraphReader>) g -> g.io(IoCore.graphson()).reader().mapper(g.io(GraphSONIo.build(GraphSONVersion.V2_0)).mapper().typeInfo(TypeInfo.NO_TYPES).create()).create(), (Function<Graph, GraphWriter>) g -> g.io(IoCore.graphson()).writer().mapper(g.io(GraphSONIo.build(GraphSONVersion.V2_0)).mapper().typeInfo(TypeInfo.NO_TYPES).create()).create()}, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/IoDataGenerationTest.java ---------------------------------------------------------------------- diff --git a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/IoDataGenerationTest.java b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/IoDataGenerationTest.java index d07105b..9902ead 100644 --- a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/IoDataGenerationTest.java +++ b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/IoDataGenerationTest.java @@ -170,7 +170,7 @@ public class IoDataGenerationTest { @Test public void shouldWriteClassicGraphAsGraphSONWithTypes() throws IOException { final OutputStream os = new FileOutputStream(tempPath + "tinkerpop-classic-typed.json"); - GraphSONWriter.build().mapper(GraphSONMapper.build().embedTypes(true).create()) + GraphSONWriter.build().mapper(GraphSONMapper.build().typeInfo(TypeInfo.PARTIAL_TYPES).create()) .create().writeGraph(os, TinkerFactory.createClassic()); os.close(); } @@ -181,7 +181,7 @@ public class IoDataGenerationTest { @Test public void shouldWriteModernGraphAsGraphSONWithTypes() throws IOException { final OutputStream os = new FileOutputStream(tempPath + "tinkerpop-modern-typed.json"); - GraphSONWriter.build().mapper(GraphSONMapper.build().embedTypes(true).create()) + GraphSONWriter.build().mapper(GraphSONMapper.build().typeInfo(TypeInfo.PARTIAL_TYPES).create()) .create().writeGraph(os, TinkerFactory.createModern()); os.close(); } @@ -192,7 +192,7 @@ public class IoDataGenerationTest { @Test public void shouldWriteCrewGraphAsGraphSONWithTypes() throws IOException { final OutputStream os = new FileOutputStream(tempPath + "tinkerpop-crew-typed.json"); - GraphSONWriter.build().mapper(GraphSONMapper.build().embedTypes(true).create()) + GraphSONWriter.build().mapper(GraphSONMapper.build().typeInfo(TypeInfo.PARTIAL_TYPES).create()) .create().writeGraph(os, TinkerFactory.createTheCrew()); os.close(); } @@ -315,7 +315,7 @@ public class IoDataGenerationTest { } /* keep this hanging around because changes to gryo format will need grateful dead generated from json so you can generate the gio - final GraphSONMapper mapper = GraphSONMapper.build().embedTypes(true).create(); + final GraphSONMapper mapper = GraphSONMapper.build().typeInfo(TypeInfo.PARTIAL_TYPES).create(); final GraphReader reader = org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONReader.build().mapper(mapper).create(); try (final InputStream stream = AbstractGremlinTest.class.getResourceAsStream("/org/apache/tinkerpop/gremlin/structure/io/graphson/grateful-dead-typed.json")) { reader.readGraph(stream, g); @@ -369,7 +369,7 @@ public class IoDataGenerationTest { os4.close(); final OutputStream os5 = new FileOutputStream(tempPath + "grateful-dead-typed.json"); - GraphSONWriter.build().mapper(GraphSONMapper.build().embedTypes(true).create()).create().writeGraph(os5, g); + GraphSONWriter.build().mapper(GraphSONMapper.build().typeInfo(TypeInfo.PARTIAL_TYPES).create()).create().writeGraph(os5, g); os5.close(); final OutputStream os6 = new FileOutputStream(tempPath + "grateful-dead-v2d0-typed.json"); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b07e0e13/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java ---------------------------------------------------------------------- diff --git a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java index edf2127..ca11e17 100644 --- a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java +++ b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java @@ -36,6 +36,7 @@ import org.apache.tinkerpop.gremlin.structure.io.IoTest; import org.apache.tinkerpop.gremlin.structure.io.Mapper; import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONReader; import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONWriter; +import org.apache.tinkerpop.gremlin.structure.io.graphson.TypeInfo; import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoClassResolver; import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoMapper; import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoWriter; @@ -351,7 +352,7 @@ public class TinkerGraphTest { @Test public void shouldSerializeTinkerGraphToGraphSONWithTypes() throws Exception { final TinkerGraph graph = TinkerFactory.createModern(); - final Mapper<ObjectMapper> mapper = graph.io(IoCore.graphson()).mapper().embedTypes(true).create(); + final Mapper<ObjectMapper> mapper = graph.io(IoCore.graphson()).mapper().typeInfo(TypeInfo.PARTIAL_TYPES).create(); try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) { final GraphWriter writer = GraphSONWriter.build().mapper(mapper).create(); writer.writeObject(out, graph);
