You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by jo...@apache.org on 2019/10/11 09:47:38 UTC
[tinkerpop] 03/03: TINKERPOP-2035 Move to gremlin-core
This is an automated email from the ASF dual-hosted git repository.
jorgebg pushed a commit to branch TINKERPOP-2305
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 6e10bde76d24962be6caea188dbe86d5d3ecf57b
Author: Jorge Bay Gondra <jo...@gmail.com>
AuthorDate: Fri Oct 11 11:47:09 2019 +0200
TINKERPOP-2035 Move to gremlin-core
Move GraphBinaryReader and GraphBinaryWriter along with type
serializers to org.apache.tinkerpop.gremlin.structure.io.binary
namespace in gremlin-core.
---
CHANGELOG.asciidoc | 6 +++
docs/src/upgrade/release-3.4.x.asciidoc | 25 ++++++++++
.../gremlin/structure/io}/binary/DataType.java | 5 +-
.../structure/io}/binary/GraphBinaryIo.java | 5 +-
.../structure/io}/binary/GraphBinaryReader.java | 9 ++--
.../structure/io}/binary/GraphBinaryWriter.java | 17 +++----
.../structure/io}/binary/TypeSerializer.java | 13 ++---
.../io}/binary/TypeSerializerRegistry.java | 18 +++----
.../io}/binary/types/BigDecimalSerializer.java | 14 +++---
.../io}/binary/types/BigIntegerSerializer.java | 14 +++---
.../io}/binary/types/BindingSerializer.java | 15 +++---
.../io}/binary/types/BulkSetSerializer.java | 14 +++---
.../io}/binary/types/ByteBufferSerializer.java | 14 +++---
.../io}/binary/types/ByteCodeSerializer.java | 20 ++++----
.../structure/io}/binary/types/CharSerializer.java | 14 +++---
.../io}/binary/types/ClassSerializer.java | 15 +++---
.../io}/binary/types/CollectionSerializer.java | 14 +++---
.../io}/binary/types/CustomTypeSerializer.java | 4 +-
.../structure/io}/binary/types/DateSerializer.java | 8 ++--
.../io}/binary/types/DurationSerializer.java | 14 +++---
.../structure/io}/binary/types/EdgeSerializer.java | 15 +++---
.../structure/io}/binary/types/EnumSerializer.java | 14 +++---
.../io}/binary/types/GraphSerializer.java | 22 ++++-----
.../io}/binary/types/InetAddressSerializer.java | 16 +++----
.../io}/binary/types/InstantSerializer.java | 14 +++---
.../io}/binary/types/LambdaSerializer.java | 15 +++---
.../structure/io}/binary/types/ListSerializer.java | 14 +++---
.../io}/binary/types/LocalDateSerializer.java | 14 +++---
.../io}/binary/types/LocalDateTimeSerializer.java | 14 +++---
.../io}/binary/types/LocalTimeSerializer.java | 14 +++---
.../io}/binary/types/MapEntrySerializer.java | 16 +++----
.../structure/io}/binary/types/MapSerializer.java | 14 +++---
.../io}/binary/types/MetricsSerializer.java | 14 +++---
.../io}/binary/types/MonthDaySerializer.java | 14 +++---
.../io}/binary/types/OffsetDateTimeSerializer.java | 14 +++---
.../io}/binary/types/OffsetTimeSerializer.java | 14 +++---
.../structure/io}/binary/types/PSerializer.java | 22 ++++-----
.../structure/io}/binary/types/PathSerializer.java | 14 +++---
.../io}/binary/types/PeriodSerializer.java | 14 +++---
.../io}/binary/types/PropertySerializer.java | 15 +++---
.../structure/io}/binary/types/SetSerializer.java | 14 +++---
.../io}/binary/types/SimpleTypeSerializer.java | 31 ++++++------
.../io}/binary/types/SingleTypeSerializer.java | 8 ++--
.../io}/binary/types/StringSerializer.java | 8 ++--
.../io}/binary/types/TransformSerializer.java | 4 +-
.../types/TraversalExplanationSerializer.java | 16 +++----
.../binary/types/TraversalMetricsSerializer.java | 14 +++---
.../binary/types/TraversalStrategySerializer.java | 14 +++---
.../io}/binary/types/TraverserSerializer.java | 15 +++---
.../structure/io}/binary/types/TreeSerializer.java | 15 +++---
.../structure/io}/binary/types/UUIDSerializer.java | 8 ++--
.../io}/binary/types/VertexPropertySerializer.java | 15 +++---
.../io}/binary/types/VertexSerializer.java | 15 +++---
.../io}/binary/types/YearMonthSerializer.java | 14 +++---
.../io}/binary/types/ZoneOffsetSerializer.java | 14 +++---
.../io}/binary/types/ZonedDateTimeSerializer.java | 14 +++---
.../driver/ser/GraphBinaryMessageSerializerV1.java | 10 ++--
.../gremlin/driver/{ => ser}/NettyBuffer.java | 2 +-
.../driver/{ => ser}/NettyBufferFactory.java | 2 +-
.../ser/binary/RequestMessageSerializer.java | 47 +++++++++++-------
.../ser/binary/ResponseMessageSerializer.java | 55 +++++++++++++---------
.../binary/GraphBinaryMessageSerializerV1Test.java | 1 +
.../GraphBinaryReaderWriterRoundTripTest.java | 4 +-
.../ser/binary/TypeSerializerFailureTests.java | 7 +--
.../ser/binary/TypeSerializerRegistryTest.java | 19 +++++---
.../ser/binary/types/CharSerializerTest.java | 19 +++++---
.../types/sample/SamplePersonSerializer.java | 17 +++----
.../types/sample/SamplePersonSerializerTest.java | 22 ++++-----
.../driver/GraphBinaryReaderWriterBenchmark.java | 17 ++++---
.../gremlin/driver/SerializationBenchmark.java | 2 +-
.../scripts/generate-graphbinary-resources.groovy | 2 +-
.../graphbinary/GraphBinaryCompatibilityTest.java | 14 ++----
72 files changed, 547 insertions(+), 473 deletions(-)
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 58cfc85..8841204 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -20,6 +20,12 @@ limitations under the License.
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/avant-gremlin.png[width=185]
+[[release-3-4-5]]
+=== TinkerPop 3.4.5 (Release Date: NOT OFFICIALLY RELEASED YET)
+
+* GraphBinary: Introduced our own `Buffer` API as a way to wrap Netty's Buffer API. Moved `GraphBinaryReader`,
+`GraphBinaryWriter` and `TypeSerializer<T>` to gremlin-core.
+
[[release-3-4-4]]
=== TinkerPop 3.4.4 (Release Date: NOT OFFICIALLY RELEASED YET)
diff --git a/docs/src/upgrade/release-3.4.x.asciidoc b/docs/src/upgrade/release-3.4.x.asciidoc
index 37e5bde..98e1f6c 100644
--- a/docs/src/upgrade/release-3.4.x.asciidoc
+++ b/docs/src/upgrade/release-3.4.x.asciidoc
@@ -21,6 +21,31 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
*Avant-Gremlin Construction #3 for Theremin and Flowers*
+== TinkerPop 3.4.5
+
+*Release Date: NOT OFFICIALLY RELEASED YET*
+
+Please see the link:https://github.com/apache/tinkerpop/blob/3.4.5/CHANGELOG.asciidoc#release-3-4-5[changelog] for a
+complete list of all the modifications that are part of this release.
+
+=== Upgrading for Providers
+
+==== Graph Driver Providers
+
+===== GraphBinary API Change
+
+In GraphBinary serialization, Java `GraphBinaryReader` and `GraphBinaryWriter`, along with `TypeSerializer<T>`
+interface now take a `Buffer` instance instead of Netty's `ByteBuf`, that way we avoid exposing Netty's API in our own
+public API.
+
+Using our own `Buffer` interface, wrapping Netty's buffer API, allowed us to move `TypeSerializer<T>` implementations,
+the reader and the writer to `org.apache.tinkerpop.gremlin.structure.io.binary` package in `gremlin-core`.
+
+Additionally, `GraphBinaryReader` and `GraphBinaryWriter` methods now throw an java's `IOException`, instead of our
+own `SerializationException`.
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-2305[TINKERPOP-2305]
+
== TinkerPop 3.4.4
*Release Date: NOT OFFICIALLY RELEASED YET*
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/DataType.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/DataType.java
similarity index 96%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/DataType.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/DataType.java
index abde199..0159d4f 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/DataType.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/DataType.java
@@ -16,11 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary;
+package org.apache.tinkerpop.gremlin.structure.io.binary;
import java.util.HashMap;
import java.util.Map;
+/**
+ * Represents a GraphBinary data type.
+ */
public enum DataType {
INT(0x01),
LONG(0x02),
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryIo.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryIo.java
similarity index 93%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryIo.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryIo.java
index bb86b1e..9c3e655 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryIo.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryIo.java
@@ -16,9 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary;
+package org.apache.tinkerpop.gremlin.structure.io.binary;
-import org.apache.tinkerpop.gremlin.driver.MessageSerializer;
import org.apache.tinkerpop.gremlin.structure.io.GraphReader;
import org.apache.tinkerpop.gremlin.structure.io.GraphWriter;
import org.apache.tinkerpop.gremlin.structure.io.Io;
@@ -29,7 +28,7 @@ import java.io.IOException;
/**
* This is a dummy implementation of {@link Io} which is only used in the context of helping to configure a
- * GraphBinary {@link MessageSerializer} with an {@link IoRegistry}. It's methods are not implemented.
+ * GraphBinary {@code MessageSerializer} with an {@link IoRegistry}. It's methods are not implemented.
*
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReader.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryReader.java
similarity index 94%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReader.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryReader.java
index 1052d43..35129f7 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReader.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryReader.java
@@ -16,11 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary;
+package org.apache.tinkerpop.gremlin.structure.io.binary;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
+
/**
* Reads a value from a buffer using the {@link TypeSerializer} instances configured in the
* {@link TypeSerializerRegistry}.
@@ -65,7 +66,7 @@ public class GraphBinaryReader {
* <p>When the value is not nullable, the reader expects only the <code>{value}</code> to be contained in the
* buffer.</p>
*/
- public <T> T readValue(final Buffer buffer, final Class<T> type, final boolean nullable) throws SerializationException {
+ public <T> T readValue(final Buffer buffer, final Class<T> type, final boolean nullable) throws IOException {
if (buffer == null) {
throw new IllegalArgumentException("input cannot be null.");
} else if (type == null) {
@@ -79,7 +80,7 @@ public class GraphBinaryReader {
/**
* Reads the type code, information and value of a given buffer with fully-qualified format.
*/
- public <T> T read(final Buffer buffer) throws SerializationException {
+ public <T> T read(final Buffer buffer) throws IOException {
// Fully-qualified format: {type_code}{type_info}{value_flag}{value}
final DataType type = DataType.get(Byte.toUnsignedInt(buffer.readByte()));
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryWriter.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryWriter.java
similarity index 90%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryWriter.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryWriter.java
index 91d9aec..ab0b094 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryWriter.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryWriter.java
@@ -16,13 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary;
+package org.apache.tinkerpop.gremlin.structure.io.binary;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.types.CustomTypeSerializer;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.types.TransformSerializer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.types.CustomTypeSerializer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.types.TransformSerializer;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
+
/**
* Writes a value to a buffer using the {@link TypeSerializer} instances configured in the
* {@link TypeSerializerRegistry}.
@@ -59,10 +60,10 @@ public class GraphBinaryWriter {
/**
* Writes a value without including type information.
*/
- public <T> void writeValue(final T value, final Buffer buffer, final boolean nullable) throws SerializationException {
+ public <T> void writeValue(final T value, final Buffer buffer, final boolean nullable) throws IOException {
if (value == null) {
if (!nullable) {
- throw new SerializationException("Unexpected null value when nullable is false");
+ throw new IOException("Unexpected null value when nullable is false");
}
writeValueFlagNull(buffer);
@@ -78,7 +79,7 @@ public class GraphBinaryWriter {
/**
* Writes an object in fully-qualified format, containing {type_code}{type_info}{value_flag}{value}.
*/
- public <T> void write(final T value, final Buffer buffer) throws SerializationException {
+ public <T> void write(final T value, final Buffer buffer) throws IOException {
if (value == null) {
// return Object of type "unspecified object null" with the value flag set to null.
buffer.writeBytes(unspecifiedNullBytes);
@@ -116,7 +117,7 @@ public class GraphBinaryWriter {
* specified.
* <p>Note that for simple types, the provided information will be <code>null</code>.</p>
*/
- public <T> void writeFullyQualifiedNull(final Class<T> objectClass, Buffer buffer, final Object information) throws SerializationException {
+ public <T> void writeFullyQualifiedNull(final Class<T> objectClass, Buffer buffer, final Object information) throws IOException {
TypeSerializer<T> serializer = registry.getSerializer(objectClass);
serializer.write(null, buffer, this);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/TypeSerializer.java
similarity index 84%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/TypeSerializer.java
index 280933a..490d251 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/TypeSerializer.java
@@ -16,11 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary;
+package org.apache.tinkerpop.gremlin.structure.io.binary;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
+
/**
* Represents a serializer for a given type.
*/
@@ -34,7 +35,7 @@ public interface TypeSerializer<T> {
/**
* Reads the type information and value from the buffer and returns an instance of T.
*/
- T read(final Buffer buffer, final GraphBinaryReader context) throws SerializationException;
+ T read(final Buffer buffer, final GraphBinaryReader context) throws IOException;
/**
* Reads the value from the buffer (not the type information) and returns an instance of T.
@@ -43,15 +44,15 @@ public interface TypeSerializer<T> {
* information.
* </p>
*/
- T readValue(final Buffer buffer, final GraphBinaryReader context, final boolean nullable) throws SerializationException;
+ T readValue(final Buffer buffer, final GraphBinaryReader context, final boolean nullable) throws IOException;
/**
* Writes the type code, information and value to a buffer using the provided allocator.
*/
- void write(final T value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException;
+ void write(final T value, final Buffer buffer, final GraphBinaryWriter context) throws IOException;
/**
* Writes the value to a buffer, composed by the value flag and the sequence of bytes.
*/
- void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context, final boolean nullable) throws SerializationException;
+ void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context, final boolean nullable) throws IOException;
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerRegistry.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/TypeSerializerRegistry.java
similarity index 96%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerRegistry.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/TypeSerializerRegistry.java
index 9996aab..39aeaaf 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerRegistry.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/TypeSerializerRegistry.java
@@ -16,10 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary;
+package org.apache.tinkerpop.gremlin.structure.io.binary;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.types.*;
+import org.apache.tinkerpop.gremlin.structure.io.binary.types.*;
import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
import org.apache.tinkerpop.gremlin.process.traversal.Operator;
import org.apache.tinkerpop.gremlin.process.traversal.Order;
@@ -49,6 +48,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.apache.tinkerpop.gremlin.util.function.Lambda;
+import java.io.IOException;
import java.lang.reflect.Modifier;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -323,7 +323,7 @@ public class TypeSerializerRegistry {
}
}
- public <DT> TypeSerializer<DT> getSerializer(final Class<DT> type) throws SerializationException {
+ public <DT> TypeSerializer<DT> getSerializer(final Class<DT> type) throws IOException {
TypeSerializer<?> serializer = serializers.get(type);
if (null == serializer) {
@@ -366,7 +366,7 @@ public class TypeSerializerRegistry {
return (TypeSerializer<DT>) serializer;
}
- public <DT> TypeSerializer<DT> getSerializer(final DataType dataType) throws SerializationException {
+ public <DT> TypeSerializer<DT> getSerializer(final DataType dataType) throws IOException {
if (dataType == DataType.CUSTOM) {
throw new IllegalArgumentException("Custom type serializers can not be retrieved using this method");
}
@@ -377,19 +377,19 @@ public class TypeSerializerRegistry {
/**
* Gets the serializer for a given custom type name.
*/
- public <DT> CustomTypeSerializer<DT> getSerializerForCustomType(final String name) throws SerializationException {
+ public <DT> CustomTypeSerializer<DT> getSerializerForCustomType(final String name) throws IOException {
final CustomTypeSerializer serializer = serializersByCustomTypeName.get(name);
if (serializer == null) {
- throw new SerializationException(String.format("Serializer for custom type '%s' not found", name));
+ throw new IOException(String.format("Serializer for custom type '%s' not found", name));
}
return serializer;
}
- private static TypeSerializer validateInstance(final TypeSerializer serializer, final String typeName) throws SerializationException {
+ private static TypeSerializer validateInstance(final TypeSerializer serializer, final String typeName) throws IOException {
if (serializer == null) {
- throw new SerializationException(String.format("Serializer for type %s not found", typeName));
+ throw new IOException(String.format("Serializer for type %s not found", typeName));
}
return serializer;
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BigDecimalSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BigDecimalSerializer.java
similarity index 77%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BigDecimalSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BigDecimalSerializer.java
index e74dcde..ad8add1 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BigDecimalSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BigDecimalSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -36,14 +36,14 @@ public class BigDecimalSerializer extends SimpleTypeSerializer<BigDecimal> {
}
@Override
- protected BigDecimal readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected BigDecimal readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final int scale = context.readValue(buffer, Integer.class, false);
final BigInteger unscaled = context.readValue(buffer, BigInteger.class, false);
return new BigDecimal(unscaled, scale);
}
@Override
- protected void writeValue(final BigDecimal value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final BigDecimal value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.scale(), buffer, false);
context.writeValue(value.unscaledValue(), buffer, false);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BigIntegerSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BigIntegerSerializer.java
similarity index 76%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BigIntegerSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BigIntegerSerializer.java
index 435b5a6..ab877c7 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BigIntegerSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BigIntegerSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.math.BigInteger;
/**
@@ -36,14 +36,14 @@ public class BigIntegerSerializer extends SimpleTypeSerializer<BigInteger> {
}
@Override
- protected BigInteger readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected BigInteger readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final byte[] bigIntBytes = new byte[buffer.readInt()];
buffer.readBytes(bigIntBytes);
return new BigInteger(bigIntBytes);
}
@Override
- protected void writeValue(final BigInteger value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final BigInteger value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
final byte[] twosComplement = value.toByteArray();
buffer.writeInt(twosComplement.length).writeBytes(twosComplement);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BindingSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BindingSerializer.java
similarity index 76%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BindingSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BindingSerializer.java
index 1aa3bf6..1158358 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BindingSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BindingSerializer.java
@@ -16,15 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
+
/**
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
@@ -35,13 +36,13 @@ public class BindingSerializer extends SimpleTypeSerializer<Bytecode.Binding> {
}
@Override
- protected Bytecode.Binding readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Bytecode.Binding readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final String k = context.readValue(buffer, String.class, false);
return new Bytecode.Binding<>(k, context.read(buffer));
}
@Override
- protected void writeValue(final Bytecode.Binding value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Bytecode.Binding value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.variable(), buffer, false);
context.write(value.value(), buffer);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BulkSetSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BulkSetSerializer.java
similarity index 79%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BulkSetSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BulkSetSerializer.java
index db5eef9..7811f73 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/BulkSetSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/BulkSetSerializer.java
@@ -16,15 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.BulkSet;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.Map;
/**
@@ -36,7 +36,7 @@ public class BulkSetSerializer extends SimpleTypeSerializer<BulkSet> {
}
@Override
- protected BulkSet readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected BulkSet readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final int length = buffer.readInt();
final BulkSet result = new BulkSet();
@@ -48,7 +48,7 @@ public class BulkSetSerializer extends SimpleTypeSerializer<BulkSet> {
}
@Override
- protected void writeValue(final BulkSet value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final BulkSet value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
final Map<Object,Long> raw = value.asBulk();
buffer.writeInt(raw.size());
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ByteBufferSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ByteBufferSerializer.java
similarity index 76%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ByteBufferSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ByteBufferSerializer.java
index 4d2c162..4e613ce 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ByteBufferSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ByteBufferSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.nio.ByteBuffer;
/**
@@ -36,7 +36,7 @@ public class ByteBufferSerializer extends SimpleTypeSerializer<ByteBuffer> {
}
@Override
- protected ByteBuffer readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected ByteBuffer readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final ByteBuffer bb = ByteBuffer.allocate(buffer.readInt());
buffer.readBytes(bb);
bb.rewind();
@@ -44,7 +44,7 @@ public class ByteBufferSerializer extends SimpleTypeSerializer<ByteBuffer> {
}
@Override
- protected void writeValue(final ByteBuffer value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final ByteBuffer value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
final byte[] bytes = value.array();
buffer.writeInt(bytes.length).writeBytes(bytes);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ByteCodeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ByteCodeSerializer.java
similarity index 83%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ByteCodeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ByteCodeSerializer.java
index 4e34a9b..bf890f9 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ByteCodeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ByteCodeSerializer.java
@@ -16,15 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.List;
public class ByteCodeSerializer extends SimpleTypeSerializer<Bytecode> {
@@ -33,7 +33,7 @@ public class ByteCodeSerializer extends SimpleTypeSerializer<Bytecode> {
}
@Override
- protected Bytecode readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Bytecode readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final Bytecode result = new Bytecode();
final int stepsLength = buffer.readInt();
@@ -49,7 +49,7 @@ public class ByteCodeSerializer extends SimpleTypeSerializer<Bytecode> {
return result;
}
- private static Object[] getInstructionArguments(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ private static Object[] getInstructionArguments(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final int valuesLength = buffer.readInt();
final Object[] values = new Object[valuesLength];
for (int j = 0; j < valuesLength; j++) {
@@ -59,7 +59,7 @@ public class ByteCodeSerializer extends SimpleTypeSerializer<Bytecode> {
}
@Override
- protected void writeValue(final Bytecode value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Bytecode value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
final List<Bytecode.Instruction> steps = value.getStepInstructions();
final List<Bytecode.Instruction> sources = value.getSourceInstructions();
// 2 buffers for the length + plus 2 buffers per each step and source
@@ -69,7 +69,7 @@ public class ByteCodeSerializer extends SimpleTypeSerializer<Bytecode> {
}
private void writeInstructions(final Buffer buffer, final GraphBinaryWriter context,
- final List<Bytecode.Instruction> instructions) throws SerializationException {
+ final List<Bytecode.Instruction> instructions) throws IOException {
context.writeValue(instructions.size(), buffer, false);
@@ -79,7 +79,7 @@ public class ByteCodeSerializer extends SimpleTypeSerializer<Bytecode> {
}
}
- private static void fillArgumentsBuffer(final Object[] arguments, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ private static void fillArgumentsBuffer(final Object[] arguments, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(arguments.length, buffer, false);
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CharSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CharSerializer.java
similarity index 82%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CharSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CharSerializer.java
index 6a06fcb..89110b7 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CharSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CharSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class CharSerializer extends SimpleTypeSerializer<Character> {
@@ -32,7 +32,7 @@ public class CharSerializer extends SimpleTypeSerializer<Character> {
}
@Override
- protected Character readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Character readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final int firstByte = buffer.readByte() & 0xff;
int byteLength = 1;
// A byte with the first byte ON (10000000) signals that more bytes are needed to represent the UTF-8 char
@@ -59,7 +59,7 @@ public class CharSerializer extends SimpleTypeSerializer<Character> {
}
@Override
- protected void writeValue(final Character value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Character value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
final String stringValue = Character.toString(value);
buffer.writeBytes(stringValue.getBytes(StandardCharsets.UTF_8));
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ClassSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ClassSerializer.java
similarity index 75%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ClassSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ClassSerializer.java
index 1e0a8a5..0b83287 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ClassSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ClassSerializer.java
@@ -16,21 +16,22 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
+
public class ClassSerializer extends SimpleTypeSerializer<Class> {
public ClassSerializer() {
super(DataType.CLASS);
}
@Override
- protected Class readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Class readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final String name = context.readValue(buffer, String.class, false);
try {
return Class.forName(name);
@@ -40,7 +41,7 @@ public class ClassSerializer extends SimpleTypeSerializer<Class> {
}
@Override
- protected void writeValue(final Class value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Class value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.getName(), buffer, false);
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CollectionSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CollectionSerializer.java
similarity index 77%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CollectionSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CollectionSerializer.java
index a951bbf..b5020bd 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CollectionSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CollectionSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
@@ -33,7 +33,7 @@ class CollectionSerializer extends SimpleTypeSerializer<Collection> {
}
@Override
- protected Collection readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Collection readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final int length = buffer.readInt();
final ArrayList result = new ArrayList(length);
@@ -45,7 +45,7 @@ class CollectionSerializer extends SimpleTypeSerializer<Collection> {
}
@Override
- protected void writeValue(final Collection value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Collection value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeInt(value.size());
for (Object item : value) {
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CustomTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CustomTypeSerializer.java
similarity index 88%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CustomTypeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CustomTypeSerializer.java
index d718bce..017e75d 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CustomTypeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CustomTypeSerializer.java
@@ -16,9 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.TypeSerializer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.TypeSerializer;
/**
* Represents a serializer for a custom (provider specific) serializer.
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/DateSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/DateSerializer.java
similarity index 86%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/DateSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/DateSerializer.java
index f999591..1487383 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/DateSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/DateSerializer.java
@@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import java.sql.Timestamp;
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/DurationSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/DurationSerializer.java
similarity index 75%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/DurationSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/DurationSerializer.java
index 7844554..9c0b526 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/DurationSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/DurationSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.Duration;
/**
@@ -35,12 +35,12 @@ public class DurationSerializer extends SimpleTypeSerializer<Duration> {
}
@Override
- protected Duration readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Duration readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return Duration.ofSeconds(buffer.readLong(), buffer.readInt());
}
@Override
- protected void writeValue(final Duration value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Duration value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeLong(value.getSeconds()).writeInt(value.getNano());
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/EdgeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EdgeSerializer.java
similarity index 87%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/EdgeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EdgeSerializer.java
index 9769131..de88180 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/EdgeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EdgeSerializer.java
@@ -16,17 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceEdge;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertex;
+import java.io.IOException;
+
/**
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
@@ -36,7 +37,7 @@ public class EdgeSerializer extends SimpleTypeSerializer<Edge> {
}
@Override
- protected Edge readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Edge readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final Object id = context.read(buffer);
final String label = context.readValue(buffer, String.class, false);
@@ -57,7 +58,7 @@ public class EdgeSerializer extends SimpleTypeSerializer<Edge> {
}
@Override
- protected void writeValue(final Edge value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Edge value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.write(value.id(), buffer);
context.writeValue(value.label(), buffer, false);
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/EnumSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EnumSerializer.java
similarity index 88%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/EnumSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EnumSerializer.java
index 57f01cc..12e2d15 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/EnumSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EnumSerializer.java
@@ -16,12 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.Operator;
import org.apache.tinkerpop.gremlin.process.traversal.Order;
import org.apache.tinkerpop.gremlin.process.traversal.Pop;
@@ -34,6 +33,7 @@ import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.function.Function;
/**
@@ -62,12 +62,12 @@ public class EnumSerializer<E extends Enum> extends SimpleTypeSerializer<E> {
}
@Override
- protected E readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected E readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return readFunc.apply(context.read(buffer));
}
@Override
- protected void writeValue(final E value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final E value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.write(value.name(), buffer);
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/GraphSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/GraphSerializer.java
similarity index 91%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/GraphSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/GraphSerializer.java
index ad69869..d627f18 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/GraphSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/GraphSerializer.java
@@ -16,14 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
import org.apache.commons.configuration.BaseConfiguration;
import org.apache.commons.configuration.Configuration;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.Property;
@@ -33,6 +32,7 @@ import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
+import java.io.IOException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
@@ -51,10 +51,10 @@ public class GraphSerializer extends SimpleTypeSerializer<Graph> {
}
@Override
- protected Graph readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Graph readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
if (null == openMethod)
- throw new SerializationException("TinkerGraph is an optional dependency to gremlin-driver - if deserializing Graph instances it must be explicitly added as a dependency");
+ throw new IOException("TinkerGraph is an optional dependency to gremlin-driver - if deserializing Graph instances it must be explicitly added as a dependency");
final Configuration conf = new BaseConfiguration();
conf.setProperty("gremlin.tinkergraph.defaultVertexPropertyCardinality", "list");
@@ -103,12 +103,12 @@ public class GraphSerializer extends SimpleTypeSerializer<Graph> {
return graph;
} catch (Exception ex) {
// famous last words - can't happen
- throw new SerializationException(ex);
+ throw new IOException(ex);
}
}
@Override
- protected void writeValue(final Graph value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Graph value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
// this kinda looks scary memory-wise, but GraphBinary is about network derser so we are dealing with a
// graph instance that should live in memory already - not expecting "big" stuff here.
final List<Vertex> vertexList = IteratorUtils.list(value.vertices());
@@ -127,7 +127,7 @@ public class GraphSerializer extends SimpleTypeSerializer<Graph> {
}
}
- private void writeVertex(Buffer buffer, GraphBinaryWriter context, Vertex vertex) throws SerializationException {
+ private void writeVertex(Buffer buffer, GraphBinaryWriter context, Vertex vertex) throws IOException {
final List<VertexProperty<Object>> vertexProperties = IteratorUtils.list(vertex.properties());
context.write(vertex.id(), buffer);
@@ -147,7 +147,7 @@ public class GraphSerializer extends SimpleTypeSerializer<Graph> {
}
}
- private void writeEdge(Buffer buffer, GraphBinaryWriter context, Edge edge) throws SerializationException {
+ private void writeEdge(Buffer buffer, GraphBinaryWriter context, Edge edge) throws IOException {
context.write(edge.id(), buffer);
context.writeValue(edge.label(), buffer, false);
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/InetAddressSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/InetAddressSerializer.java
similarity index 75%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/InetAddressSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/InetAddressSerializer.java
index 08de390..c6153c4 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/InetAddressSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/InetAddressSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -36,7 +36,7 @@ public class InetAddressSerializer<T extends InetAddress> extends SimpleTypeSeri
}
@Override
- protected T readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected T readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final int length = buffer.readInt();
final byte[] bytes = new byte[length];
buffer.readBytes(bytes);
@@ -44,12 +44,12 @@ public class InetAddressSerializer<T extends InetAddress> extends SimpleTypeSeri
try {
return (T) InetAddress.getByAddress(bytes);
} catch (UnknownHostException uhe) {
- throw new SerializationException("Cannot deserialize InetAddress value", uhe);
+ throw new IOException("Cannot deserialize InetAddress value", uhe);
}
}
@Override
- protected void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
final byte[] bytes = value.getAddress();
buffer.writeInt(bytes.length).writeBytes(bytes);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/InstantSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/InstantSerializer.java
similarity index 75%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/InstantSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/InstantSerializer.java
index 62bcbfc..ce0b87b 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/InstantSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/InstantSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.Instant;
/**
@@ -35,12 +35,12 @@ public class InstantSerializer extends SimpleTypeSerializer<Instant> {
}
@Override
- protected Instant readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Instant readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return Instant.ofEpochSecond(buffer.readLong(), buffer.readInt());
}
@Override
- protected void writeValue(final Instant value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Instant value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeLong(value.getEpochSecond()).writeInt(value.getNano());
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LambdaSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LambdaSerializer.java
similarity index 81%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LambdaSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LambdaSerializer.java
index f72e478..50cbb52 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LambdaSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LambdaSerializer.java
@@ -16,15 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.apache.tinkerpop.gremlin.util.function.Lambda;
+import java.io.IOException;
+
/**
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
@@ -34,7 +35,7 @@ public class LambdaSerializer extends SimpleTypeSerializer<Lambda> {
}
@Override
- protected Lambda readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Lambda readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final String lang = context.readValue(buffer, String.class, false);
final String script = context.readValue(buffer, String.class, false);
final int args = context.readValue(buffer, Integer.class, false);
@@ -50,7 +51,7 @@ public class LambdaSerializer extends SimpleTypeSerializer<Lambda> {
}
@Override
- protected void writeValue(final Lambda value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Lambda value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.getLambdaLanguage(), buffer, false);
context.writeValue(value.getLambdaScript(), buffer, false);
context.writeValue(value.getLambdaArguments(), buffer, false);
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ListSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ListSerializer.java
similarity index 76%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ListSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ListSerializer.java
index 49e5061..74ac14b 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ListSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ListSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.List;
public class ListSerializer extends SimpleTypeSerializer<List> {
@@ -34,13 +34,13 @@ public class ListSerializer extends SimpleTypeSerializer<List> {
}
@Override
- protected List readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected List readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
// The collection is a List<>
return (List) collectionSerializer.readValue(buffer, context);
}
@Override
- protected void writeValue(final List value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final List value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
collectionSerializer.writeValue(value, buffer, context);
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LocalDateSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LocalDateSerializer.java
similarity index 75%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LocalDateSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LocalDateSerializer.java
index 560d98b..46a3a02 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LocalDateSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LocalDateSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.LocalDate;
/**
@@ -35,12 +35,12 @@ public class LocalDateSerializer extends SimpleTypeSerializer<LocalDate> {
}
@Override
- protected LocalDate readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected LocalDate readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return LocalDate.of(buffer.readInt(), buffer.readByte(), buffer.readByte());
}
@Override
- protected void writeValue(final LocalDate value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final LocalDate value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeInt(value.getYear()).writeByte(value.getMonthValue()).writeByte(value.getDayOfMonth());
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LocalDateTimeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LocalDateTimeSerializer.java
similarity index 77%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LocalDateTimeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LocalDateTimeSerializer.java
index 8971cc6..c3e92c8 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LocalDateTimeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LocalDateTimeSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@@ -37,13 +37,13 @@ public class LocalDateTimeSerializer extends SimpleTypeSerializer<LocalDateTime>
}
@Override
- protected LocalDateTime readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected LocalDateTime readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return LocalDateTime.of(context.readValue(buffer, LocalDate.class, false),
context.readValue(buffer, LocalTime.class, false));
}
@Override
- protected void writeValue(final LocalDateTime value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final LocalDateTime value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.toLocalDate(), buffer, false);
context.writeValue(value.toLocalTime(), buffer, false);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LocalTimeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LocalTimeSerializer.java
similarity index 74%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LocalTimeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LocalTimeSerializer.java
index e2639ce..bb654ac 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/LocalTimeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/LocalTimeSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.LocalTime;
/**
@@ -35,12 +35,12 @@ public class LocalTimeSerializer extends SimpleTypeSerializer<LocalTime> {
}
@Override
- protected LocalTime readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected LocalTime readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return LocalTime.ofNanoOfDay(buffer.readLong());
}
@Override
- protected void writeValue(final LocalTime value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final LocalTime value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeLong(value.toNanoOfDay());
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MapEntrySerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MapEntrySerializer.java
similarity index 71%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MapEntrySerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MapEntrySerializer.java
index e521371..e8a28d6 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MapEntrySerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MapEntrySerializer.java
@@ -16,13 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-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.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@@ -32,13 +32,13 @@ public class MapEntrySerializer extends SimpleTypeSerializer<Map.Entry> implemen
}
@Override
- protected Map.Entry readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
- throw new SerializationException("A map entry should not be read individually");
+ protected Map.Entry readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
+ throw new IOException("A map entry should not be read individually");
}
@Override
- protected void writeValue(final Map.Entry value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
- throw new SerializationException("A map entry should not be written individually");
+ protected void writeValue(final Map.Entry value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
+ throw new IOException("A map entry should not be written individually");
}
@Override
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MapSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MapSerializer.java
similarity index 78%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MapSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MapSerializer.java
index 9ece182..c2b95d0 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MapSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MapSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
@@ -34,7 +34,7 @@ public class MapSerializer extends SimpleTypeSerializer<Map> {
}
@Override
- protected Map readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Map readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final int length = buffer.readInt();
final Map<Object,Object> result = new LinkedHashMap<>(length);
@@ -46,7 +46,7 @@ public class MapSerializer extends SimpleTypeSerializer<Map> {
}
@Override
- protected void writeValue(final Map value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Map value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeInt(value.size());
for (Map.Entry entry : (Set<Map.Entry>) value.entrySet()) {
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MetricsSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MetricsSerializer.java
similarity index 85%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MetricsSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MetricsSerializer.java
index 5734c48..bedf2cb 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MetricsSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MetricsSerializer.java
@@ -16,16 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.util.Metrics;
import org.apache.tinkerpop.gremlin.process.traversal.util.MutableMetrics;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.Collection;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@@ -38,7 +38,7 @@ public class MetricsSerializer extends SimpleTypeSerializer<Metrics> {
}
@Override
- protected Metrics readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Metrics readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
// Consider using a custom implementation, like "DefaultMetrics"
final MutableMetrics result = new MutableMetrics(
context.readValue(buffer, String.class, false),
@@ -54,7 +54,7 @@ public class MetricsSerializer extends SimpleTypeSerializer<Metrics> {
}
@Override
- protected void writeValue(final Metrics value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Metrics value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.getId(), buffer, false);
context.writeValue(value.getName(), buffer, false);
context.writeValue(value.getDuration(TimeUnit.NANOSECONDS), buffer, false);
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MonthDaySerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MonthDaySerializer.java
similarity index 75%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MonthDaySerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MonthDaySerializer.java
index 046b0f2..32c2c92 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/MonthDaySerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/MonthDaySerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.MonthDay;
/**
@@ -35,12 +35,12 @@ public class MonthDaySerializer extends SimpleTypeSerializer<MonthDay> {
}
@Override
- protected MonthDay readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected MonthDay readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return MonthDay.of(buffer.readByte(), buffer.readByte());
}
@Override
- protected void writeValue(final MonthDay value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final MonthDay value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeByte(value.getMonthValue()).writeByte(value.getDayOfMonth());
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/OffsetDateTimeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/OffsetDateTimeSerializer.java
similarity index 77%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/OffsetDateTimeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/OffsetDateTimeSerializer.java
index 7e09082..90b1c79 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/OffsetDateTimeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/OffsetDateTimeSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
@@ -37,14 +37,14 @@ public class OffsetDateTimeSerializer extends SimpleTypeSerializer<OffsetDateTim
}
@Override
- protected OffsetDateTime readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected OffsetDateTime readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final LocalDateTime ldt = context.readValue(buffer, LocalDateTime.class, false);
final ZoneOffset zo = context.readValue(buffer, ZoneOffset.class, false);
return OffsetDateTime.of(ldt, zo);
}
@Override
- protected void writeValue(final OffsetDateTime value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final OffsetDateTime value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.toLocalDateTime(), buffer, false);
context.writeValue(value.getOffset(), buffer, false);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/OffsetTimeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/OffsetTimeSerializer.java
similarity index 77%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/OffsetTimeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/OffsetTimeSerializer.java
index 052ecfb..f4dcfe6 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/OffsetTimeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/OffsetTimeSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.LocalTime;
import java.time.OffsetTime;
import java.time.ZoneOffset;
@@ -37,14 +37,14 @@ public class OffsetTimeSerializer extends SimpleTypeSerializer<OffsetTime> {
}
@Override
- protected OffsetTime readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected OffsetTime readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final LocalTime ldt = context.readValue(buffer, LocalTime.class, false);
final ZoneOffset zo = context.readValue(buffer, ZoneOffset.class, false);
return OffsetTime.of(ldt, zo);
}
@Override
- protected void writeValue(final OffsetTime value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final OffsetTime value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.toLocalTime(), buffer, false);
context.writeValue(value.getOffset(), buffer, false);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PSerializer.java
similarity index 89%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PSerializer.java
index fc092cf..e5ea3e3 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PSerializer.java
@@ -16,17 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.P;
import org.apache.tinkerpop.gremlin.process.traversal.util.AndP;
import org.apache.tinkerpop.gremlin.process.traversal.util.ConnectiveP;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
@@ -53,7 +53,7 @@ public class PSerializer<T extends P> extends SimpleTypeSerializer<T> {
}
@Override
- protected T readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected T readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final String predicateName = context.readValue(buffer, String.class, false);
final int length = context.readValue(buffer, Integer.class, false);
final Object[] args = new Object[length];
@@ -75,11 +75,11 @@ public class PSerializer<T extends P> extends SimpleTypeSerializer<T> {
try {
return f.apply(args);
} catch (Exception ex) {
- throw new SerializationException(String.format("Can't deserialize value into the predicate: '%s'", predicateName), ex);
+ throw new IOException(String.format("Can't deserialize value into the predicate: '%s'", predicateName), ex);
}
}
- private CheckedFunction getMethod(final String predicateName, final Class<?>[] argumentClasses) throws SerializationException {
+ private CheckedFunction getMethod(final String predicateName, final Class<?>[] argumentClasses) throws IOException {
final PFunctionId id = new PFunctionId(predicateName, argumentClasses);
CheckedFunction<Object[], T> result = methods.get(id);
@@ -104,7 +104,7 @@ public class PSerializer<T extends P> extends SimpleTypeSerializer<T> {
try {
m = classOfP.getMethod(predicateName, Object.class, Object.class);
} catch (NoSuchMethodException ex3) {
- throw new SerializationException(String.format("Can't find predicate method: '%s'", predicateName), ex2);
+ throw new IOException(String.format("Can't find predicate method: '%s'", predicateName), ex2);
}
}
}
@@ -141,7 +141,7 @@ public class PSerializer<T extends P> extends SimpleTypeSerializer<T> {
methods.put(id, result);
} catch (Exception ex) {
- throw new SerializationException(ex);
+ throw new IOException(ex);
}
}
@@ -149,7 +149,7 @@ public class PSerializer<T extends P> extends SimpleTypeSerializer<T> {
}
@Override
- protected void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
// the predicate name is either a static method of P or an instance method when a type ConnectiveP
final boolean isConnectedP = value instanceof ConnectiveP;
final String predicateName = isConnectedP ?
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PathSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PathSerializer.java
similarity index 82%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PathSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PathSerializer.java
index bdc6fe2..b59436c 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PathSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PathSerializer.java
@@ -16,17 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.Path;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.MutablePath;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceFactory;
+import java.io.IOException;
import java.util.List;
import java.util.Set;
@@ -40,7 +40,7 @@ public class PathSerializer extends SimpleTypeSerializer<Path> {
}
@Override
- protected Path readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Path readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final MutablePath path = (MutablePath) MutablePath.make();
final List<Set<String>> labels = context.read(buffer);
final List<Object> objects = context.read(buffer);
@@ -56,7 +56,7 @@ public class PathSerializer extends SimpleTypeSerializer<Path> {
}
@Override
- protected void writeValue(final Path value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Path value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.write(value.labels(), buffer);
context.write(value.objects(), buffer);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PeriodSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PeriodSerializer.java
similarity index 75%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PeriodSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PeriodSerializer.java
index 1f58c09..267e2cb 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PeriodSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PeriodSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.Period;
/**
@@ -35,12 +35,12 @@ public class PeriodSerializer extends SimpleTypeSerializer<Period> {
}
@Override
- protected Period readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Period readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return Period.of(buffer.readInt(), buffer.readInt(), buffer.readInt());
}
@Override
- protected void writeValue(final Period value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Period value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeInt(value.getYears()).writeInt(value.getMonths()).writeInt(value.getDays());
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PropertySerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PropertySerializer.java
similarity index 79%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PropertySerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PropertySerializer.java
index 7092ff8..cfa22ef 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/PropertySerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/PropertySerializer.java
@@ -16,16 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.Property;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceProperty;
+import java.io.IOException;
+
/**
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
@@ -36,7 +37,7 @@ public class PropertySerializer extends SimpleTypeSerializer<Property> {
}
@Override
- protected Property readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Property readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final Property p = new ReferenceProperty<>(context.readValue(buffer, String.class, false), context.read(buffer));
// discard the parent element as it's not serialized for references right now
@@ -45,7 +46,7 @@ public class PropertySerializer extends SimpleTypeSerializer<Property> {
}
@Override
- protected void writeValue(final Property value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Property value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.key(), buffer, false);
context.write(value.value(), buffer);
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/SetSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/SetSerializer.java
similarity index 76%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/SetSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/SetSerializer.java
index 1f7e6cd..9a7a739 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/SetSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/SetSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
@@ -35,12 +35,12 @@ public class SetSerializer extends SimpleTypeSerializer<Set>{
}
@Override
- protected Set readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Set readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return new HashSet<>(collectionSerializer.readValue(buffer, context));
}
@Override
- protected void writeValue(final Set value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Set value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
collectionSerializer.writeValue(value, buffer, context);
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/SimpleTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/SimpleTypeSerializer.java
similarity index 74%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/SimpleTypeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/SimpleTypeSerializer.java
index 053b1b9..36a0f93 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/SimpleTypeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/SimpleTypeSerializer.java
@@ -16,15 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryReader;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryWriter;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.TypeSerializer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
+import org.apache.tinkerpop.gremlin.structure.io.binary.TypeSerializer;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
+
/**
* Base class for serialization of types that don't contain type specific information only {type_code}, {value_flag}
* and {value}.
@@ -41,13 +42,13 @@ public abstract class SimpleTypeSerializer<T> implements TypeSerializer<T> {
}
@Override
- public T read(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ public T read(final Buffer buffer, final GraphBinaryReader context) throws IOException {
// No {type_info}, just {value_flag}{value}
return readValue(buffer, context, true);
}
@Override
- public T readValue(final Buffer buffer, final GraphBinaryReader context, final boolean nullable) throws SerializationException {
+ public T readValue(final Buffer buffer, final GraphBinaryReader context, final boolean nullable) throws IOException {
if (nullable) {
final byte valueFlag = buffer.readByte();
if ((valueFlag & 1) == 1) {
@@ -63,20 +64,20 @@ public abstract class SimpleTypeSerializer<T> implements TypeSerializer<T> {
* @param buffer A buffer which reader index has been set to the beginning of the {value}.
* @param context The binary writer.
* @return
- * @throws SerializationException
+ * @throws IOException
*/
- protected abstract T readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException;
+ protected abstract T readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException;
@Override
- public void write(final T value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ public void write(final T value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
writeValue(value, buffer, context, true);
}
@Override
- public void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context, final boolean nullable) throws SerializationException {
+ public void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context, final boolean nullable) throws IOException {
if (value == null) {
if (!nullable) {
- throw new SerializationException("Unexpected null value when nullable is false");
+ throw new IOException("Unexpected null value when nullable is false");
}
context.writeValueFlagNull(buffer);
@@ -95,7 +96,7 @@ public abstract class SimpleTypeSerializer<T> implements TypeSerializer<T> {
* @param value A non-nullable value.
* @param buffer The buffer allocator to use.
* @param context The binary writer.
- * @throws SerializationException
+ * @throws IOException
*/
- protected abstract void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException;
+ protected abstract void writeValue(final T value, final Buffer buffer, final GraphBinaryWriter context) throws IOException;
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/SingleTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/SingleTypeSerializer.java
similarity index 92%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/SingleTypeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/SingleTypeSerializer.java
index 13223f7..e8dfb5c 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/SingleTypeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/SingleTypeSerializer.java
@@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import java.time.Year;
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/StringSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/StringSerializer.java
similarity index 85%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/StringSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/StringSerializer.java
index f5a1f7e..c90c5e1 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/StringSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/StringSerializer.java
@@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import java.nio.charset.StandardCharsets;
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TransformSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TransformSerializer.java
similarity index 88%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TransformSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TransformSerializer.java
index cc97577..97ccbba 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TransformSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TransformSerializer.java
@@ -16,9 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.TypeSerializer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.TypeSerializer;
/**
* Represents a special TypeSerializer placeholder that transforms the value into another before serializing it.
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraversalExplanationSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraversalExplanationSerializer.java
similarity index 83%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraversalExplanationSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraversalExplanationSerializer.java
index 0b8d4c7..5c8d8bd 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraversalExplanationSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraversalExplanationSerializer.java
@@ -16,17 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-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.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalExplanation;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.javatuples.Pair;
+import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -45,13 +45,13 @@ public class TraversalExplanationSerializer extends SimpleTypeSerializer<Travers
}
@Override
- protected TraversalExplanation readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
- throw new SerializationException("A TraversalExplanation should not be read individually");
+ protected TraversalExplanation readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
+ throw new IOException("A TraversalExplanation should not be read individually");
}
@Override
- protected void writeValue(final TraversalExplanation value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
- throw new SerializationException("A TraversalExplanation should not be written individually");
+ protected void writeValue(final TraversalExplanation value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
+ throw new IOException("A TraversalExplanation should not be written individually");
}
/**
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraversalMetricsSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraversalMetricsSerializer.java
similarity index 81%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraversalMetricsSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraversalMetricsSerializer.java
index 8f0e9cc..ff7b360 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraversalMetricsSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraversalMetricsSerializer.java
@@ -16,17 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversalMetrics;
import org.apache.tinkerpop.gremlin.process.traversal.util.MutableMetrics;
import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -39,14 +39,14 @@ public class TraversalMetricsSerializer extends SimpleTypeSerializer<TraversalMe
}
@Override
- protected TraversalMetrics readValue(Buffer buffer, GraphBinaryReader context) throws SerializationException {
+ protected TraversalMetrics readValue(Buffer buffer, GraphBinaryReader context) throws IOException {
Long durationNanos = context.readValue(buffer, Long.class, false);
final List<MutableMetrics> metrics = new ArrayList<>(collectionSerializer.readValue(buffer, context));
return new DefaultTraversalMetrics(durationNanos, metrics);
}
@Override
- protected void writeValue(TraversalMetrics value, Buffer buffer, GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(TraversalMetrics value, Buffer buffer, GraphBinaryWriter context) throws IOException {
context.writeValue(value.getDuration(TimeUnit.NANOSECONDS), buffer, false);
collectionSerializer.writeValue(value.getMetrics(), buffer, context);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraversalStrategySerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraversalStrategySerializer.java
similarity index 84%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraversalStrategySerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraversalStrategySerializer.java
index 006a2e3..38ea9c9 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraversalStrategySerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraversalStrategySerializer.java
@@ -16,19 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
import org.apache.commons.configuration.ConfigurationConverter;
import org.apache.commons.configuration.MapConfiguration;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
import org.apache.tinkerpop.gremlin.process.traversal.strategy.TraversalStrategyProxy;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -42,7 +42,7 @@ public class TraversalStrategySerializer extends SimpleTypeSerializer<TraversalS
}
@Override
- protected TraversalStrategy readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected TraversalStrategy readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final Class<TraversalStrategy> clazz = context.readValue(buffer, Class.class, false);
final Map config = context.readValue(buffer, Map.class, false);
@@ -50,7 +50,7 @@ public class TraversalStrategySerializer extends SimpleTypeSerializer<TraversalS
}
@Override
- protected void writeValue(final TraversalStrategy value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final TraversalStrategy value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.getClass(), buffer, false);
context.writeValue(translateToBytecode(ConfigurationConverter.getMap(value.getConfiguration())), buffer, false);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraverserSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraverserSerializer.java
similarity index 77%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraverserSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraverserSerializer.java
index 4dede70..6361fb0 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TraverserSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TraverserSerializer.java
@@ -16,16 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser;
import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
+
/**
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
@@ -36,14 +37,14 @@ public class TraverserSerializer extends SimpleTypeSerializer<Traverser> {
}
@Override
- protected Traverser readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Traverser readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final long bulk = context.readValue(buffer, Long.class, false);
final Object v = context.read(buffer);
return new DefaultRemoteTraverser<>(v, bulk);
}
@Override
- protected void writeValue(final Traverser value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Traverser value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.bulk(), buffer, false);
context.write(value.get(), buffer);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TreeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TreeSerializer.java
similarity index 78%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TreeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TreeSerializer.java
index 3747914..66bbf8e 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/TreeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/TreeSerializer.java
@@ -16,22 +16,23 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
+
public class TreeSerializer extends SimpleTypeSerializer<Tree> {
public TreeSerializer() {
super(DataType.TREE);
}
@Override
- protected Tree readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Tree readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final int length = buffer.readInt();
final Tree result = new Tree();
@@ -43,7 +44,7 @@ public class TreeSerializer extends SimpleTypeSerializer<Tree> {
}
@Override
- protected void writeValue(final Tree value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Tree value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeInt(value.size());
for (Object key : value.keySet()) {
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/UUIDSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/UUIDSerializer.java
similarity index 83%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/UUIDSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/UUIDSerializer.java
index 7fd68d0..dc458d4 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/UUIDSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/UUIDSerializer.java
@@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import java.util.UUID;
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/VertexPropertySerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexPropertySerializer.java
similarity index 83%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/VertexPropertySerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexPropertySerializer.java
index 851c13b..bb9ba8b 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/VertexPropertySerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexPropertySerializer.java
@@ -16,16 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertexProperty;
+import java.io.IOException;
+
/**
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
@@ -36,7 +37,7 @@ public class VertexPropertySerializer extends SimpleTypeSerializer<VertexPropert
}
@Override
- protected VertexProperty readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected VertexProperty readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final VertexProperty v = new ReferenceVertexProperty<>(context.read(buffer),
context.readValue(buffer, String.class, false),
context.read(buffer));
@@ -51,7 +52,7 @@ public class VertexPropertySerializer extends SimpleTypeSerializer<VertexPropert
}
@Override
- protected void writeValue(final VertexProperty value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final VertexProperty value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.write(value.id(), buffer);
context.writeValue(value.label(), buffer, false);
context.write(value.value(), buffer);
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/VertexSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexSerializer.java
similarity index 80%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/VertexSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexSerializer.java
index ce8ffe1..18909f3 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/VertexSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexSerializer.java
@@ -16,16 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertex;
+import java.io.IOException;
+
/**
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
@@ -35,7 +36,7 @@ public class VertexSerializer extends SimpleTypeSerializer<Vertex> {
}
@Override
- protected Vertex readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected Vertex readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final Vertex v = new ReferenceVertex(context.read(buffer),
context.readValue(buffer, String.class, false));
@@ -46,7 +47,7 @@ public class VertexSerializer extends SimpleTypeSerializer<Vertex> {
}
@Override
- protected void writeValue(final Vertex value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final Vertex value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.write(value.id(), buffer);
context.writeValue(value.label(), buffer, false);
context.write(null, buffer);
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/YearMonthSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/YearMonthSerializer.java
similarity index 75%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/YearMonthSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/YearMonthSerializer.java
index cff236c..070c214 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/YearMonthSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/YearMonthSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.YearMonth;
/**
@@ -35,12 +35,12 @@ public class YearMonthSerializer extends SimpleTypeSerializer<YearMonth> {
}
@Override
- protected YearMonth readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected YearMonth readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return YearMonth.of(buffer.readInt(), buffer.readByte());
}
@Override
- protected void writeValue(final YearMonth value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final YearMonth value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeInt(value.getYear()).writeByte(value.getMonthValue());
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ZoneOffsetSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ZoneOffsetSerializer.java
similarity index 74%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ZoneOffsetSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ZoneOffsetSerializer.java
index 7cbbd78..09b6e47 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ZoneOffsetSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ZoneOffsetSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.ZoneOffset;
/**
@@ -36,12 +36,12 @@ public class ZoneOffsetSerializer extends SimpleTypeSerializer<ZoneOffset> {
}
@Override
- protected ZoneOffset readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected ZoneOffset readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
return ZoneOffset.ofTotalSeconds(buffer.readInt());
}
@Override
- protected void writeValue(final ZoneOffset value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final ZoneOffset value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
buffer.writeInt(value.getTotalSeconds());
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ZonedDateTimeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ZonedDateTimeSerializer.java
similarity index 77%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ZonedDateTimeSerializer.java
rename to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ZonedDateTimeSerializer.java
index d9dc8b8..c39dff7 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/ZonedDateTimeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/ZonedDateTimeSerializer.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
+package org.apache.tinkerpop.gremlin.structure.io.binary.types;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-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.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import java.io.IOException;
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
import java.time.ZoneOffset;
@@ -37,14 +37,14 @@ public class ZonedDateTimeSerializer extends SimpleTypeSerializer<ZonedDateTime>
}
@Override
- protected ZonedDateTime readValue(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ protected ZonedDateTime readValue(final Buffer buffer, final GraphBinaryReader context) throws IOException {
final LocalDateTime ldt = context.readValue(buffer, LocalDateTime.class, false);
final ZoneOffset zo = context.readValue(buffer, ZoneOffset.class, false);
return ZonedDateTime.of(ldt, zo);
}
@Override
- protected void writeValue(final ZonedDateTime value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ protected void writeValue(final ZonedDateTime value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
context.writeValue(value.toLocalDateTime(), buffer, false);
context.writeValue(value.getOffset(), buffer, false);
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphBinaryMessageSerializerV1.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphBinaryMessageSerializerV1.java
index b555bff..bf4e76f 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphBinaryMessageSerializerV1.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GraphBinaryMessageSerializerV1.java
@@ -22,13 +22,13 @@ import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
import org.apache.tinkerpop.gremlin.driver.message.RequestMessage;
import org.apache.tinkerpop.gremlin.driver.message.ResponseMessage;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryIo;
-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.binary.GraphBinaryIo;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.driver.ser.binary.RequestMessageSerializer;
import org.apache.tinkerpop.gremlin.driver.ser.binary.ResponseMessageSerializer;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.TypeSerializerRegistry;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.types.CustomTypeSerializer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.TypeSerializerRegistry;
+import org.apache.tinkerpop.gremlin.structure.io.binary.types.CustomTypeSerializer;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.io.IoRegistry;
import org.javatuples.Pair;
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/NettyBuffer.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/NettyBuffer.java
similarity index 99%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/NettyBuffer.java
rename to gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/NettyBuffer.java
index 0a8ea61..f9de6c6 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/NettyBuffer.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/NettyBuffer.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver;
+package org.apache.tinkerpop.gremlin.driver.ser;
import io.netty.buffer.ByteBuf;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/NettyBufferFactory.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/NettyBufferFactory.java
similarity index 96%
rename from gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/NettyBufferFactory.java
rename to gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/NettyBufferFactory.java
index 731d3fe..b1bfe1f 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/NettyBufferFactory.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/NettyBufferFactory.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tinkerpop.gremlin.driver;
+package org.apache.tinkerpop.gremlin.driver.ser;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/RequestMessageSerializer.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/RequestMessageSerializer.java
index 06c45ed..004bfe9 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/RequestMessageSerializer.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/RequestMessageSerializer.java
@@ -19,11 +19,14 @@
package org.apache.tinkerpop.gremlin.driver.ser.binary;
import io.netty.buffer.ByteBuf;
-import org.apache.tinkerpop.gremlin.driver.NettyBufferFactory;
+import org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory;
import org.apache.tinkerpop.gremlin.driver.message.RequestMessage;
import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
+import java.io.IOException;
import java.util.Map;
import java.util.UUID;
@@ -42,31 +45,39 @@ public class RequestMessageSerializer {
throw new SerializationException("The most significant bit should be set according to the format");
}
- final UUID id = context.readValue(buffer, UUID.class, false);
- final String op = context.readValue(buffer, String.class, false);
- final String processor = context.readValue(buffer, String.class, false);
+ try {
+ final UUID id = context.readValue(buffer, UUID.class, false);
+ final String op = context.readValue(buffer, String.class, false);
+ final String processor = context.readValue(buffer, String.class, false);
- final RequestMessage.Builder builder = RequestMessage.build(op).overrideRequestId(id).processor(processor);
+ final RequestMessage.Builder builder = RequestMessage.build(op).overrideRequestId(id).processor(processor);
- final Map<String, Object> args = context.readValue(buffer, Map.class, false);
- args.forEach(builder::addArg);
+ final Map<String, Object> args = context.readValue(buffer, Map.class, false);
+ args.forEach(builder::addArg);
- return builder.create();
+ return builder.create();
+ } catch (IOException ex) {
+ throw new SerializationException(ex);
+ }
}
public void writeValue(final RequestMessage value, final ByteBuf byteBuf, final GraphBinaryWriter context) throws SerializationException {
// Wrap netty's buffer
final Buffer buffer = bufferFactory.create(byteBuf);
- // Version
- buffer.writeByte(GraphBinaryWriter.VERSION_BYTE);
- // RequestId
- context.writeValue(value.getRequestId(), buffer, false);
- // Op
- context.writeValue(value.getOp(), buffer, false);
- // Processor
- context.writeValue(value.getProcessor(), buffer, false);
- // Args
- context.writeValue(value.getArgs(), buffer, false);
+ try {
+ // Version
+ buffer.writeByte(GraphBinaryWriter.VERSION_BYTE);
+ // RequestId
+ context.writeValue(value.getRequestId(), buffer, false);
+ // Op
+ context.writeValue(value.getOp(), buffer, false);
+ // Processor
+ context.writeValue(value.getProcessor(), buffer, false);
+ // Args
+ context.writeValue(value.getArgs(), buffer, false);
+ } catch (IOException ex) {
+ throw new SerializationException(ex);
+ }
}
}
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/ResponseMessageSerializer.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/ResponseMessageSerializer.java
index 2c35d17..5a07cdb 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/ResponseMessageSerializer.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/ResponseMessageSerializer.java
@@ -19,14 +19,17 @@
package org.apache.tinkerpop.gremlin.driver.ser.binary;
import io.netty.buffer.ByteBuf;
-import org.apache.tinkerpop.gremlin.driver.NettyBufferFactory;
+import org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory;
import org.apache.tinkerpop.gremlin.driver.message.ResponseMessage;
import org.apache.tinkerpop.gremlin.driver.message.ResponseResult;
import org.apache.tinkerpop.gremlin.driver.message.ResponseStatus;
import org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode;
import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
+import java.io.IOException;
import java.util.Map;
import java.util.UUID;
@@ -44,13 +47,17 @@ public class ResponseMessageSerializer {
throw new SerializationException("The most significant bit should be set according to the format");
}
- return ResponseMessage.build(context.readValue(buffer, UUID.class, true))
- .code(ResponseStatusCode.getFromValue(context.readValue(buffer, Integer.class, false)))
- .statusMessage(context.readValue(buffer, String.class, true))
- .statusAttributes(context.readValue(buffer, Map.class, false))
- .responseMetaData(context.readValue(buffer, Map.class, false))
- .result(context.read(buffer))
- .create();
+ try {
+ return ResponseMessage.build(context.readValue(buffer, UUID.class, true))
+ .code(ResponseStatusCode.getFromValue(context.readValue(buffer, Integer.class, false)))
+ .statusMessage(context.readValue(buffer, String.class, true))
+ .statusAttributes(context.readValue(buffer, Map.class, false))
+ .responseMetaData(context.readValue(buffer, Map.class, false))
+ .result(context.read(buffer))
+ .create();
+ } catch (IOException ex) {
+ throw new SerializationException(ex);
+ }
}
public void writeValue(final ResponseMessage value, final ByteBuf byteBuf, final GraphBinaryWriter context) throws SerializationException {
@@ -60,19 +67,23 @@ public class ResponseMessageSerializer {
final ResponseResult result = value.getResult();
final ResponseStatus status = value.getStatus();
- // Version
- buffer.writeByte(GraphBinaryWriter.VERSION_BYTE);
- // Nullable request id
- context.writeValue(value.getRequestId(), buffer, true);
- // Status code
- context.writeValue(status.getCode().getValue(), buffer, false);
- // Nullable status message
- context.writeValue(status.getMessage(), buffer, true);
- // Status attributes
- context.writeValue(status.getAttributes(), buffer, false);
- // Result meta
- context.writeValue(result.getMeta(), buffer, false);
- // Fully-qualified value
- context.write(result.getData(), buffer);
+ try {
+ // Version
+ buffer.writeByte(GraphBinaryWriter.VERSION_BYTE);
+ // Nullable request id
+ context.writeValue(value.getRequestId(), buffer, true);
+ // Status code
+ context.writeValue(status.getCode().getValue(), buffer, false);
+ // Nullable status message
+ context.writeValue(status.getMessage(), buffer, true);
+ // Status attributes
+ context.writeValue(status.getAttributes(), buffer, false);
+ // Result meta
+ context.writeValue(result.getMeta(), buffer, false);
+ // Fully-qualified value
+ context.write(result.getData(), buffer);
+ } catch (IOException ex) {
+ throw new SerializationException(ex);
+ }
}
}
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
index 8a8d27f..d0042ff 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
@@ -25,6 +25,7 @@ import org.apache.tinkerpop.gremlin.driver.message.ResponseMessage;
import org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode;
import org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1;
import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
+import org.apache.tinkerpop.gremlin.structure.io.binary.TypeSerializerRegistry;
import org.junit.Test;
import org.mockito.internal.matchers.apachecommons.ReflectionEquals;
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
index 6bdd8e2..e74e6dc 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
@@ -19,7 +19,7 @@
package org.apache.tinkerpop.gremlin.driver.ser.binary;
import io.netty.buffer.ByteBufAllocator;
-import org.apache.tinkerpop.gremlin.driver.NettyBufferFactory;
+import org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory;
import org.apache.tinkerpop.gremlin.process.computer.Computer;
import org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy;
import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser;
@@ -50,6 +50,8 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.apache.tinkerpop.gremlin.structure.io.IoTest;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceEdge;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceProperty;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertex;
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerFailureTests.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerFailureTests.java
index d9eda2a..2268bf1 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerFailureTests.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerFailureTests.java
@@ -20,8 +20,7 @@
package org.apache.tinkerpop.gremlin.driver.ser.binary;
import io.netty.buffer.UnpooledByteBufAllocator;
-import org.apache.tinkerpop.gremlin.driver.NettyBufferFactory;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
+import org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory;
import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser;
import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.BulkSet;
@@ -31,6 +30,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversalMetri
import org.apache.tinkerpop.gremlin.process.traversal.util.MutableMetrics;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceEdge;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferencePath;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertex;
@@ -40,6 +40,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
+import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
@@ -100,7 +101,7 @@ public class TypeSerializerFailureTests {
try {
writer.write(value, buffer);
fail("Should throw exception");
- } catch (SerializationException | RuntimeException e) {
+ } catch (IOException | RuntimeException e) {
// We are the owner of the buffer, we should release it
buffer.release();
}
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerRegistryTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerRegistryTest.java
index 664a401..a40285b 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerRegistryTest.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/TypeSerializerRegistryTest.java
@@ -18,14 +18,19 @@
*/
package org.apache.tinkerpop.gremlin.driver.ser.binary;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
import org.apache.tinkerpop.gremlin.driver.ser.binary.types.sample.SamplePerson;
import org.apache.tinkerpop.gremlin.driver.ser.binary.types.sample.SamplePersonSerializer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
+import org.apache.tinkerpop.gremlin.structure.io.binary.TypeSerializer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.TypeSerializerRegistry;
import org.apache.tinkerpop.gremlin.structure.Property;
import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.junit.Test;
+import java.io.IOException;
import java.util.UUID;
import static junit.framework.TestCase.assertEquals;
@@ -34,7 +39,7 @@ import static junit.framework.TestCase.assertSame;
public class TypeSerializerRegistryTest {
@Test
- public void shouldResolveToUserProvidedForInterfaces_1() throws SerializationException {
+ public void shouldResolveToUserProvidedForInterfaces_1() throws IOException {
final TypeSerializer<VertexProperty> expected = new TestVertexPropertySerializer();
final TypeSerializerRegistry registry = TypeSerializerRegistry.build()
.add(VertexProperty.class, expected).create();
@@ -44,7 +49,7 @@ public class TypeSerializerRegistryTest {
}
@Test
- public void shouldResolveToUserProvidedForInterfaces_2() throws SerializationException {
+ public void shouldResolveToUserProvidedForInterfaces_2() throws IOException {
final TypeSerializer<Property> expected = new TestPropertySerializer();
final TypeSerializerRegistry registry = TypeSerializerRegistry.build()
.add(Property.class, expected).create();
@@ -54,7 +59,7 @@ public class TypeSerializerRegistryTest {
}
@Test
- public void shouldResolveToUserProvidedForClasses() throws SerializationException {
+ public void shouldResolveToUserProvidedForClasses() throws Exception {
final TypeSerializer<UUID> expected = new TestUUIDSerializer();
final TypeSerializerRegistry registry = TypeSerializerRegistry.build()
.add(UUID.class, expected).create();
@@ -64,7 +69,7 @@ public class TypeSerializerRegistryTest {
}
@Test
- public void shouldResolveToTheFirstSerializerForInterfaces() throws SerializationException {
+ public void shouldResolveToTheFirstSerializerForInterfaces() throws IOException {
final TypeSerializer<VertexProperty> expectedForVertexProperty = new TestVertexPropertySerializer();
final TypeSerializer<Property> expectedForProperty = new TestPropertySerializer();
final TypeSerializerRegistry registry = TypeSerializerRegistry.build()
@@ -89,7 +94,7 @@ public class TypeSerializerRegistryTest {
String message = null;
try {
registry.getSerializer(SamplePerson.class);
- } catch (SerializationException ex) {
+ } catch (IOException ex) {
message = ex.getMessage();
}
@@ -98,7 +103,7 @@ public class TypeSerializerRegistryTest {
}
@Test
- public void shouldUseFallbackResolverReturnValue() throws SerializationException {
+ public void shouldUseFallbackResolverReturnValue() throws IOException {
TypeSerializer expected = new SamplePersonSerializer();
final int[] called = {0};
final TypeSerializerRegistry registry = TypeSerializerRegistry.build()
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CharSerializerTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CharSerializerTest.java
index 0c62a24..4d38c99 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CharSerializerTest.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CharSerializerTest.java
@@ -21,13 +21,15 @@ package org.apache.tinkerpop.gremlin.driver.ser.binary.types;
import io.netty.buffer.ByteBufAllocator;
import io.netty.buffer.Unpooled;
import io.netty.buffer.UnpooledByteBufAllocator;
-import org.apache.tinkerpop.gremlin.driver.NettyBufferFactory;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
+import org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
+import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
@@ -37,9 +39,11 @@ import static org.junit.Assert.assertTrue;
@RunWith(Parameterized.class)
public class CharSerializerTest {
private final ByteBufAllocator allocator = new UnpooledByteBufAllocator(false);
- private static final CharSerializer serializer = new CharSerializer();
private static final NettyBufferFactory bufferFactory = new NettyBufferFactory();
+ private static final GraphBinaryReader reader = new GraphBinaryReader();
+ private static final GraphBinaryWriter writer = new GraphBinaryWriter();
+
@Parameterized.Parameters(name = "Character={0}")
public static Collection input() {
return Arrays.asList(
@@ -58,15 +62,16 @@ public class CharSerializerTest {
public byte[] byteArray;
@Test
- public void readValueTest() throws SerializationException {
- final Character actual = serializer.readValue(bufferFactory.create(Unpooled.wrappedBuffer(byteArray)), null);
+ public void readValueTest() throws IOException {
+ final Character actual = reader.readValue(
+ bufferFactory.create(Unpooled.wrappedBuffer(byteArray)),Character.class, false);
assertEquals(charValue, actual.charValue());
}
@Test
- public void writeValueTest() throws SerializationException {
+ public void writeValueTest() throws IOException {
final Buffer actual = bufferFactory.create(allocator.buffer());
- serializer.writeValue(charValue, actual, null);
+ writer.writeValue(charValue, actual, false);
final byte[] actualBytes = new byte[byteArray.length];
actual.readBytes(actualBytes);
assertTrue(Arrays.deepEquals(new byte[][]{byteArray}, new byte[][]{actualBytes}));
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializer.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializer.java
index 09cde49..ad9e5db 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializer.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializer.java
@@ -19,12 +19,13 @@
package org.apache.tinkerpop.gremlin.driver.ser.binary.types.sample;
import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryReader;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryWriter;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.types.CustomTypeSerializer;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.DataType;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
+import org.apache.tinkerpop.gremlin.structure.io.binary.types.CustomTypeSerializer;
+import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Date;
@@ -45,7 +46,7 @@ public final class SamplePersonSerializer implements CustomTypeSerializer<Sample
}
@Override
- public SamplePerson read(final Buffer buffer, final GraphBinaryReader context) throws SerializationException {
+ public SamplePerson read(final Buffer buffer, final GraphBinaryReader context) throws IOException {
// {custom type info}, {value_flag} and {value}
// No custom_type_info
if (buffer.readInt() != 0) {
@@ -56,7 +57,7 @@ public final class SamplePersonSerializer implements CustomTypeSerializer<Sample
}
@Override
- public SamplePerson readValue(final Buffer buffer, final GraphBinaryReader context, final boolean nullable) throws SerializationException {
+ public SamplePerson readValue(final Buffer buffer, final GraphBinaryReader context, final boolean nullable) throws IOException {
if (nullable) {
final byte valueFlag = buffer.readByte();
if ((valueFlag & 1) == 1) {
@@ -83,7 +84,7 @@ public final class SamplePersonSerializer implements CustomTypeSerializer<Sample
}
@Override
- public void write(final SamplePerson value, final Buffer buffer, final GraphBinaryWriter context) throws SerializationException {
+ public void write(final SamplePerson value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
// Write {custom type info}, {value_flag} and {value}
buffer.writeBytes(typeInfoBuffer);
@@ -91,7 +92,7 @@ public final class SamplePersonSerializer implements CustomTypeSerializer<Sample
}
@Override
- public void writeValue(final SamplePerson value, final Buffer buffer, final GraphBinaryWriter context, final boolean nullable) throws SerializationException {
+ public void writeValue(final SamplePerson value, final Buffer buffer, final GraphBinaryWriter context, final boolean nullable) throws IOException {
if (value == null) {
if (!nullable) {
throw new SerializationException("Unexpected null value when nullable is false");
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializerTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializerTest.java
index 0944c60..3d6bef3 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializerTest.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializerTest.java
@@ -20,19 +20,19 @@ package org.apache.tinkerpop.gremlin.driver.ser.binary.types.sample;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
-import org.apache.tinkerpop.gremlin.driver.NettyBufferFactory;
+import org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory;
import org.apache.tinkerpop.gremlin.driver.message.ResponseMessage;
import org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryIo;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryReader;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryWriter;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.TypeSerializerRegistry;
import org.apache.tinkerpop.gremlin.structure.io.AbstractIoRegistry;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryIo;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
+import org.apache.tinkerpop.gremlin.structure.io.binary.TypeSerializerRegistry;
import org.junit.Test;
import org.mockito.internal.matchers.apachecommons.ReflectionEquals;
+import java.io.IOException;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Collections;
@@ -51,14 +51,14 @@ public class SamplePersonSerializerTest {
private static final NettyBufferFactory bufferFactory = new NettyBufferFactory();
@Test
- public void shouldCustomSerializationWithPerson() throws SerializationException {
+ public void shouldCustomSerializationWithPerson() throws IOException {
final GraphBinaryMessageSerializerV1 serializer = new GraphBinaryMessageSerializerV1(
TypeSerializerRegistry.build().addCustomType(SamplePerson.class, new SamplePersonSerializer()).create());
assertPerson(serializer);
}
@Test
- public void shouldSerializePersonViaIoRegistry() throws SerializationException {
+ public void shouldSerializePersonViaIoRegistry() throws IOException {
final GraphBinaryMessageSerializerV1 serializer = new GraphBinaryMessageSerializerV1();
final Map<String,Object> config = new HashMap<>();
config.put(TOKEN_IO_REGISTRIES, Collections.singletonList(CustomIoRegistry.class.getName()));
@@ -68,7 +68,7 @@ public class SamplePersonSerializerTest {
}
@Test
- public void shouldSerializePersonViaCustom() throws SerializationException {
+ public void shouldSerializePersonViaCustom() throws IOException {
final GraphBinaryMessageSerializerV1 serializer = new GraphBinaryMessageSerializerV1();
final Map<String,Object> config = new HashMap<>();
config.put(TOKEN_CUSTOM, Collections.singletonList(String.format("%s;%s",
@@ -79,7 +79,7 @@ public class SamplePersonSerializerTest {
}
@Test
- public void readValueAndWriteValueShouldBeSymmetric() throws SerializationException {
+ public void readValueAndWriteValueShouldBeSymmetric() throws IOException {
final TypeSerializerRegistry registry = TypeSerializerRegistry.build()
.addCustomType(SamplePerson.class, new SamplePersonSerializer()).create();
final GraphBinaryReader reader = new GraphBinaryReader(registry);
@@ -98,7 +98,7 @@ public class SamplePersonSerializerTest {
}
}
- private void assertPerson(final GraphBinaryMessageSerializerV1 serializer) throws SerializationException {
+ private void assertPerson(final GraphBinaryMessageSerializerV1 serializer) throws IOException {
final Date birthDate = Date.from(LocalDateTime.of(2010, 4, 29, 5, 30).toInstant(ZoneOffset.UTC));
final SamplePerson person = new SamplePerson("Olivia", birthDate);
diff --git a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/driver/GraphBinaryReaderWriterBenchmark.java b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/driver/GraphBinaryReaderWriterBenchmark.java
index a3fdd97..e247434 100644
--- a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/driver/GraphBinaryReaderWriterBenchmark.java
+++ b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/driver/GraphBinaryReaderWriterBenchmark.java
@@ -18,16 +18,15 @@
*/
package org.apache.tinkerpop.gremlin.driver;
-import io.netty.buffer.ByteBuf;
import io.netty.buffer.UnpooledByteBufAllocator;
import org.apache.tinkerpop.benchmark.util.AbstractBenchmarkBase;
-import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryReader;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryWriter;
+import org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory;
import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
import org.apache.tinkerpop.gremlin.process.traversal.P;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.Level;
@@ -104,27 +103,27 @@ public class GraphBinaryReaderWriterBenchmark extends AbstractBenchmarkBase {
}
@Benchmark
- public void writeBytecode1(BenchmarkState state) throws SerializationException {
+ public void writeBytecode1(BenchmarkState state) throws IOException {
writer.writeValue(state.bytecode1, state.bufferWrite, false);
}
@Benchmark
- public void writeBytecode2(BenchmarkState state) throws SerializationException {
+ public void writeBytecode2(BenchmarkState state) throws IOException {
writer.writeValue(state.bytecode2, state.bufferWrite, false);
}
@Benchmark
- public void readBytecode1(BenchmarkState state) throws SerializationException {
+ public void readBytecode1(BenchmarkState state) throws IOException {
reader.readValue(state.bytecodeBuffer1, Bytecode.class, false);
}
@Benchmark
- public void readBytecode2(BenchmarkState state) throws SerializationException {
+ public void readBytecode2(BenchmarkState state) throws IOException {
reader.readValue(state.bytecodeBuffer2, Bytecode.class, false);
}
@Benchmark
- public void readP1(BenchmarkState state) throws SerializationException {
+ public void readP1(BenchmarkState state) throws IOException {
reader.readValue(state.pBuffer1, P.class, false);
}
}
diff --git a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/driver/SerializationBenchmark.java b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/driver/SerializationBenchmark.java
index bff73c7..2d4ce84 100644
--- a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/driver/SerializationBenchmark.java
+++ b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/driver/SerializationBenchmark.java
@@ -28,8 +28,8 @@ import org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode;
import org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1;
import org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0;
import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.DataType;
import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
+import org.apache.tinkerpop.gremlin.structure.io.binary.DataType;
import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertex;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.Warmup;
diff --git a/gremlin-tools/gremlin-io-test/scripts/generate-graphbinary-resources.groovy b/gremlin-tools/gremlin-io-test/scripts/generate-graphbinary-resources.groovy
index 43eeb0d..a423398 100644
--- a/gremlin-tools/gremlin-io-test/scripts/generate-graphbinary-resources.groovy
+++ b/gremlin-tools/gremlin-io-test/scripts/generate-graphbinary-resources.groovy
@@ -18,7 +18,7 @@
*/
import io.netty.buffer.ByteBufAllocator
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryWriter
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter
import org.apache.tinkerpop.gremlin.tinkergraph.structure.*
import org.apache.tinkerpop.gremlin.structure.*
import org.apache.tinkerpop.gremlin.structure.io.*
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
index 45c1632..391f6b4 100644
--- 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
@@ -20,20 +20,12 @@ package org.apache.tinkerpop.gremlin.structure.io.graphbinary;
import io.netty.buffer.ByteBufAllocator;
import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.apache.tinkerpop.gremlin.driver.NettyBufferFactory;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryReader;
-import org.apache.tinkerpop.gremlin.driver.ser.binary.GraphBinaryWriter;
+import org.apache.tinkerpop.gremlin.driver.ser.NettyBufferFactory;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
+import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.AbstractTypedCompatibilityTest;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
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;