This is an automated email from the ASF dual-hosted git repository. spmallette pushed a commit to branch TINKERPOP-2279 in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 915462f2749623294574d6392102661c4dd3bd2b Author: Stephen Mallette <[email protected]> AuthorDate: Fri Aug 2 10:50:00 2019 -0400 Added graphbinary test files in gremlin-io-test for 3.4.3 --- .../jython/gremlin_python/process/traversal.py | 2 +- gremlin-tools/gremlin-io-test/pom.xml | 26 ++++++ .../scripts/generate-graphbinary-resources.groovy | 81 +++++++++++++++++++ .../tinkerpop/gremlin/structure/io/Model.java | 16 +++- .../io/graphbinary/GraphBinaryCompatibility.java | 86 ++++++++++++++++++++ .../structure/io/AbstractCompatibilityTest.java | 51 +++++++----- .../graphbinary/GraphBinaryCompatibilityTest.java | 90 +++++++++++++++++++++ .../io/graphbinary/_3_4_3/barrier-v1.gbin | Bin 0 -> 16 bytes .../io/graphbinary/_3_4_3/bigdecimal-v1.gbin | Bin 0 -> 25 bytes .../io/graphbinary/_3_4_3/biginteger-v1.gbin | Bin 0 -> 21 bytes .../io/graphbinary/_3_4_3/binding-v1.gbin | Bin 0 -> 13 bytes .../io/graphbinary/_3_4_3/bulkset-v1.gbin | Bin 0 -> 43 bytes .../structure/io/graphbinary/_3_4_3/byte-v1.gbin | Bin 0 -> 3 bytes .../io/graphbinary/_3_4_3/bytebuffer-v1.gbin | Bin 0 -> 24 bytes .../io/graphbinary/_3_4_3/bytecode-v1.gbin | Bin 0 -> 80 bytes .../io/graphbinary/_3_4_3/cardinality-v1.gbin | Bin 0 -> 12 bytes .../structure/io/graphbinary/_3_4_3/char-v1.gbin | Bin 0 -> 3 bytes .../structure/io/graphbinary/_3_4_3/class-v1.gbin | Bin 0 -> 18 bytes .../structure/io/graphbinary/_3_4_3/column-v1.gbin | Bin 0 -> 12 bytes .../structure/io/graphbinary/_3_4_3/date-v1.gbin | Bin 0 -> 10 bytes .../io/graphbinary/_3_4_3/direction-v1.gbin | Bin 0 -> 11 bytes .../structure/io/graphbinary/_3_4_3/double-v1.gbin | Bin 0 -> 10 bytes .../io/graphbinary/_3_4_3/duration-v1.gbin | Bin 0 -> 14 bytes .../structure/io/graphbinary/_3_4_3/edge-v1.gbin | Bin 0 -> 58 bytes .../structure/io/graphbinary/_3_4_3/float-v1.gbin | Bin 0 -> 6 bytes .../io/graphbinary/_3_4_3/inetaddress-v1.gbin | Bin 0 -> 10 bytes .../io/graphbinary/_3_4_3/instant-v1.gbin | Bin 0 -> 14 bytes .../io/graphbinary/_3_4_3/integer-v1.gbin | Bin 0 -> 6 bytes .../structure/io/graphbinary/_3_4_3/lambda-v1.gbin | Bin 0 -> 40 bytes .../structure/io/graphbinary/_3_4_3/list-v1.gbin | Bin 0 -> 27 bytes .../io/graphbinary/_3_4_3/localdate-v1.gbin | Bin 0 -> 8 bytes .../io/graphbinary/_3_4_3/localdatetime-v1.gbin | Bin 0 -> 16 bytes .../io/graphbinary/_3_4_3/localtime-v1.gbin | Bin 0 -> 10 bytes .../structure/io/graphbinary/_3_4_3/long-v1.gbin | Bin 0 -> 10 bytes .../structure/io/graphbinary/_3_4_3/map-v1.gbin | Bin 0 -> 75 bytes .../io/graphbinary/_3_4_3/metrics-v1.gbin | Bin 0 -> 307 bytes .../io/graphbinary/_3_4_3/monthday-v1.gbin | Bin 0 -> 4 bytes .../io/graphbinary/_3_4_3/offsetdatetime-v1.gbin | Bin 0 -> 20 bytes .../io/graphbinary/_3_4_3/offsettime-v1.gbin | Bin 0 -> 14 bytes .../io/graphbinary/_3_4_3/operator-v1.gbin | Bin 0 -> 11 bytes .../structure/io/graphbinary/_3_4_3/order-v1.gbin | Bin 0 -> 15 bytes .../structure/io/graphbinary/_3_4_3/p-v1.gbin | Bin 0 -> 18 bytes .../structure/io/graphbinary/_3_4_3/pand-v1.gbin | Bin 0 -> 49 bytes .../structure/io/graphbinary/_3_4_3/path-v1.gbin | Bin 0 -> 96 bytes .../structure/io/graphbinary/_3_4_3/period-v1.gbin | Bin 0 -> 14 bytes .../structure/io/graphbinary/_3_4_3/pick-v1.gbin | Bin 0 -> 11 bytes .../structure/io/graphbinary/_3_4_3/pop-v1.gbin | Bin 0 -> 11 bytes .../structure/io/graphbinary/_3_4_3/por-v1.gbin | Bin 0 -> 64 bytes .../io/graphbinary/_3_4_3/property-v1.gbin | Bin 0 -> 19 bytes .../io/graphbinary/_3_4_3/pwithin-v1.gbin | Bin 0 -> 22 bytes .../io/graphbinary/_3_4_3/pwithout-v1.gbin | Bin 0 -> 29 bytes .../structure/io/graphbinary/_3_4_3/scope-v1.gbin | Bin 0 -> 13 bytes .../structure/io/graphbinary/_3_4_3/set-v1.gbin | Bin 0 -> 27 bytes .../structure/io/graphbinary/_3_4_3/short-v1.gbin | Bin 0 -> 4 bytes .../structure/io/graphbinary/_3_4_3/t-v1.gbin | Bin 0 -> 13 bytes .../structure/io/graphbinary/_3_4_3/textp-v1.gbin | Bin 0 -> 29 bytes .../io/graphbinary/_3_4_3/timestamp-v1.gbin | Bin 0 -> 10 bytes .../io/graphbinary/_3_4_3/tinkergraph-v1.gbin | Bin 0 -> 2264 bytes .../io/graphbinary/_3_4_3/traversalmetrics-v1.gbin | Bin 0 -> 593 bytes .../io/graphbinary/_3_4_3/traverser-v1.gbin | Bin 0 -> 30 bytes .../structure/io/graphbinary/_3_4_3/uuid-v1.gbin | Bin 0 -> 18 bytes .../structure/io/graphbinary/_3_4_3/vertex-v1.gbin | Bin 0 -> 20 bytes .../io/graphbinary/_3_4_3/vertexproperty-v1.gbin | Bin 0 -> 35 bytes .../structure/io/graphbinary/_3_4_3/year-v1.gbin | Bin 0 -> 6 bytes .../io/graphbinary/_3_4_3/yearmonth-v1.gbin | Bin 0 -> 7 bytes .../io/graphbinary/_3_4_3/zoneddatetime-v1.gbin | Bin 0 -> 20 bytes .../io/graphbinary/_3_4_3/zoneoffset-v1.gbin | Bin 0 -> 6 bytes pom.xml | 1 + 68 files changed, 330 insertions(+), 23 deletions(-) diff --git a/gremlin-python/src/main/jython/gremlin_python/process/traversal.py b/gremlin-python/src/main/jython/gremlin_python/process/traversal.py index dbc470f..4fb9f8c 100644 --- a/gremlin-python/src/main/jython/gremlin_python/process/traversal.py +++ b/gremlin-python/src/main/jython/gremlin_python/process/traversal.py @@ -678,7 +678,7 @@ class Bindings(object): class Binding(object): - def __init__(self,key,value): + def __init__(self, key, value): self.key = key self.value = value diff --git a/gremlin-tools/gremlin-io-test/pom.xml b/gremlin-tools/gremlin-io-test/pom.xml index fc0e2a5..dcef57c 100644 --- a/gremlin-tools/gremlin-io-test/pom.xml +++ b/gremlin-tools/gremlin-io-test/pom.xml @@ -147,6 +147,32 @@ </configuration> </execution> <execution> + <id>generate-io-files-graphbinary</id> + <phase>generate-test-resources</phase> + <goals> + <goal>execute</goal> + </goals> + <configuration> + <properties> + <property> + <name>projectBuildDir</name> + <value>${project.build.directory}</value> + </property> + <property> + <name>projectBaseDir</name> + <value>${project.build.directory}</value> + </property> + <property> + <name>projectVersion</name> + <value>${project.version}</value> + </property> + </properties> + <scripts> + <script>${project.basedir}/scripts/generate-graphbinary-resources.groovy</script> + </scripts> + </configuration> + </execution> + <execution> <id>generate-io-model-csv</id> <phase>generate-test-resources</phase> <goals> diff --git a/gremlin-tools/gremlin-io-test/scripts/generate-graphbinary-resources.groovy b/gremlin-tools/gremlin-io-test/scripts/generate-graphbinary-resources.groovy new file mode 100644 index 0000000..43eeb0d --- /dev/null +++ b/gremlin-tools/gremlin-io-test/scripts/generate-graphbinary-resources.groovy @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import io.netty.buffer.ByteBufAllocator +import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryWriter +import org.apache.tinkerpop.gremlin.tinkergraph.structure.* +import org.apache.tinkerpop.gremlin.structure.* +import org.apache.tinkerpop.gremlin.structure.io.* +import org.apache.commons.configuration.BaseConfiguration + +new File("${projectBuildDir}/test-case-data/io/graphbinary").mkdirs() + +conf = new BaseConfiguration() +conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_DEFAULT_VERTEX_PROPERTY_CARDINALITY, VertexProperty.Cardinality.list.name()) +graph = TinkerGraph.open(conf) +TinkerFactory.generateTheCrew(graph) +g = graph.traversal() + +model = Model.instance() + +allocator = ByteBufAllocator.DEFAULT + +toGraphBinary = { o, type, mapper, suffix = "" -> + def fileToWriteTo = new File("${projectBuildDir}/test-case-data/io/graphbinary/" + type.title.toLowerCase().replace(" ","") + "-" + suffix + ".gbin") + if (fileToWriteTo.exists()) fileToWriteTo.delete() + filestream = new FileOutputStream(fileToWriteTo) + try { + buffer = allocator.buffer() + writer.write(o, buffer) + buffer.readerIndex(0) + buffer.readBytes(filestream, buffer.readableBytes()) + } catch (Exception ex) { + if (ex.message == "Serializer for type org.apache.tinkerpop.gremlin.driver.message.RequestMessage not found" || + ex.message == "Serializer for type org.apache.tinkerpop.gremlin.driver.message.ResponseMessage not found" ) + fileToWriteTo.delete() + else + throw ex + } finally { + filestream.close() + } +} + +toGraphBinaryV1d0 = { o, type, mapper -> + toGraphBinary(o, type, mapper, "v1") +} + +writeSupportedObjects = { mapper, toGraphBinaryFunction -> + model.entries().findAll{it.hasGraphBinaryCompatibility()}.each { + toGraphBinaryFunction(it.getObject(), it, mapper) + } +} + +writer = new GraphBinaryWriter() + +writeSupportedObjects(writer, toGraphBinaryV1d0) + +def ver = "_" + "${projectVersion}".replace(".","_").replace("-SNAPSHOT","") +def target = "${projectBaseDir}/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/" + ver +def targetDir = new File(target) +if (!targetDir.exists()) targetDir.mkdirs() +new File("${projectBuildDir}/test-case-data/io/graphbinary/").listFiles().each { + def copyTo = new File(target + "/" + it.name) + if (copyTo.exists()) copyTo.delete() + java.nio.file.Files.copy(it.toPath(), new File(target + "/" + it.name).toPath()) +} diff --git a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java index 4cea315..ef939c4 100644 --- a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java +++ b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java @@ -40,6 +40,7 @@ import org.apache.tinkerpop.gremlin.structure.Column; import org.apache.tinkerpop.gremlin.structure.Direction; import org.apache.tinkerpop.gremlin.structure.T; import org.apache.tinkerpop.gremlin.structure.VertexProperty; +import org.apache.tinkerpop.gremlin.structure.io.graphbinary.GraphBinaryCompatibility; import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONCompatibility; import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoCompatibility; import org.apache.tinkerpop.gremlin.structure.util.star.StarGraph; @@ -92,6 +93,7 @@ public class Model { private static final List<Compatibility> ALL = Collections.unmodifiableList(new ArrayList<Compatibility>() {{ addAll(Arrays.asList(GraphSONCompatibility.values())); addAll(Arrays.asList(GryoCompatibility.values())); + addAll(Arrays.asList(GraphBinaryCompatibility.values())); }}); private static final Model model = new Model(); @@ -105,6 +107,10 @@ public class Model { TinkerFactory.generateTheCrew(graph); final GraphTraversalSource g = graph.traversal(); + // TODO: gotta fix graphbinary + final Compatibility[] noTypeGraphSONPlusBrokenGraphBinary = Compatibilities.with(GraphSONCompatibility.class) + .configuredAs(".*no-types|v1d0").join(Compatibilities.with(GraphBinaryCompatibility.class)).matchToArray(); + final Compatibility[] noTypeGraphSONPlusGryo3_2_3 = Compatibilities.with(GryoCompatibility.class).beforeRelease("3.2.4").join(Compatibilities.UNTYPED_GRAPHSON).matchToArray(); final Compatibility[] noTypeGraphSONPlusGryo3_3_0 = Compatibilities.with(GryoCompatibility.class).beforeRelease("3.3.0").join(Compatibilities.UNTYPED_GRAPHSON).matchToArray(); @@ -253,7 +259,7 @@ public class Model { addExtendedEntry(new Short("100"), "Short", "", Compatibilities.UNTYPED_GRAPHSON.matchToArray()); addExtendedEntry(Year.of(2016), "Year", "The following example is of the `Year` \"2016\".", Compatibilities.UNTYPED_GRAPHSON.matchToArray()); addExtendedEntry(YearMonth.of(2016, 6), "YearMonth", "The following example is a `YearMonth` of \"June 2016\"", Compatibilities.UNTYPED_GRAPHSON.matchToArray()); - addExtendedEntry(ZonedDateTime.of(2016, 12, 23, 12, 12, 24, 36, ZoneId.of("GMT+2")), "ZonedDateTime", "", Compatibilities.UNTYPED_GRAPHSON.matchToArray()); + addExtendedEntry(ZonedDateTime.of(2016, 12, 23, 12, 12, 24, 36, ZoneId.of("GMT+2")), "ZonedDateTime", "", noTypeGraphSONPlusBrokenGraphBinary); addExtendedEntry(ZoneOffset.ofHoursMinutesSeconds(3, 6, 9), "ZoneOffset", "The following example is a `ZoneOffset` of three hours, six minutes, and nine seconds.", Compatibilities.UNTYPED_GRAPHSON.matchToArray()); } @@ -338,6 +344,7 @@ public class Model { private void addRequestMessageEntry(final Object obj, final String title, final String description) { final List<Compatibility> incompatibilityList = Compatibilities.with(GryoCompatibility.class) .before("3.0") + .join(Compatibilities.with(GraphBinaryCompatibility.class)) .match(); final Compatibility[] incompatibilities = new Compatibility[incompatibilityList.size()]; @@ -348,6 +355,7 @@ public class Model { private void addResponseMessageEntry(final Object obj, final String title, final String description) { final List<Compatibility> incompatibilityList = Compatibilities.with(GryoCompatibility.class) .before("3.0") + .join(Compatibilities.with(GraphBinaryCompatibility.class)) .match(); // TODO: temporary problem? seems to be something breaking in vertex serialization @@ -421,6 +429,8 @@ public class Model { return "gryo-" + ((GryoCompatibility) c).name(); else if (c instanceof GraphSONCompatibility) return "graphson-" + ((GraphSONCompatibility) c).name(); + else if (c instanceof GraphBinaryCompatibility) + return "graphbinary-" + ((GraphBinaryCompatibility) c).name(); else throw new IllegalStateException("No support for the provided Compatibility type"); }).collect(Collectors.toList())); @@ -485,5 +495,9 @@ public class Model { public boolean hasGraphSONCompatibility() { return compatibleWith.stream().anyMatch(c -> c instanceof GryoCompatibility); } + + public boolean hasGraphBinaryCompatibility() { + return compatibleWith.stream().anyMatch(c -> c instanceof GraphBinaryCompatibility); + } } } diff --git a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibility.java b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibility.java new file mode 100644 index 0000000..8c7f428 --- /dev/null +++ b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibility.java @@ -0,0 +1,86 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tinkerpop.gremlin.structure.io.graphbinary; + +import org.apache.commons.io.IOUtils; +import org.apache.tinkerpop.gremlin.process.traversal.Path; +import org.apache.tinkerpop.gremlin.process.traversal.Traverser; +import org.apache.tinkerpop.gremlin.process.traversal.traverser.B_O_Traverser; +import org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversalMetrics; +import org.apache.tinkerpop.gremlin.process.traversal.util.Metrics; +import org.apache.tinkerpop.gremlin.process.traversal.util.MutableMetrics; +import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics; +import org.apache.tinkerpop.gremlin.structure.Edge; +import org.apache.tinkerpop.gremlin.structure.Property; +import org.apache.tinkerpop.gremlin.structure.Vertex; +import org.apache.tinkerpop.gremlin.structure.VertexProperty; +import org.apache.tinkerpop.gremlin.structure.io.Compatibility; +import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; +import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedPath; +import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedProperty; +import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex; +import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertexProperty; + +import java.io.File; +import java.io.IOException; + +/** + * @author Stephen Mallette (http://stephen.genoprime.com) + */ +public enum GraphBinaryCompatibility implements Compatibility { + V1_3_4_3("3.4.3", "1.0", "v1"); + + private static final String SEP = File.separator; + + private final String graphBinaryVersion; + private final String tinkerpopVersion; + private final String configuration; + + GraphBinaryCompatibility(final String tinkerpopVersion, final String graphBinaryVersion, final String configuration) { + this.tinkerpopVersion = tinkerpopVersion; + this.graphBinaryVersion = graphBinaryVersion; + this.configuration = configuration; + } + + @Override + public byte[] readFromResource(final String resource) throws IOException { + final String testResource = "_" + tinkerpopVersion.replace(".", "_") + SEP + resource + "-" + configuration + ".gbin"; + return IOUtils.toByteArray(getClass().getResourceAsStream(testResource)); + } + + @Override + public String getReleaseVersion() { + return tinkerpopVersion; + } + + @Override + public String getVersion() { + return graphBinaryVersion; + } + + @Override + public String getConfiguration() { + return configuration; + } + + @Override + public String toString() { + return tinkerpopVersion + "-" + configuration; + } +} diff --git a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/AbstractCompatibilityTest.java b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/AbstractCompatibilityTest.java index 99f2de0..b3c2266 100644 --- a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/AbstractCompatibilityTest.java +++ b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/AbstractCompatibilityTest.java @@ -22,6 +22,7 @@ import org.apache.tinkerpop.gremlin.structure.Edge; import org.apache.tinkerpop.gremlin.structure.Property; import org.apache.tinkerpop.gremlin.structure.Vertex; import org.apache.tinkerpop.gremlin.structure.VertexProperty; +import org.apache.tinkerpop.gremlin.structure.io.graphbinary.GraphBinaryCompatibility; import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils; import java.util.Iterator; @@ -51,17 +52,20 @@ public abstract class AbstractCompatibilityTest { protected void assertVertex(final Vertex expected, final Vertex actual) { assertEquals(expected.id(), actual.id()); assertEquals(expected.label(), actual.label()); - assertEquals(IteratorUtils.count(expected.properties()), IteratorUtils.count(actual.properties())); - for (String k : expected.keys()) { - final Iterator<VertexProperty<Object>> expectedVps = expected.properties(k); - final List<VertexProperty<Object>> actualVps = IteratorUtils.list(actual.properties(k)); - while (expectedVps.hasNext()) { - final VertexProperty expectedVp = expectedVps.next(); - final VertexProperty<Object> found = actualVps.stream() - .filter(vp -> vp.id().equals(expectedVp.id())) - .findFirst() - .orElseThrow(() -> new RuntimeException("Could not find VertexProperty for " + expectedVp.id())); - assertVertexProperty(expectedVp, found); + + if (!(getCompatibility() instanceof GraphBinaryCompatibility)) { + assertEquals(IteratorUtils.count(expected.properties()), IteratorUtils.count(actual.properties())); + for (String k : expected.keys()) { + final Iterator<VertexProperty<Object>> expectedVps = expected.properties(k); + final List<VertexProperty<Object>> actualVps = IteratorUtils.list(actual.properties(k)); + while (expectedVps.hasNext()) { + final VertexProperty expectedVp = expectedVps.next(); + final VertexProperty<Object> found = actualVps.stream() + .filter(vp -> vp.id().equals(expectedVp.id())) + .findFirst() + .orElseThrow(() -> new RuntimeException("Could not find VertexProperty for " + expectedVp.id())); + assertVertexProperty(expectedVp, found); + } } } } @@ -69,26 +73,31 @@ public abstract class AbstractCompatibilityTest { protected void assertEdge(final Edge expected, final Edge actual) { assertEquals(expected.id(), actual.id()); assertEquals(expected.label(), actual.label()); - assertEquals(IteratorUtils.count(expected.properties()), IteratorUtils.count(actual.properties())); assertEquals(expected.inVertex().id(), actual.inVertex().id()); assertEquals(expected.outVertex().id(), actual.outVertex().id()); assertEquals(expected.inVertex().label(), actual.inVertex().label()); assertEquals(expected.outVertex().label(), actual.outVertex().label()); - final Iterator<Property<Object>> itty = expected.properties(); - while(itty.hasNext()) { - final Property p = itty.next(); - assertProperty(p, actual.property(p.key())); + if (!(getCompatibility() instanceof GraphBinaryCompatibility)) { + assertEquals(IteratorUtils.count(expected.properties()), IteratorUtils.count(actual.properties())); + final Iterator<Property<Object>> itty = expected.properties(); + while(itty.hasNext()) { + final Property p = itty.next(); + assertProperty(p, actual.property(p.key())); + } } } protected void assertVertexProperty(final VertexProperty expected, final VertexProperty actual) { assertEquals(expected.id(), actual.id()); assertEquals(expected.label(), actual.label()); - assertEquals(IteratorUtils.count(expected.properties()), IteratorUtils.count(actual.properties())); - final Iterator<Property> itty = expected.properties(); - while(itty.hasNext()) { - final Property p = itty.next(); - assertProperty(p, actual.property(p.key())); + + if (!(getCompatibility() instanceof GraphBinaryCompatibility)) { + assertEquals(IteratorUtils.count(expected.properties()), IteratorUtils.count(actual.properties())); + final Iterator<Property> itty = expected.properties(); + while (itty.hasNext()) { + final Property p = itty.next(); + assertProperty(p, actual.property(p.key())); + } } } diff --git a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibilityTest.java b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibilityTest.java new file mode 100644 index 0000000..aa2ad0b --- /dev/null +++ b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibilityTest.java @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tinkerpop.gremlin.structure.io.graphbinary; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.ByteBufAllocator; +import io.netty.buffer.UnpooledDirectByteBuf; +import org.apache.commons.io.output.ByteArrayOutputStream; +import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryReader; +import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryWriter; +import org.apache.tinkerpop.gremlin.structure.io.AbstractTypedCompatibilityTest; +import org.apache.tinkerpop.gremlin.structure.io.Compatibility; +import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoCompatibility; +import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoMapper; +import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoVersion; +import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV2d0; +import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV3d0; +import org.apache.tinkerpop.shaded.kryo.Kryo; +import org.apache.tinkerpop.shaded.kryo.io.Input; +import org.apache.tinkerpop.shaded.kryo.io.Output; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.util.Arrays; + +/** + * @author Stephen Mallette (http://stephen.genoprime.com) + */ +@RunWith(Parameterized.class) +public class GraphBinaryCompatibilityTest extends AbstractTypedCompatibilityTest { + + private static final ByteBufAllocator allocator = ByteBufAllocator.DEFAULT; + private static final GraphBinaryWriter writerV1 = new GraphBinaryWriter(); + private static final GraphBinaryReader readerV1 = new GraphBinaryReader(); + + @Parameterized.Parameters(name = "expect({0})") + public static Iterable<Object[]> data() { + return Arrays.asList(new Object[][]{ + {GraphBinaryCompatibility.V1_3_4_3, readerV1, writerV1 } + }); + } + + @Parameterized.Parameter(value = 0) + public Compatibility compatibility; + + @Parameterized.Parameter(value = 1) + public GraphBinaryReader reader; + + @Parameterized.Parameter(value = 2) + public GraphBinaryWriter writer; + + @Override + public <T> T read(final byte[] bytes, final Class<T> clazz) throws Exception { + final ByteBuf buffer = allocator.buffer(); + buffer.writeBytes(bytes); + return reader.read(buffer); + } + + @Override + public byte[] write(final Object o, final Class<?> clazz) throws Exception { + final ByteBuf buffer = allocator.buffer(); + try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) { + writer.write(o, buffer); + buffer.readerIndex(0); + buffer.readBytes(stream, buffer.readableBytes()); + return stream.toByteArray(); + } + } + + @Override + public Compatibility getCompatibility() { + return compatibility; + } +} diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/barrier-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/barrier-v1.gbin new file mode 100644 index 0000000..f905861 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/barrier-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bigdecimal-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bigdecimal-v1.gbin new file mode 100644 index 0000000..921d957 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bigdecimal-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/biginteger-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/biginteger-v1.gbin new file mode 100644 index 0000000..d841fbe Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/biginteger-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/binding-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/binding-v1.gbin new file mode 100644 index 0000000..79620eb Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/binding-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bulkset-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bulkset-v1.gbin new file mode 100644 index 0000000..4542906 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bulkset-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/byte-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/byte-v1.gbin new file mode 100644 index 0000000..af9544f Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/byte-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bytebuffer-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bytebuffer-v1.gbin new file mode 100644 index 0000000..39793d2 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bytebuffer-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bytecode-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bytecode-v1.gbin new file mode 100644 index 0000000..bc76c2e Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/bytecode-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/cardinality-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/cardinality-v1.gbin new file mode 100644 index 0000000..3c875a5 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/cardinality-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/char-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/char-v1.gbin new file mode 100644 index 0000000..b9d97e6 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/char-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/class-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/class-v1.gbin new file mode 100644 index 0000000..6be272d Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/class-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/column-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/column-v1.gbin new file mode 100644 index 0000000..c6805c8 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/column-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/date-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/date-v1.gbin new file mode 100644 index 0000000..e68e17a Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/date-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/direction-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/direction-v1.gbin new file mode 100644 index 0000000..3caaba3 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/direction-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/double-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/double-v1.gbin new file mode 100644 index 0000000..e538a62 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/double-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/duration-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/duration-v1.gbin new file mode 100644 index 0000000..7ffa3ad Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/duration-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/edge-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/edge-v1.gbin new file mode 100644 index 0000000..086e85d Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/edge-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/float-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/float-v1.gbin new file mode 100644 index 0000000..322772c Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/float-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/inetaddress-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/inetaddress-v1.gbin new file mode 100644 index 0000000..b613ddb Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/inetaddress-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/instant-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/instant-v1.gbin new file mode 100644 index 0000000..3335532 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/instant-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/integer-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/integer-v1.gbin new file mode 100644 index 0000000..7dc246a Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/integer-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/lambda-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/lambda-v1.gbin new file mode 100644 index 0000000..b0e98f9 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/lambda-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/list-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/list-v1.gbin new file mode 100644 index 0000000..1aa405d Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/list-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/localdate-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/localdate-v1.gbin new file mode 100644 index 0000000..2c9e211 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/localdate-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/localdatetime-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/localdatetime-v1.gbin new file mode 100644 index 0000000..2e0c83c Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/localdatetime-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/localtime-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/localtime-v1.gbin new file mode 100644 index 0000000..05785c6 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/localtime-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/long-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/long-v1.gbin new file mode 100644 index 0000000..cee0083 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/long-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/map-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/map-v1.gbin new file mode 100644 index 0000000..46cd9e2 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/map-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/metrics-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/metrics-v1.gbin new file mode 100644 index 0000000..dea77a5 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/metrics-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/monthday-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/monthday-v1.gbin new file mode 100644 index 0000000..c128263 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/monthday-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/offsetdatetime-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/offsetdatetime-v1.gbin new file mode 100644 index 0000000..4b2aabb Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/offsetdatetime-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/offsettime-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/offsettime-v1.gbin new file mode 100644 index 0000000..a4c8c5b Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/offsettime-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/operator-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/operator-v1.gbin new file mode 100644 index 0000000..84717cc Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/operator-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/order-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/order-v1.gbin new file mode 100644 index 0000000..311b6ad Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/order-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/p-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/p-v1.gbin new file mode 100644 index 0000000..ac60799 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/p-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pand-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pand-v1.gbin new file mode 100644 index 0000000..3237c94 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pand-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/path-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/path-v1.gbin new file mode 100644 index 0000000..ba075ac Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/path-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/period-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/period-v1.gbin new file mode 100644 index 0000000..f7dab35 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/period-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pick-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pick-v1.gbin new file mode 100644 index 0000000..77aca2f Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pick-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pop-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pop-v1.gbin new file mode 100644 index 0000000..f698c94 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pop-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/por-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/por-v1.gbin new file mode 100644 index 0000000..7c0b3ab Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/por-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/property-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/property-v1.gbin new file mode 100644 index 0000000..ddc34e5 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/property-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pwithin-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pwithin-v1.gbin new file mode 100644 index 0000000..5ad30a9 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pwithin-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pwithout-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pwithout-v1.gbin new file mode 100644 index 0000000..5b195db Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/pwithout-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/scope-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/scope-v1.gbin new file mode 100644 index 0000000..534b956 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/scope-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/set-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/set-v1.gbin new file mode 100644 index 0000000..02df059 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/set-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/short-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/short-v1.gbin new file mode 100644 index 0000000..e1d2d7d Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/short-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/t-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/t-v1.gbin new file mode 100644 index 0000000..a6376db Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/t-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/textp-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/textp-v1.gbin new file mode 100644 index 0000000..c796468 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/textp-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/timestamp-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/timestamp-v1.gbin new file mode 100644 index 0000000..4fc4e5e Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/timestamp-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/tinkergraph-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/tinkergraph-v1.gbin new file mode 100644 index 0000000..a0a76d1 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/tinkergraph-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/traversalmetrics-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/traversalmetrics-v1.gbin new file mode 100644 index 0000000..c947e62 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/traversalmetrics-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/traverser-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/traverser-v1.gbin new file mode 100644 index 0000000..8e47cc0 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/traverser-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/uuid-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/uuid-v1.gbin new file mode 100644 index 0000000..7f1775d Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/uuid-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/vertex-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/vertex-v1.gbin new file mode 100644 index 0000000..7fb9d65 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/vertex-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/vertexproperty-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/vertexproperty-v1.gbin new file mode 100644 index 0000000..89f0329 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/vertexproperty-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/year-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/year-v1.gbin new file mode 100644 index 0000000..1fe0c74 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/year-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/yearmonth-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/yearmonth-v1.gbin new file mode 100644 index 0000000..481a121 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/yearmonth-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/zoneddatetime-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/zoneddatetime-v1.gbin new file mode 100644 index 0000000..32e2e8b Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/zoneddatetime-v1.gbin differ diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/zoneoffset-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/zoneoffset-v1.gbin new file mode 100644 index 0000000..2867c97 Binary files /dev/null and b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_3/zoneoffset-v1.gbin differ diff --git a/pom.xml b/pom.xml index d7340a9..00f8c27 100644 --- a/pom.xml +++ b/pom.xml @@ -375,6 +375,7 @@ limitations under the License. <exclude>**/target/**</exclude> <exclude>data/*.txt</exclude> <exclude>**/*.kryo</exclude> + <exclude>**/*.gbin</exclude> <exclude>**/*.iml</exclude> <exclude>**/*.json</exclude> <exclude>**/*.xml</exclude>
