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/04/09 22:08:24 UTC

[1/7] incubator-tinkerpop git commit: added ReferenceEdgeTest... clean and consistent.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/TINKERPOP3-581 85e1a7145 -> 16d97e077


added ReferenceEdgeTest... clean and consistent.


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

Branch: refs/heads/TINKERPOP3-581
Commit: 2e9d3464409518560d7020d63acdc8cddc69ff32
Parents: e09e229
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu Apr 9 13:03:21 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu Apr 9 13:03:21 2015 -0600

----------------------------------------------------------------------
 .../structure/StructureStandardSuite.java       |   6 +-
 .../util/reference/ReferenceEdgeTest.java       | 136 +++++++++++++++++++
 .../util/reference/ReferenceVertexTest.java     |   3 +-
 .../structure/util/star/StarGraphTest.java      |  31 ++++-
 4 files changed, 171 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2e9d3464/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java
index 10645df..1b65447 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructureStandardSuite.java
@@ -25,6 +25,7 @@ import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdgeTest;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedPropertyTest;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertexPropertyTest;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertexTest;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceEdgeTest;
 import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertexTest;
 import org.apache.tinkerpop.gremlin.structure.util.star.StarGraphTest;
 import org.junit.runners.model.InitializationError;
@@ -46,6 +47,8 @@ import java.util.stream.Stream;
  * "Suite" implements {@link org.apache.tinkerpop.gremlin.GraphProvider} as a convenience only. It could be implemented in a
  * separate class file):
  * <code>
