You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/08/24 16:16:52 UTC
[1/2] tinkerpop git commit: Add GraphSON 2.0 to message serializers
and better handle GraphSON results in driver.
Repository: tinkerpop
Updated Branches:
refs/heads/TINKERPOP-1278 98efcef17 -> 8ce282ebe
Add GraphSON 2.0 to message serializers and better handle GraphSON results in driver.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9153f3c6
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9153f3c6
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9153f3c6
Branch: refs/heads/TINKERPOP-1278
Commit: 9153f3c61f117722cd3bc4393d905fd75b5cab09
Parents: 136531e
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Aug 24 12:11:24 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Aug 24 12:11:24 2016 -0400
----------------------------------------------------------------------
.../org/apache/tinkerpop/gremlin/driver/ResultQueue.java | 10 ++++++++--
.../apache/tinkerpop/gremlin/driver/ser/Serializers.java | 3 +++
.../gremlin/driver/remote/RemoteGraphProvider.java | 2 ++
3 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9153f3c6/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultQueue.java
----------------------------------------------------------------------
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultQueue.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultQueue.java
index c499a20..dcde3fe 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultQueue.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultQueue.java
@@ -96,14 +96,20 @@ final class ResultQueue {
list.add(sideEffectValue);
break;
case Tokens.VAL_AGGREGATE_TO_MAP:
- if (!(sideEffectValue instanceof Map.Entry))
+ if (!(sideEffectValue instanceof Map.Entry) && !(sideEffectValue instanceof Map))
throw new IllegalStateException(String.format("Side-effect value %s is a %s which does not aggregate to %s",
sideEffectValue, sideEffectValue.getClass().getSimpleName(), aggregateTo));
+ // some serialization formats (e.g. graphson) may deserialize a Map.Entry to a Map with a single entry
+ if (sideEffectValue instanceof Map && ((Map) sideEffectValue).size() != 1)
+ throw new IllegalStateException(String.format("Side-effect value %s is a %s which does not aggregate to %s as it is a Map that does not have one entry",
+ sideEffectValue, sideEffectValue.getClass().getSimpleName(), aggregateTo));
+
if (null == aggregatedResult) aggregatedResult = new HashMap();
final Map<Object,Object > m = validate(aggregateTo, Map.class);
- final Map.Entry entry = (Map.Entry) sideEffectValue;
+ final Map.Entry entry = sideEffectValue instanceof Map.Entry ?
+ (Map.Entry) sideEffectValue : (Map.Entry) ((Map) sideEffectValue).entrySet().iterator().next();
m.put(entry.getKey(), entry.getValue());
break;
case Tokens.VAL_AGGREGATE_TO_NONE:
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9153f3c6/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/Serializers.java
----------------------------------------------------------------------
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/Serializers.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/Serializers.java
index 45ae301..bb0d377 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/Serializers.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/Serializers.java
@@ -28,6 +28,7 @@ import org.apache.tinkerpop.gremlin.driver.MessageSerializer;
public enum Serializers {
GRAPHSON(SerTokens.MIME_JSON),
GRAPHSON_V1D0(SerTokens.MIME_GRAPHSON_V1D0),
+ GRAPHSON_V2D0(SerTokens.MIME_GRAPHSON_V2D0),
GRYO_V1D0(SerTokens.MIME_GRYO_V1D0),
GRYO_LITE_V1D0(SerTokens.MIME_GRYO_LITE_V1D0);
@@ -61,6 +62,8 @@ public enum Serializers {
return new GraphSONMessageSerializerV1d0();
case SerTokens.MIME_GRAPHSON_V1D0:
return new GraphSONMessageSerializerGremlinV1d0();
+ case SerTokens.MIME_GRAPHSON_V2D0:
+ return new GraphSONMessageSerializerGremlinV2d0();
case SerTokens.MIME_GRYO_V1D0:
return new GryoMessageSerializerV1d0();
case SerTokens.MIME_GRYO_LITE_V1D0:
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9153f3c6/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java
index c50d29a..a4dff94 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/RemoteGraphProvider.java
@@ -23,6 +23,7 @@ import org.apache.tinkerpop.gremlin.AbstractGraphProvider;
import org.apache.tinkerpop.gremlin.LoadGraphWith;
import org.apache.tinkerpop.gremlin.driver.Client;
import org.apache.tinkerpop.gremlin.driver.Cluster;
+import org.apache.tinkerpop.gremlin.driver.ser.Serializers;
import org.apache.tinkerpop.gremlin.process.remote.RemoteGraph;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.server.GremlinServer;
@@ -48,6 +49,7 @@ public class RemoteGraphProvider extends AbstractGraphProvider {
private static GremlinServer server;
private final Map<String, RemoteGraph> remoteCache = new HashMap<>();
private final Cluster cluster = Cluster.open();
+ //private final Cluster cluster = Cluster.build().serializer(Serializers.GRAPHSON_V2D0).create();
private final Client client = cluster.connect();
static {
[2/2] tinkerpop git commit: Merge remote-tracking branch
'origin/TINKERPOP-1278' into TINKERPOP-1278
Posted by sp...@apache.org.
Merge remote-tracking branch 'origin/TINKERPOP-1278' into TINKERPOP-1278
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8ce282eb
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8ce282eb
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8ce282eb
Branch: refs/heads/TINKERPOP-1278
Commit: 8ce282ebe14ad35692ed5acedc42d526a42ef28f
Parents: 9153f3c 98efcef
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Aug 24 12:16:35 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Aug 24 12:16:35 2016 -0400
----------------------------------------------------------------------
.../structure/io/graphson/GraphSONModule.java | 6 +-
.../GraphSONTraversalSerializersV2d0.java | 11 +-
.../jsr223/GremlinJythonScriptEngine.java | 8 +-
.../gremlin/python/jsr223/JythonTranslator.java | 8 +-
.../driver/driver_remote_connection.py | 12 +-
.../jython/gremlin_python/process/__init__.py | 4 +-
.../jython/gremlin_python/process/graphson.py | 164 ------------
.../jython/gremlin_python/structure/__init__.py | 4 +
.../jython/gremlin_python/structure/graph.py | 39 +++
.../gremlin_python/structure/io/__init__.py | 25 ++
.../gremlin_python/structure/io/graphson.py | 263 +++++++++++++++++++
gremlin-python/src/main/jython/setup.py | 2 +-
.../gremlin/python/GremlinPythonTest.java | 37 +++
.../python/jsr223/JythonScriptEngineSetup.java | 2 +-
14 files changed, 398 insertions(+), 187 deletions(-)
----------------------------------------------------------------------