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/04/07 23:35:56 UTC

incubator-tinkerpop git commit: fixed an NPE with StarVertex.vertices(BOTH).

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/star_graph 1478e778d -> 2fc49e1b3


fixed an NPE with StarVertex.vertices(BOTH).


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

Branch: refs/heads/star_graph
Commit: 2fc49e1b3045e9ad82410ecfd1141aaa861c96de
Parents: 1478e77
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Apr 7 15:35:54 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Apr 7 15:35:54 2015 -0600

----------------------------------------------------------------------
 .../gremlin/process/computer/util/star/StarGraph.java    | 11 ++++++++---
 .../gremlin/process/computer/util/star/StarInEdge.java   |  2 +-
 .../gremlin/process/computer/util/star/StarInVertex.java |  2 +-
 .../gremlin/process/computer/util/star/StarOutEdge.java  |  2 +-
 .../process/computer/util/star/StarOutVertex.java        |  2 +-
 .../gremlin/process/computer/util/star/StarProperty.java |  2 +-
 .../gremlin/process/computer/util/star/StarVertex.java   |  9 +++++++--
 .../process/computer/util/star/StarVertexProperty.java   |  2 +-
 8 files changed, 21 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2fc49e1b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarGraph.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarGraph.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarGraph.java
index 13c6a81..f9f0941 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarGraph.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarGraph.java
@@ -31,6 +31,7 @@ import org.apache.tinkerpop.gremlin.structure.Transaction;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
+import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
 
@@ -43,7 +44,7 @@ import java.util.stream.Stream;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class StarGraph implements Graph {
+public final class StarGraph implements Graph {
 
     private static final Configuration EMPTY_CONFIGURATION = new BaseConfiguration();
 
@@ -66,7 +67,6 @@ public class StarGraph implements Graph {
 
     @Override
     public Iterator<Vertex> vertices(final Object... vertexIds) {
-        System.out.println(this.starVertex.outEdges);
         return null == this.starVertex ?
                 Collections.emptyIterator() :
                 Stream.concat(
@@ -116,6 +116,11 @@ public class StarGraph implements Graph {
 
     }
 
+    @Override
+    public String toString() {
+        return StringFactory.graphString(this, "starOf:" + this.starVertex);
+    }
+
     public static StarGraph open() {
         return new StarGraph();
     }
@@ -129,6 +134,7 @@ public class StarGraph implements Graph {
             final VertexProperty<?> vertexProperty = graph.starVertex.property(VertexProperty.Cardinality.list, detachedVertexProperty.key(), detachedVertexProperty.value());
             detachedVertexProperty.properties().forEachRemaining(detachedVertexPropertyProperty -> {
                 vertexProperty.property(detachedVertexPropertyProperty.key(), detachedVertexPropertyProperty.value());
+                // todo: id of vertex property
             });
         });
         return graph.starVertex;
@@ -150,5 +156,4 @@ public class StarGraph implements Graph {
     protected static Long randomId() {
         return new Random().nextLong(); // TODO: you shouldn't need this!
     }
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2fc49e1b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInEdge.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInEdge.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInEdge.java
index 82da76e..5d382a8 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInEdge.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInEdge.java
@@ -30,7 +30,7 @@ import java.util.Iterator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class StarInEdge extends StarEdge {
+public final class StarInEdge extends StarEdge {
 
     private final StarOutVertex starOutVertex;
     private final StarVertex starVertex;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2fc49e1b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInVertex.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInVertex.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInVertex.java
index cbdef7e..b9ea627 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInVertex.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarInVertex.java
@@ -31,7 +31,7 @@ import java.util.List;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class StarInVertex extends StarAdjacentVertex {
+public final class StarInVertex extends StarAdjacentVertex {
 
     public StarInVertex(final Object id, final StarVertex starVertex) {
         super(id, starVertex);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2fc49e1b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutEdge.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutEdge.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutEdge.java
index 4a1e795..533bea6 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutEdge.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutEdge.java
@@ -30,7 +30,7 @@ import java.util.Iterator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class StarOutEdge extends StarEdge {
+public final class StarOutEdge extends StarEdge {
 
     private final StarVertex starVertex;
     private final StarInVertex starInVertex;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2fc49e1b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutVertex.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutVertex.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutVertex.java
index 82fdc3a..c6ead65 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutVertex.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarOutVertex.java
@@ -31,7 +31,7 @@ import java.util.List;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class StarOutVertex extends StarAdjacentVertex {
+public final class StarOutVertex extends StarAdjacentVertex {
 
     public StarOutVertex(final Object id, final StarVertex starVertex) {
         super(id, starVertex);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2fc49e1b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarProperty.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarProperty.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarProperty.java
index 407ed3e..e884f30 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarProperty.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarProperty.java
@@ -29,7 +29,7 @@ import java.util.NoSuchElementException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class StarProperty<V> implements Property<V> {
+public final class StarProperty<V> implements Property<V> {
 
     private final String key;
     private final V value;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2fc49e1b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertex.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertex.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertex.java
index 6b99ef2..a66657a 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertex.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertex.java
@@ -39,7 +39,7 @@ import java.util.stream.Stream;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class StarVertex extends StarElement implements Vertex {
+public final class StarVertex extends StarElement implements Vertex {
 
     protected Map<String, List<VertexProperty<?>>> properties = null;
     protected Map<String, List<Edge>> outEdges = new HashMap<>();
@@ -113,7 +113,12 @@ public class StarVertex extends StarElement implements Vertex {
                     .map(Edge::outVertex)
                     .iterator();
         } else {
-            return null;
+            return Stream.concat(this.outEdges.entrySet().stream(), this.inEdges.entrySet().stream())
+                    .filter(entry -> ElementHelper.keyExists(entry.getKey(), edgeLabels))
+                    .map(Map.Entry::getValue)
+                    .flatMap(List::stream)
+                    .map(Edge::outVertex)
+                    .iterator();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2fc49e1b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertexProperty.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertexProperty.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertexProperty.java
index 1e09803..d3e35f5 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertexProperty.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/star/StarVertexProperty.java
@@ -36,7 +36,7 @@ import java.util.NoSuchElementException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class StarVertexProperty<V> implements VertexProperty<V> {
+public final class StarVertexProperty<V> implements VertexProperty<V> {
 
     private final Object id;
     private final String key;