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 2015/03/18 13:58:30 UTC

incubator-tinkerpop git commit: null fields for 'empty' to reduce serialization size.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master 36424c8b5 -> 97ece24d0


null fields for 'empty' to reduce serialization size.


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

Branch: refs/heads/master
Commit: 97ece24d0bd79e5d5387db5829396a8ff7975850
Parents: 36424c8
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Mar 18 06:58:18 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Mar 18 06:58:27 2015 -0600

----------------------------------------------------------------------
 .../structure/util/detached/DetachedEdge.java   |  2 +-
 .../util/detached/DetachedElement.java          |  8 +++--
 .../structure/util/detached/DetachedVertex.java | 36 +++++++++++---------
 3 files changed, 25 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/97ece24d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdge.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdge.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdge.java
index 350d750..07a9492 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdge.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdge.java
@@ -120,7 +120,7 @@ public class DetachedEdge extends DetachedElement<Edge> implements Edge {
             }
         }
         final Edge e = outV.addEdge(detachedEdge.label(), inV, T.id, detachedEdge.id());
-        if (!detachedEdge.properties.isEmpty())
+        if (null != detachedEdge.properties)
             detachedEdge.properties.entrySet().forEach(kv -> kv.getValue().forEach(p -> e.<Object>property(kv.getKey(), p.value())));
         return e;
     }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/97ece24d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java
index 47dd0dd..d2716b1 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java
@@ -37,7 +37,7 @@ public abstract class DetachedElement<E> implements Element, Serializable, Attac
 
     protected Object id;
     protected String label;
-    protected Map<String, List<? extends Property>> properties = Collections.emptyMap();
+    protected Map<String, List<? extends Property>> properties = null;
 
     protected DetachedElement() {
 
@@ -74,7 +74,7 @@ public abstract class DetachedElement<E> implements Element, Serializable, Attac
 
     @Override
     public <V> Property<V> property(final String key) {
-        return this.properties.containsKey(key) ? this.properties.get(key).get(0) : Property.empty();
+        return null != this.properties && this.properties.containsKey(key) ? this.properties.get(key).get(0) : Property.empty();
     }
 
     @Override
@@ -95,6 +95,8 @@ public abstract class DetachedElement<E> implements Element, Serializable, Attac
 
     @Override
     public <V> Iterator<? extends Property<V>> properties(final String... propertyKeys) {
-        return (Iterator) this.properties.entrySet().stream().filter(entry -> ElementHelper.keyExists(entry.getKey(), propertyKeys)).flatMap(entry -> entry.getValue().stream()).iterator();
+        return null == this.properties ?
+                Collections.emptyIterator() :
+                (Iterator) this.properties.entrySet().stream().filter(entry -> ElementHelper.keyExists(entry.getKey(), propertyKeys)).flatMap(entry -> entry.getValue().stream()).iterator();
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/97ece24d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertex.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertex.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertex.java
index 94cedaf..f3cf93d 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertex.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertex.java
@@ -93,7 +93,7 @@ public class DetachedVertex extends DetachedElement<Vertex> implements Vertex {
 
     @Override
     public <V> VertexProperty<V> property(final String key) {
-        if (this.properties.containsKey(key)) {
+        if (null != this.properties && this.properties.containsKey(key)) {
             final List<VertexProperty> list = (List) this.properties.get(key);
             if (list.size() > 1)
                 throw Vertex.Exceptions.multiplePropertiesExistForProvidedKey(key);
@@ -128,23 +128,25 @@ public class DetachedVertex extends DetachedElement<Vertex> implements Vertex {
 
     public static Vertex addTo(final Graph graph, final DetachedVertex detachedVertex) {
         final Vertex vertex = graph.addVertex(T.id, detachedVertex.id(), T.label, detachedVertex.label());
-        detachedVertex.properties.values().forEach(list -> {
-            list.forEach(dVertexProperty -> {
-                final DetachedVertexProperty<?> detachedVertexProperty = (DetachedVertexProperty) dVertexProperty;
-                if (!detachedVertexProperty.properties.isEmpty()) {
-                    final List<Object> metaProperties = new ArrayList<>();
-                    detachedVertexProperty.properties().forEachRemaining(detachedMetaProperty -> {
-                        metaProperties.add(detachedMetaProperty.key());
-                        metaProperties.add(detachedMetaProperty.value());
-                    });
-                    metaProperties.add(T.id);
-                    metaProperties.add(detachedVertexProperty.id());
-                    vertex.property(detachedVertexProperty.key(), detachedVertexProperty.value(), metaProperties.toArray());
-                } else {
-                    vertex.property(detachedVertexProperty.key(), detachedVertexProperty.value(), T.id, detachedVertexProperty.id());
-                }
+        if (null != detachedVertex.properties) {
+            detachedVertex.properties.values().forEach(list -> {
+                list.forEach(dVertexProperty -> {
+                    final DetachedVertexProperty<?> detachedVertexProperty = (DetachedVertexProperty) dVertexProperty;
+                    if (null != detachedVertexProperty.properties) {
+                        final List<Object> metaProperties = new ArrayList<>();
+                        detachedVertexProperty.properties().forEachRemaining(detachedMetaProperty -> {
+                            metaProperties.add(detachedMetaProperty.key());
+                            metaProperties.add(detachedMetaProperty.value());
+                        });
+                        metaProperties.add(T.id);
+                        metaProperties.add(detachedVertexProperty.id());
+                        vertex.property(detachedVertexProperty.key(), detachedVertexProperty.value(), metaProperties.toArray());
+                    } else {
+                        vertex.property(detachedVertexProperty.key(), detachedVertexProperty.value(), T.id, detachedVertexProperty.id());
+                    }
+                });
             });
-        });
+        }
         return vertex;
     }