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/16 22:33:13 UTC
incubator-tinkerpop git commit: more optimizations to DetachedVertex
and DetachEdge with respect to object creation.
Repository: incubator-tinkerpop
Updated Branches:
refs/heads/master 536ea46b9 -> 9a9e76e90
more optimizations to DetachedVertex and DetachEdge with respect to object creation.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/9a9e76e9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/9a9e76e9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/9a9e76e9
Branch: refs/heads/master
Commit: 9a9e76e907369d949af3187d4504ad98ceeb4a79
Parents: 536ea46
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon Mar 16 15:33:10 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon Mar 16 15:33:10 2015 -0600
----------------------------------------------------------------------
.../structure/util/detached/DetachedEdge.java | 3 +-
.../structure/util/detached/DetachedVertex.java | 30 +++++++++++---------
2 files changed, 19 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/9a9e76e9/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 2f11945..973b229 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,8 @@ public class DetachedEdge extends DetachedElement<Edge> implements Edge {
}
}
final Edge e = outV.addEdge(detachedEdge.label(), inV, T.id, detachedEdge.id());
- detachedEdge.properties.entrySet().forEach(kv -> kv.getValue().forEach(p -> e.<Object>property(kv.getKey(), p.value())));
+ if (!detachedEdge.properties.isEmpty())
+ 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/9a9e76e9/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 cd573d7..94cedaf 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
@@ -128,19 +128,23 @@ 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.entrySet().forEach(kv ->
- kv.getValue().forEach(property -> {
- final VertexProperty<?> vertexProperty = (VertexProperty) property;
- final List<Object> propsOnProps = new ArrayList<>();
- vertexProperty.properties().forEachRemaining(h -> {
- propsOnProps.add(h.key());
- propsOnProps.add(h.value());
- });
- propsOnProps.add(T.id);
- propsOnProps.add(vertexProperty.id());
- vertex.property(kv.getKey(), property.value(), propsOnProps.toArray());
- })
- );
+ 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());
+ }
+ });
+ });
return vertex;
}