You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2016/08/23 17:44:04 UTC

tinkerpop git commit: fix to GryoSerializers now that GraphSON2.0 is used.

Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1278 d25e29b41 -> 7b8bcdb12


fix to GryoSerializers now that GraphSON2.0 is used.


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

Branch: refs/heads/TINKERPOP-1278
Commit: 7b8bcdb1266ac13c3e03216379be995a6094dc35
Parents: d25e29b
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Aug 23 11:44:02 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Aug 23 11:44:02 2016 -0600

----------------------------------------------------------------------
 .../structure/io/gryo/GryoSerializers.java      |  3 ++-
 .../jython/gremlin_python/process/graphson.py   | 24 +++++++++++---------
 2 files changed, 15 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7b8bcdb1/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java
index e785948..f543446 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java
@@ -26,6 +26,7 @@ import org.apache.tinkerpop.gremlin.structure.Property;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONVersion;
 import org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.InputShim;
 import org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.KryoShim;
 import org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.OutputShim;
@@ -124,7 +125,7 @@ public final class GryoSerializers {
     }
 
     public final static class BytecodeSerializer implements SerializerShim<Bytecode> {
-        private static final GraphSONMapper mapper = GraphSONMapper.build().create();
+        private static final GraphSONMapper mapper = GraphSONMapper.build().version(GraphSONVersion.V2_0).create();
         @Override
         public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final Bytecode bytecode) {
             try {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7b8bcdb1/gremlin-python/src/main/jython/gremlin_python/process/graphson.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/gremlin_python/process/graphson.py b/gremlin-python/src/main/jython/gremlin_python/process/graphson.py
index fcc381a..2b5ff5c 100644
--- a/gremlin-python/src/main/jython/gremlin_python/process/graphson.py
+++ b/gremlin-python/src/main/jython/gremlin_python/process/graphson.py
@@ -28,6 +28,12 @@ from .traversal import P
 from .traversal import Traversal
 from .. import statics
 
+'''
+Symbol Table
+'''
+
+_TYPE = "@type"
+_VALUE = "@value"
 
 class GraphSONWriter(object):
     @staticmethod
@@ -56,7 +62,6 @@ class GraphSONSerializer(object):
 class BytecodeSerializer(GraphSONSerializer):
     def _dictify(self, bytecode):
         dict = {}
-        dict["@type"] = "Bytecode"
         sources = []
         for instruction in bytecode.source_instructions:
             inst = []
@@ -75,43 +80,40 @@ class BytecodeSerializer(GraphSONSerializer):
             dict["source"] = sources
         if len(steps) > 0:
             dict["step"] = steps
-        return dict
+        return {_TYPE: "bytecode", _VALUE: dict}
 
 
 class EnumSerializer(GraphSONSerializer):
     def _dictify(self, enum):
         dict = {}
-        dict["@type"] = _SymbolHelper.toGremlin(type(enum).__name__)
-        dict["value"] = _SymbolHelper.toGremlin(str(enum.name))
+        dict[_TYPE] = _SymbolHelper.toGremlin(type(enum).__name__)
+        dict[_VALUE] = _SymbolHelper.toGremlin(str(enum.name))
         return dict
 
 
 class PSerializer(GraphSONSerializer):
     def _dictify(self, p):
         dict = {}
-        dict["@type"] = "P"
         dict["predicate"] = p.operator
         if p.other is None:
             dict["value"] = GraphSONWriter._dictify(p.value)
         else:
             dict["value"] = [GraphSONWriter._dictify(p.value), GraphSONWriter._dictify(p.other)]
-        return dict
+        return {_TYPE: "P", _VALUE: dict}
 
 
 class BindingSerializer(GraphSONSerializer):
     def _dictify(self, binding):
         dict = {}
-        dict["@type"] = "Binding"
-        dict["variable"] = binding.variable
+        dict["key"] = binding.variable
         dict["value"] = GraphSONWriter._dictify(binding.value)
-        return dict
+        return {_TYPE: "binding", _VALUE: dict}
 
 
 class LambdaSerializer(GraphSONSerializer):
     def _dictify(self, lambdaObject):
         lambdaResult = lambdaObject()
         dict = {}
-        dict["@type"] = "Lambda"
         script = lambdaResult if isinstance(lambdaResult, str) else lambdaResult[0]
         language = statics.default_lambda_language if isinstance(lambdaResult, str) else lambdaResult[1]
         dict["value"] = script
@@ -123,7 +125,7 @@ class LambdaSerializer(GraphSONSerializer):
             dict["arguments"] = eval(dict["value"]).func_code.co_argcount
         else:
             dict["arguments"] = -1
-        return dict
+        return {_TYPE: "lambda", _VALUE: dict}
 
 
 class TraversalSerializer(BytecodeSerializer):