+ *
+ * @author Stephen Mallette (http://stephen.genoprime.com)
  * @RunWith(StructureStandardSuite.class)
  * @StructureStandardSuite.GraphProviderClass(TinkerGraphStructureStandardTest.class) public class TinkerGraphStructureStandardTest implements GraphProvider {
  * }
@@ -58,8 +61,6 @@ import java.util.stream.Stream;
  * Set the {@code gremlin.structure.tests} environment variable to a comma separated list of test classes to execute.
  * This setting can be helpful to restrict execution of tests to specific ones being focused on during development.
  * <br/>
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
  */
 public class StructureStandardSuite extends AbstractGremlinSuite {
 
@@ -79,6 +80,7 @@ public class StructureStandardSuite extends AbstractGremlinSuite {
             VertexPropertyTest.class,
             VariablesTest.class,
             PropertyTest.class,
+            ReferenceEdgeTest.class,
             ReferenceVertexTest.class,
             SerializationTest.class,
             StarGraphTest.class,

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2e9d3464/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
new file mode 100644
index 0000000..9857fa0
--- /dev/null
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
@@ -0,0 +1,136 @@
+/*
+ *
+ *  * Licensed to the Apache Software Foundation (ASF) under one
+ *  * or more contributor license agreements.  See the NOTICE file
+ *  * distributed with this work for additional information
+ *  * regarding copyright ownership.  The ASF licenses this file
+ *  * to you under the Apache License, Version 2.0 (the
+ *  * "License"); you may not use this file except in compliance
+ *  * with the License.  You may obtain a copy of the License at
+ *  *
+ *  * http://www.apache.org/licenses/LICENSE-2.0
+ *  *
+ *  * Unless required by applicable law or agreed to in writing,
+ *  * software distributed under the License is distributed on an
+ *  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  * KIND, either express or implied.  See the License for the
+ *  * specific language governing permissions and limitations
+ *  * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.structure.util.reference;
+
+import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
+import org.apache.tinkerpop.gremlin.FeatureRequirement;
+import org.apache.tinkerpop.gremlin.FeatureRequirementSet;
+import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
+import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public class ReferenceEdgeTest extends AbstractGremlinTest {
+
+    @Test
+    @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+    public void shouldNotConstructNewWithSomethingAlreadyReferenced() {
+        final Vertex v = graph.addVertex();
+        final Edge e = v.addEdge("test", v);
+        final ReferenceEdge re = ReferenceFactory.detach(e);
+        assertSame(re, ReferenceFactory.detach(re));
+    }
+
+    @Test
+    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+    @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+    @FeatureRequirement(featureClass = Graph.Features.EdgePropertyFeatures.class, feature = Graph.Features.EdgePropertyFeatures.FEATURE_DOUBLE_VALUES)
+    public void shouldConstructReferenceEdge() {
+        g.E(convertToEdgeId("marko", "knows", "vadas")).next().property("year", 2002);
+        final ReferenceEdge referenceEdge = ReferenceFactory.detach(g.E(convertToEdgeId("marko", "knows", "vadas")).next());
+        assertEquals(convertToEdgeId("marko", "knows", "vadas"), referenceEdge.id());
+        assertEquals(0, IteratorUtils.count(referenceEdge.properties()));
+        assertEquals(0, IteratorUtils.count(referenceEdge.vertices(Direction.BOTH)));
+    }
+
+    @Test
+    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+    public void shouldEvaluateToEqual() {
+        assertTrue(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next()).equals(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next())));
+        assertTrue(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next()).equals(g.E(convertToEdgeId("josh", "created", "lop")).next()));
+        assertTrue(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next()).equals(DetachedFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next(), true)));
+        //
+        assertTrue(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next()).equals(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next())));
+        assertTrue(g.E(convertToEdgeId("josh", "created", "lop")).next().equals(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next())));
+        assertTrue(DetachedFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next(), true).equals(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next())));
+    }
+
+    @Test
+    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+    public void shouldHaveSameHashCode() {
+        assertEquals(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next()).hashCode(), ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next()).hashCode());
+        assertEquals(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next()).hashCode(), g.E(convertToEdgeId("josh", "created", "lop")).next().hashCode());
+        assertEquals(ReferenceFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next()).hashCode(), DetachedFactory.detach(g.E(convertToEdgeId("josh", "created", "lop")).next(), false).hashCode());
+    }
+
+    @Test
+    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+    public void shouldAttachToGraph() {
+        final Edge toReference = g.E(convertToEdgeId("josh", "created", "lop")).next();
+        final ReferenceEdge referenceEdge = ReferenceFactory.detach(toReference);
+        final Edge referenced = referenceEdge.attach(graph);
+
+        assertEquals(toReference, referenced);
+        assertFalse(referenced instanceof ReferenceEdge);
+    }
+
+    @Test
+    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+    public void shouldAttachToVertex() {
+        final Edge toReference = g.E(convertToEdgeId("josh", "created", "lop")).next();
+        final Vertex outV = toReference.vertices(Direction.OUT).next();
+        final ReferenceEdge detachedEdge = ReferenceFactory.detach(toReference);
+        final Edge attached = detachedEdge.attach(outV);
+
+        assertEquals(toReference, attached);
+        assertFalse(attached instanceof ReferenceEdge);
+    }
+
+    @Test
+    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+    @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+    @FeatureRequirement(featureClass = Graph.Features.EdgePropertyFeatures.class, feature = Graph.Features.EdgePropertyFeatures.FEATURE_DOUBLE_VALUES)
+    public void shouldNotEvaluateToEqualDifferentId() {
+        final Object joshCreatedLopEdgeId = convertToEdgeId("josh", "created", "lop");
+        final Vertex vOut = g.V(convertToVertexId("josh")).next();
+        final Vertex vIn = g.V(convertToVertexId("lop")).next();
+        final Edge e = vOut.addEdge("created", vIn, "weight", 0.4d);
+        assertFalse(ReferenceFactory.detach(g.E(joshCreatedLopEdgeId).next()).equals(ReferenceFactory.detach(e)));
+    }
+
+    @Test(expected = IllegalStateException.class)
+    @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+    public void shouldNotAllowSetProperty() {
+        final Vertex v = graph.addVertex();
+        final Edge e = v.addEdge("test", v);
+        final ReferenceEdge re = ReferenceFactory.detach(e);
+        re.property("test", "test");
+    }
+
+    @Test(expected = IllegalStateException.class)
+    @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+    public void shouldNotAllowRemove() {
+        final Vertex v = graph.addVertex();
+        final Edge e = v.addEdge("test", v);
+        final ReferenceEdge re = ReferenceFactory.detach(e);
+        re.remove();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2e9d3464/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
index 5250c39..f621fa7 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
@@ -63,12 +63,13 @@ public class ReferenceVertexTest extends AbstractGremlinTest {
     public void shouldEvaluateToEqualForVerticesAndDetachments() {
         assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next())));
         assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).equals(g.V(convertToVertexId("marko")).next()));
+        assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).equals(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), true)));
         assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()).equals(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), false)));
         // reverse
         assertTrue(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next().equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next()))));
         assertTrue(g.V(convertToVertexId("marko")).next().equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next())));
+        assertTrue(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), true).equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next())));
         assertTrue(DetachedFactory.detach(g.V(convertToVertexId("marko")).next(), false).equals(ReferenceFactory.detach(g.V(convertToVertexId("marko")).next())));
-
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2e9d3464/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
index d50d9ee..eedde68 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
@@ -101,7 +101,7 @@ public class StarGraphTest extends AbstractGremlinTest {
         final AtomicInteger originalPropertyCounter = new AtomicInteger(0);
         final AtomicInteger starCounter = new AtomicInteger(0);
         matthias.properties().forEachRemaining(vertexProperty -> {
-            starCounter.incrementAndGet();
+            originalCounter.incrementAndGet();
             matthiasStar.properties(vertexProperty.label()).forEachRemaining(starVertexProperty -> {
                 if (starVertexProperty.equals(vertexProperty)) {
                     assertEquals(starVertexProperty.id(), vertexProperty.id());
@@ -109,7 +109,7 @@ public class StarGraphTest extends AbstractGremlinTest {
                     assertEquals(starVertexProperty.value(), vertexProperty.value());
                     assertEquals(starVertexProperty.key(), vertexProperty.key());
                     assertEquals(starVertexProperty.element(), vertexProperty.element());
-                    originalCounter.incrementAndGet();
+                    starCounter.incrementAndGet();
                     vertexProperty.properties().forEachRemaining(p -> {
                         originalPropertyCounter.incrementAndGet();
                         assertEquals(p.value(), starVertexProperty.property(p.key()).value());
@@ -122,5 +122,32 @@ public class StarGraphTest extends AbstractGremlinTest {
         assertEquals(5, originalCounter.get());
         assertEquals(5, starCounter.get());
         assertEquals(7, originalPropertyCounter.get());
+
+        originalCounter.set(0);
+        starCounter.set(0);
+        originalPropertyCounter.set(0);
+
+        matthiasStar.properties().forEachRemaining(starVertexProperty -> {
+            starCounter.incrementAndGet();
+            matthias.properties(starVertexProperty.label()).forEachRemaining(vertexProperty -> {
+                if (starVertexProperty.equals(vertexProperty)) {
+                    assertEquals(vertexProperty.id(), starVertexProperty.id());
+                    assertEquals(vertexProperty.label(), starVertexProperty.label());
+                    assertEquals(vertexProperty.value(), starVertexProperty.value());
+                    assertEquals(vertexProperty.key(), starVertexProperty.key());
+                    assertEquals(vertexProperty.element(), starVertexProperty.element());
+                    originalCounter.incrementAndGet();
+                    starVertexProperty.properties().forEachRemaining(p -> {
+                        originalPropertyCounter.incrementAndGet();
+                        assertEquals(p.value(), vertexProperty.property(p.key()).value());
+                        assertEquals(p.key(), vertexProperty.property(p.key()).key());
+                        assertEquals(p.element(), vertexProperty.property(p.key()).element());
+                    });
+                }
+            });
+        });
+        assertEquals(5, originalCounter.get());
+        assertEquals(5, starCounter.get());
+        assertEquals(7, originalPropertyCounter.get());
     }
 }


[7/7] incubator-tinkerpop git commit: Add javadoc to the TinkerGraph.DefaultIdManager.

Posted by sp...@apache.org.
Add javadoc to the TinkerGraph.DefaultIdManager.


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

Branch: refs/heads/TINKERPOP3-581
Commit: 16d97e0772fbd9375fd9e2b1e54308e6158dd236
Parents: b86c466
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Apr 9 16:07:48 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Apr 9 16:07:48 2015 -0400

----------------------------------------------------------------------
 .../tinkergraph/structure/TinkerGraph.java      | 65 ++++++++------------
 1 file changed, 24 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/16d97e07/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
index 31ff696..25b3a3e 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
@@ -450,47 +450,6 @@ public class TinkerGraph implements Graph {
         }
     }
 
-    ///////////// HELPERS METHODS ///////////////
-
-    /**
-     * Function to coerce a provided identifier to a different type given the expected id type of an element.
-     * This allows something like {@code g.V(1,2,3)} and {@code g.V(1l,2l,3l)} to both mean the same thing.
-     */
-    private UnaryOperator<Object> convertToId(final Object id, final Class<?> elementIdClass) {
-        if (id instanceof Number) {
-            if (elementIdClass != null) {
-                if (elementIdClass.equals(Long.class)) {
-                    return o -> ((Number) o).longValue();
-                } else if (elementIdClass.equals(Integer.class)) {
-                    return o -> ((Number) o).intValue();
-                } else if (elementIdClass.equals(Double.class)) {
-                    return o -> ((Number) o).doubleValue();
-                } else if (elementIdClass.equals(Float.class)) {
-                    return o -> ((Number) o).floatValue();
-                } else if (elementIdClass.equals(String.class)) {
-                    return o -> o.toString();
-                }
-            }
-        } else if (id instanceof String) {
-            if (elementIdClass != null) {
-                final String s = (String) id;
-                if (elementIdClass.equals(Long.class)) {
-                    return o -> Long.parseLong(s);
-                } else if (elementIdClass.equals(Integer.class)) {
-                    return o -> Integer.parseInt(s);
-                } else if (elementIdClass.equals(Double.class)) {
-                    return o -> Double.parseDouble(s);
-                } else if (elementIdClass.equals(Float.class)) {
-                    return o -> Float.parseFloat(s);
-                } else if (elementIdClass.equals(UUID.class)) {
-                    return o -> UUID.fromString(s);
-                }
-            }
-        }
-
-        return UnaryOperator.identity();
-    }
-
     /**
      * TinkerGraph will use an implementation of this interface to generate identifiers when a user does not supply
      * them and to handle identifier conversions when querying to provide better flexibility with respect to
@@ -512,7 +471,14 @@ public class TinkerGraph implements Graph {
         T convert(final Object id);
     }
 
+    /**
+     * A default set of {@link IdManager} implementations for common identifier types.
+     */
     public enum DefaultIdManager implements IdManager {
+        /**
+         * Manages identifiers of type {@code Long}. Will convert any class that extends from {@link Number} to a
+         * {@link Long} and will also attempt to convert {@code String} values
+         */
         LONG {
             private long currentId = -1l;
             @Override
@@ -530,6 +496,11 @@ public class TinkerGraph implements Graph {
                     throw new IllegalArgumentException("Expected an id that is convertible to Long");
             }
         },
+
+        /**
+         * Manages identifiers of type {@code Integer}. Will convert any class that extends from {@link Number} to a
+         * {@link Integer} and will also attempt to convert {@code String} values
+         */
         INTEGER {
             private int currentId = -1;
             @Override
@@ -547,6 +518,11 @@ public class TinkerGraph implements Graph {
                     throw new IllegalArgumentException("Expected an id that is convertible to Integer");
             }
         },
+
+        /**
+         * Manages identifiers of type {@link java.util.UUID}. Will convert {@code String} values to
+         * {@link java.util.UUID}.
+         */
         UUID {
             @Override
             public UUID getNextId(final TinkerGraph graph) {
@@ -563,6 +539,13 @@ public class TinkerGraph implements Graph {
                     throw new IllegalArgumentException("Expected an id that is convertible to UUID");
             }
         },
+
+        /**
+         * Manages identifiers of any type.  This represents the default way {@link TinkerGraph} has always worked.
+         * In other words, there is no identifier conversion so if the identifier of a vertex is a {@code Long}, then
+         * trying to request it with an {@code Integer} will have no effect. Also, like the original
+         * {@link TinkerGraph}, it will generate {@link Long} values for identifiers.
+         */
         ANY {
             private long currentId = -1l;
             @Override


[3/7] incubator-tinkerpop git commit: more testing around hashing and equality.

Posted by sp...@apache.org.
more testing around hashing and equality.


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

Branch: refs/heads/TINKERPOP3-581
Commit: 5575ab6e9c45db7195a7da19d646f68952a960fe
Parents: ce33a05
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu Apr 9 13:25:51 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu Apr 9 13:25:51 2015 -0600

----------------------------------------------------------------------
 .../structure/util/detached/DetachedEdgeTest.java | 17 +++++++++++++++++
 .../util/detached/DetachedVertexTest.java         | 15 +++++++++++++++
 .../util/reference/ReferenceEdgeTest.java         | 16 ++++++++++++++++
 .../util/reference/ReferenceVertexTest.java       | 15 +++++++++++++++
 .../structure/util/star/StarGraphTest.java        | 18 ++++++++++++++++++
 5 files changed, 81 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java
index 12cba03..eaf62b1 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdgeTest.java
@@ -26,13 +26,16 @@ import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceFactory;
 import org.apache.tinkerpop.gremlin.util.StreamFactory;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.javatuples.Pair;
 import org.junit.Test;
 
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData;
 import static org.junit.Assert.*;
@@ -44,6 +47,20 @@ public class DetachedEdgeTest extends AbstractGremlinTest {
 
     @Test
     @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+    public void shouldHashAndEqualCorrectly() {
+        final Vertex v = graph.addVertex();
+        final Edge e = v.addEdge("test", v);
+        final Set<Edge> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(DetachedFactory.detach(e,true));
+            set.add(DetachedFactory.detach(e,false));
+            set.add(e);
+        }
+        assertEquals(1, set.size());
+    }
+
+    @Test
+    @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
     public void shouldNotConstructNewWithSomethingAlreadyDetached() {
         final Vertex v = graph.addVertex();
         final Edge e = v.addEdge("test", v);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java
index 98fe1ac..46542f8 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedVertexTest.java
@@ -31,8 +31,10 @@ import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import static org.junit.Assert.*;
 
@@ -43,6 +45,19 @@ public class DetachedVertexTest extends AbstractGremlinTest {
 
     @Test
     @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
+    public void shouldHashAndEqualCorrectly() {
+        final Vertex v = graph.addVertex();
+        final Set<Vertex> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(DetachedFactory.detach(v, true));
+            set.add(DetachedFactory.detach(v, false));
+            set.add(v);
+        }
+        assertEquals(1, set.size());
+    }
+
+    @Test
+    @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
     public void shouldNotConstructNewWithSomethingAlreadyDetached() {
         final Vertex v = graph.addVertex();
         final DetachedVertex dv = DetachedFactory.detach(v, true);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
index 9857fa0..616d26e 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
@@ -33,6 +33,9 @@ import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Test;
 
+import java.util.HashSet;
+import java.util.Set;
+
 import static org.junit.Assert.*;
 
 /**
@@ -42,6 +45,19 @@ public class ReferenceEdgeTest extends AbstractGremlinTest {
 
     @Test
     @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+    public void shouldHashAndEqualCorrectly() {
+        final Vertex v = graph.addVertex();
+        final Edge e = v.addEdge("test", v);
+        final Set<Edge> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(ReferenceFactory.detach(e));
+            set.add(e);
+        }
+        assertEquals(1, set.size());
+    }
+
+    @Test
+    @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
     public void shouldNotConstructNewWithSomethingAlreadyReferenced() {
         final Vertex v = graph.addVertex();
         final Edge e = v.addEdge("test", v);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
index f621fa7..575d151 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexTest.java
@@ -32,6 +32,9 @@ import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Test;
 
+import java.util.HashSet;
+import java.util.Set;
+
 import static org.junit.Assert.*;
 
 /**
@@ -41,6 +44,18 @@ public class ReferenceVertexTest extends AbstractGremlinTest {
 
     @Test
     @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
+    public void shouldHashAndEqualCorrectly() {
+        final Vertex v = graph.addVertex();
+        final Set<Vertex> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(ReferenceFactory.detach(v));
+            set.add(v);
+        }
+        assertEquals(1, set.size());
+    }
+
+    @Test
+    @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY)
     public void shouldNotConstructNewWithSomethingAlreadyDetached() {
         final Vertex v = graph.addVertex();
         final ReferenceVertex referenceVertex = ReferenceFactory.detach(v);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5575ab6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
index eedde68..c9db32d 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java
@@ -26,11 +26,14 @@ import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceFactory;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Test;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.junit.Assert.assertEquals;
@@ -42,6 +45,21 @@ public class StarGraphTest extends AbstractGremlinTest {
 
     @Test
     @LoadGraphWith(LoadGraphWith.GraphData.CREW)
+    public void shouldHashAndEqualsCorrectly() {
+        final Vertex gremlin = g.V(convertToVertexId("gremlin")).next();
+        final StarGraph starGraph = StarGraph.of(gremlin);
+        final StarGraph.StarVertex gremlinStar = starGraph.getStarVertex();
+        final Set<Vertex> set = new HashSet<>();
+        for (int i = 0; i < 100; i++) {
+            set.add(gremlin);
+            set.add(gremlinStar);
+        }
+        assertEquals(1, set.size());
+    }
+
+
+    @Test
+    @LoadGraphWith(LoadGraphWith.GraphData.CREW)
     public void originalAndStarVerticesShouldHaveTheSameTopology() {
         final Vertex gremlin = g.V(convertToVertexId("gremlin")).next();
         final StarGraph starGraph = StarGraph.of(gremlin);


[2/7] incubator-tinkerpop git commit: minor tweak to TraverserExecutor.

Posted by sp...@apache.org.
minor tweak to TraverserExecutor.


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

Branch: refs/heads/TINKERPOP3-581
Commit: ce33a057eb8623b909ac1c4da24bef4ddbb04f8a
Parents: 2e9d346
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu Apr 9 13:18:15 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu Apr 9 13:18:15 2015 -0600

----------------------------------------------------------------------
 .../gremlin/process/computer/traversal/TraverserExecutor.java   | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce33a057/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java
index d927d74..79175b1 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java
@@ -30,6 +30,7 @@ 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.util.detached.DetachedElement;
+import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedProperty;
 
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -62,7 +63,9 @@ public final class TraverserExecutor {
                 if (traverser.get() instanceof Element || traverser.get() instanceof Property) {      // GRAPH OBJECT
                     // if the element is remote, then message, else store it locally for re-processing
                     final Vertex hostingVertex = TraverserExecutor.getHostingVertex(traverser.get());
-                    if (!vertex.equals(hostingVertex) || traverser.get() instanceof DetachedElement) { // TODO: why is the DetachedElement instanceof needed?
+                    if (!vertex.equals(hostingVertex)
+                            || traverser.get() instanceof DetachedElement
+                            || traverser.get() instanceof DetachedProperty) { // necessary for path access (but why are these not ReferenceXXX?)
                         voteToHalt.set(false);
                         traverser.detach();
                         messenger.sendMessage(MessageScope.Global.of(hostingVertex), new TraverserSet<>(traverser));


[4/7] incubator-tinkerpop git commit: Dropped an unused interface method on the TinkerGraph.IdManager.

Posted by sp...@apache.org.
Dropped an unused interface method on the TinkerGraph.IdManager.


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

Branch: refs/heads/TINKERPOP3-581
Commit: ec8258e951cbc6a47b9b416e70cea6acc9d33c49
Parents: 85e1a71
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Apr 9 15:46:24 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Apr 9 15:46:24 2015 -0400

----------------------------------------------------------------------
 .../tinkergraph/structure/TinkerGraph.java      | 21 --------------------
 1 file changed, 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ec8258e9/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
index 4acbf66..d310f94 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
@@ -493,7 +493,6 @@ public class TinkerGraph implements Graph {
 
     public interface IdManager<T> {
         T getNextId(final TinkerGraph graph);
-        Class<? extends T> getIdClass();
         T convert(final Object o);
     }
 
@@ -506,11 +505,6 @@ public class TinkerGraph implements Graph {
             }
 
             @Override
-            public Class<? extends Long> getIdClass() {
-                return Long.class;
-            }
-
-            @Override
             public Object convert(final Object o) {
                 if (o instanceof Number)
                     return ((Number) o).longValue();
@@ -528,11 +522,6 @@ public class TinkerGraph implements Graph {
             }
 
             @Override
-            public Class<? extends Integer> getIdClass() {
-                return Integer.class;
-            }
-
-            @Override
             public Object convert(final Object o) {
                 if (o instanceof Number)
                     return ((Number) o).intValue();
@@ -549,11 +538,6 @@ public class TinkerGraph implements Graph {
             }
 
             @Override
-            public Class<? extends UUID> getIdClass() {
-                return java.util.UUID.class;
-            }
-
-            @Override
             public Object convert(final Object o) {
                 if (o instanceof java.util.UUID)
                     return o;
@@ -571,11 +555,6 @@ public class TinkerGraph implements Graph {
             }
 
             @Override
-            public Class<? extends Object> getIdClass() {
-                return Object.class;
-            }
-
-            @Override
             public Object convert(final Object o) {
                 return o;
             }


[5/7] incubator-tinkerpop git commit: Add some javadoc to the TinkerGraph.IdManager interface.

Posted by sp...@apache.org.
Add some javadoc to the TinkerGraph.IdManager interface.


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

Branch: refs/heads/TINKERPOP3-581
Commit: 0559f8f877b6006adb44cc8b293326dfc6ac1c61
Parents: ec8258e
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Apr 9 15:53:56 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Apr 9 15:53:56 2015 -0400

----------------------------------------------------------------------
 .../tinkergraph/structure/TinkerGraph.java      | 52 +++++++++++++-------
 1 file changed, 34 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/0559f8f8/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
index d310f94..31ff696 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
@@ -491,9 +491,25 @@ public class TinkerGraph implements Graph {
         return UnaryOperator.identity();
     }
 
+    /**
+     * TinkerGraph will use an implementation of this interface to generate identifiers when a user does not supply
+     * them and to handle identifier conversions when querying to provide better flexibility with respect to
+     * handling different data types that mean the same thing.  For example, the
+     * {@link DefaultIdManager#LONG} implementation will allow {@code g.vertices(1l, 2l)} and
+     * {@code g.vertices(1, 2)} to both return values.
+     *
+     * @param <T> the id type
+     */
     public interface IdManager<T> {
+        /**
+         * Generate an identifier which should be unique to the {@link TinkerGraph} instance.
+         */
         T getNextId(final TinkerGraph graph);
-        T convert(final Object o);
+
+        /**
+         * Convert an identifier to the type required by the manager.
+         */
+        T convert(final Object id);
     }
 
     public enum DefaultIdManager implements IdManager {
@@ -505,11 +521,11 @@ public class TinkerGraph implements Graph {
             }
 
             @Override
-            public Object convert(final Object o) {
-                if (o instanceof Number)
-                    return ((Number) o).longValue();
-                else if (o instanceof String)
-                    return Long.parseLong((String) o);
+            public Object convert(final Object id) {
+                if (id instanceof Number)
+                    return ((Number) id).longValue();
+                else if (id instanceof String)
+                    return Long.parseLong((String) id);
                 else
                     throw new IllegalArgumentException("Expected an id that is convertible to Long");
             }
@@ -522,11 +538,11 @@ public class TinkerGraph implements Graph {
             }
 
             @Override
-            public Object convert(final Object o) {
-                if (o instanceof Number)
-                    return ((Number) o).intValue();
-                else if (o instanceof String)
-                    return Integer.parseInt((String) o);
+            public Object convert(final Object id) {
+                if (id instanceof Number)
+                    return ((Number) id).intValue();
+                else if (id instanceof String)
+                    return Integer.parseInt((String) id);
                 else
                     throw new IllegalArgumentException("Expected an id that is convertible to Integer");
             }
@@ -538,11 +554,11 @@ public class TinkerGraph implements Graph {
             }
 
             @Override
-            public Object convert(final Object o) {
-                if (o instanceof java.util.UUID)
-                    return o;
-                else if (o instanceof String)
-                    return java.util.UUID.fromString((String) o);
+            public Object convert(final Object id) {
+                if (id instanceof java.util.UUID)
+                    return id;
+                else if (id instanceof String)
+                    return java.util.UUID.fromString((String) id);
                 else
                     throw new IllegalArgumentException("Expected an id that is convertible to UUID");
             }
@@ -555,8 +571,8 @@ public class TinkerGraph implements Graph {
             }
 
             @Override
-            public Object convert(final Object o) {
-                return o;
+            public Object convert(final Object id) {
+                return id;
             }
         }
     }


[6/7] incubator-tinkerpop git commit: Merge remote-tracking branch 'origin/master' into TINKERPOP3-581

Posted by sp...@apache.org.
Merge remote-tracking branch 'origin/master' into TINKERPOP3-581


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

Branch: refs/heads/TINKERPOP3-581
Commit: b86c46645055cb34faa61d72fa0d81db01679115
Parents: 0559f8f 5575ab6
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Apr 9 15:54:23 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Apr 9 15:54:23 2015 -0400

----------------------------------------------------------------------
 .../computer/traversal/TraverserExecutor.java   |   5 +-
 .../structure/StructureStandardSuite.java       |   6 +-
 .../util/detached/DetachedEdgeTest.java         |  17 +++
 .../util/detached/DetachedVertexTest.java       |  15 ++
 .../util/reference/ReferenceEdgeTest.java       | 152 +++++++++++++++++++
 .../util/reference/ReferenceVertexTest.java     |  18 ++-
 .../structure/util/star/StarGraphTest.java      |  49 +++++-
 7 files changed, 256 insertions(+), 6 deletions(-)
----------------------------------------------------------------------