Minor bug fix to the graphson type serializer

There was no need to test for string JsonTokens - just needed to pass all other 
"shapes" through to check for type info. Credit to kevin gallardo for the fix. 
CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2a9e7e24
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2a9e7e24
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2a9e7e24

Branch: refs/heads/TINKERPOP-1897
Commit: 2a9e7e24f4e255cad3eb300423634cbac110d74d
Parents: fdac653
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Mar 27 13:31:16 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Mar 27 13:31:16 2018 -0400

----------------------------------------------------------------------
 .../io/graphson/GraphSONTypeSerializer.java         | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2a9e7e24/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
----------------------------------------------------------------------
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
index 53ccc0b..765331a 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
@@ -96,14 +96,12 @@ public class GraphSONTypeSerializer extends TypeSerializer {
 
     @Override
     public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, 
final WritableTypeId writableTypeId) throws IOException {
-        if (writableTypeId.valueShape == JsonToken.VALUE_STRING) {
-            if (canWriteTypeId()) {
-                writeTypePrefix(jsonGenerator, 
getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, 
getClassFromObject(writableTypeId.forValue)));
-            }
-        } else if (writableTypeId.valueShape == JsonToken.START_OBJECT) {
+        if (writableTypeId.valueShape == JsonToken.START_OBJECT) {
             jsonGenerator.writeStartObject();
         } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) {
             jsonGenerator.writeStartArray();
+        } else if (canWriteTypeId()) {
+            writeTypePrefix(jsonGenerator, 
getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, 
getClassFromObject(writableTypeId.forValue)));
         } else {
             throw new IllegalStateException("Could not write prefix: shape[" + 
writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]");
         }
@@ -113,14 +111,12 @@ public class GraphSONTypeSerializer extends 
TypeSerializer {
 
     @Override
     public WritableTypeId writeTypeSuffix(final JsonGenerator jsonGenerator, 
final WritableTypeId writableTypeId) throws IOException {
-        if (writableTypeId.valueShape == JsonToken.VALUE_STRING) {
-            if (canWriteTypeId()) {
-                writeTypeSuffix(jsonGenerator);
-            }
-        } else if (writableTypeId.valueShape == JsonToken.START_OBJECT) {
+        if (writableTypeId.valueShape == JsonToken.START_OBJECT) {
             jsonGenerator.writeEndObject();
         } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) {
             jsonGenerator.writeEndArray();
+        } else if (canWriteTypeId()) {
+            writeTypeSuffix(jsonGenerator);
         } else {
             throw new IllegalStateException("Could not write suffix: shape[" + 
writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]");
         }

Reply via email to