You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2015/06/03 02:12:28 UTC

[23/50] [abbrv] incubator-tinkerpop git commit: Make it so that the default cardinality for TinkerGraph is a config.

Make it so that the default cardinality for TinkerGraph is a config.


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

Branch: refs/heads/preprocessor
Commit: d9e1932a046603a6e73414d4e66bc18a92d2f64b
Parents: 7441b6b
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri May 29 16:16:12 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri May 29 16:17:28 2015 -0400

----------------------------------------------------------------------
 .../gremlin/tinkergraph/structure/TinkerGraph.java   | 13 +++++++------
 .../gremlin/tinkergraph/structure/TinkerVertex.java  |  5 -----
 .../gremlin/tinkergraph/TinkerGraphProvider.java     | 15 +++++++++++++++
 3 files changed, 22 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/d9e1932a/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 f76d8f2..37bafb5 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
@@ -92,7 +92,7 @@ public final class TinkerGraph implements Graph {
     protected final IdManager<?> vertexIdManager;
     protected final IdManager<?> edgeIdManager;
     protected final IdManager<?> vertexPropertyIdManager;
-    //protected final VertexProperty.Cardinality defaultVertexPropertyCardinality;
+    protected final VertexProperty.Cardinality defaultVertexPropertyCardinality;
 
     private final Configuration configuration;
 
@@ -104,7 +104,8 @@ public final class TinkerGraph implements Graph {
         this.vertexIdManager = selectIdManager(configuration, CONFIG_VERTEX_ID, Vertex.class);
         this.edgeIdManager = selectIdManager(configuration, CONFIG_EDGE_ID, Edge.class);
         this.vertexPropertyIdManager = selectIdManager(configuration, CONFIG_VERTEX_PROPERTY_ID, VertexProperty.class);
-        //this.defaultVertexPropertyCardinality = VertexProperty.Cardinality.valueOf(configuration.getString(CONFIG_DEFAULT_VERTEX_PROPERTY_CARDINALITY, "single"));
+        this.defaultVertexPropertyCardinality = VertexProperty.Cardinality.valueOf(
+                configuration.getString(CONFIG_DEFAULT_VERTEX_PROPERTY_CARDINALITY, VertexProperty.Cardinality.single.name()));
     }
 
     /**
@@ -314,11 +315,11 @@ public final class TinkerGraph implements Graph {
             return vertexIdManager.allow(id);
         }
 
-        /*@Override
+        @Override
         public VertexProperty.Cardinality getCardinality(final String key) {
-            return VertexProperty.Cardinality.single;
-            //return defaultVertexPropertyCardinality;
-        }*/
+            //return VertexProperty.Cardinality.single;
+            return defaultVertexPropertyCardinality;
+        }
     }
 
     public class TinkerGraphEdgeFeatures implements Features.EdgeFeatures {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/d9e1932a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerVertex.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerVertex.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerVertex.java
index 2378e97..ca3a35b 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerVertex.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerVertex.java
@@ -82,11 +82,6 @@ public final class TinkerVertex extends TinkerElement implements Vertex {
         }
     }
 
-    /*@Override
-    public <V> VertexProperty<V> property(final String key, final V value, final Object... keyValues) {
-        return this.property(VertexProperty.Cardinality.single, key, value, keyValues);
-    }*/
-
     @Override
     public <V> VertexProperty<V> property(final VertexProperty.Cardinality cardinality, final String key, final V value, final Object... keyValues) {
         if (this.removed) throw Element.Exceptions.elementAlreadyRemoved(Vertex.class, this.id);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/d9e1932a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java
index dd53dde..f970214 100644
--- a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java
+++ b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java
@@ -23,7 +23,10 @@ import org.apache.tinkerpop.gremlin.AbstractGraphProvider;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.GraphTest;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.apache.tinkerpop.gremlin.structure.io.IoTest;
+import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedGraphTest;
+import org.apache.tinkerpop.gremlin.structure.util.star.StarGraphTest;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerEdge;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerElement;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
@@ -62,6 +65,8 @@ public class TinkerGraphProvider extends AbstractGraphProvider {
             put(TinkerGraph.CONFIG_VERTEX_ID, idMaker);
             put(TinkerGraph.CONFIG_EDGE_ID, idMaker);
             put(TinkerGraph.CONFIG_VERTEX_PROPERTY_ID, idMaker);
+            if (requiresListCardinalityAsDefault(loadGraphWith, test, testMethodName))
+                put(TinkerGraph.CONFIG_DEFAULT_VERTEX_PROPERTY_CARDINALITY, VertexProperty.Cardinality.list.name());
         }};
     }
 
@@ -77,6 +82,16 @@ public class TinkerGraphProvider extends AbstractGraphProvider {
     }
 
     /**
+     * Determines if a test requires a different cardinality as the default or not.
+     */
+    private static boolean requiresListCardinalityAsDefault(final LoadGraphWith.GraphData loadGraphWith,
+                                                            final Class<?> test, final String testMethodName) {
+        return loadGraphWith == LoadGraphWith.GraphData.CREW
+                || (test == StarGraphTest.class && testMethodName.equals("shouldAttachWithCreateMethod"))
+                || (test == DetachedGraphTest.class && testMethodName.equals("testAttachableCreateMethod"));
+    }
+
+    /**
      * Some tests require special configuration for TinkerGraph to properly configure the id manager.
      */
     private TinkerGraph.DefaultIdManager selectIdMakerFromTest(final Class<?> test, final String testMethodName) {