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 2015/06/26 14:20:40 UTC

incubator-tinkerpop git commit: Add gets for Property and VertexProperty on Result for gremlin-driver.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master 5f3f1a2c7 -> 804431537


Add gets for Property and VertexProperty on Result for gremlin-driver.


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

Branch: refs/heads/master
Commit: 8044315372dc663e168ec6ade047562a73c6a1d6
Parents: 5f3f1a2
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jun 26 08:20:09 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jun 26 08:20:09 2015 -0400

----------------------------------------------------------------------
 .../apache/tinkerpop/gremlin/driver/Result.java | 10 +++++++++
 .../tinkerpop/gremlin/driver/ResultTest.java    | 22 ++++++++++++++++++++
 .../server/GremlinResultSetIntegrateTest.java   | 18 ++++++++++++++++
 3 files changed, 50 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/80443153/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Result.java
----------------------------------------------------------------------
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Result.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Result.java
index 5845c08..f65f2be 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Result.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Result.java
@@ -22,7 +22,9 @@ import org.apache.tinkerpop.gremlin.driver.message.ResponseResult;
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Element;
+import org.apache.tinkerpop.gremlin.structure.Property;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 
 import java.util.Iterator;
 
@@ -94,6 +96,14 @@ public final class Result {
         return (Path) resultObject;
     }
 
+    public <V> Property<V> getProperty() {
+        return (Property<V>) resultObject;
+    }
+
+    public <V> VertexProperty<V> getVertexProperty() {
+        return (VertexProperty<V>) resultObject;
+    }
+
     public <T> T get(final Class<? extends T> clazz) {
         return clazz.cast(this.resultObject);
     }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/80443153/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultTest.java
----------------------------------------------------------------------
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultTest.java
index 2173f23..446d7a0 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultTest.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultTest.java
@@ -22,7 +22,9 @@ import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Element;
 import org.apache.tinkerpop.gremlin.structure.Graph;
+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.tinkergraph.structure.TinkerFactory;
 import org.junit.Test;
 
@@ -110,6 +112,17 @@ public class ResultTest {
     }
 
     @Test
+    public void shouldGetVertexProperty() {
+        final VertexProperty<String> v = g.vertices(1).next().property("name");
+        final Result result = new Result(v);
+
+        assertEquals(v, result.getVertexProperty());
+        assertEquals(v, result.get(VertexProperty.class));
+        assertEquals(v, result.getElement());
+        assertEquals(v, result.get(Element.class));
+    }
+
+    @Test
     public void shouldGetEdge() {
         final Edge e = g.edges(11).next();
         final Result result = new Result(e);
@@ -121,6 +134,15 @@ public class ResultTest {
     }
 
     @Test
+    public void shouldGetProperty() {
+        final Property<Double> p = g.edges(11).next().property("weight");
+        final Result result = new Result(p);
+
+        assertEquals(p, result.getProperty());
+        assertEquals(p, result.get(Property.class));
+    }
+
+    @Test
     public void shouldGetPath() {
         final Path p = g.traversal().V().out().path().next();
         final Result result = new Result(p);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/80443153/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java
index 7bbe065..9573b01 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinResultSetIntegrateTest.java
@@ -23,10 +23,14 @@ import org.apache.tinkerpop.gremlin.driver.Cluster;
 import org.apache.tinkerpop.gremlin.driver.ResultSet;
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.structure.Edge;
+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.util.detached.DetachedEdge;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedPath;
+import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedProperty;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
+import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertexProperty;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -83,6 +87,13 @@ public class GremlinResultSetIntegrateTest extends AbstractGremlinServerIntegrat
     }
 
     @Test
+    public void shouldHandleVertexPropertyResult() throws Exception {
+        final ResultSet results = client.submit("g.V().properties('name').next()");
+        final VertexProperty<String> v = results.all().get().get(0).getVertexProperty();
+        assertThat(v, instanceOf(DetachedVertexProperty.class));
+    }
+
+    @Test
     public void shouldHandleEdgeResult() throws Exception {
         final ResultSet results = client.submit("g.E().next()");
         final Edge e = results.all().get().get(0).getEdge();
@@ -90,6 +101,13 @@ public class GremlinResultSetIntegrateTest extends AbstractGremlinServerIntegrat
     }
 
     @Test
+    public void shouldHandlePropertyResult() throws Exception {
+        final ResultSet results = client.submit("g.E().properties('weight').next()");
+        final Property<Double> p = results.all().get().get(0).getProperty();
+        assertThat(p, instanceOf(DetachedProperty.class));
+    }
+
+    @Test
     public void shouldHandlePathResult() throws Exception {
         final ResultSet results = client.submit("g.V().out().path().next()");
         final Path p = results.all().get().get(0).getPath();