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/02/11 16:14:42 UTC

[2/3] incubator-tinkerpop git commit: clone global strategies for each traversal instance

clone global strategies for each traversal instance


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

Branch: refs/heads/master
Commit: 41aa686dcf881fa025f521f987633a2b4bdfa64a
Parents: f9f157c
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Feb 11 16:10:46 2015 +0100
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed Feb 11 16:10:46 2015 +0100

----------------------------------------------------------------------
 .../process/traversal/DefaultTraversal.java     | 21 +++++------
 .../tinkergraph/structure/TinkerGraphTest.java  | 37 +++++++-------------
 2 files changed, 21 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/41aa686d/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/traversal/DefaultTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/traversal/DefaultTraversal.java b/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/traversal/DefaultTraversal.java
index eef59db..5ab3d64 100644
--- a/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/traversal/DefaultTraversal.java
+++ b/gremlin-core/src/main/java/com/tinkerpop/gremlin/process/traversal/DefaultTraversal.java
@@ -18,21 +18,12 @@
  */
 package com.tinkerpop.gremlin.process.traversal;
 
-import com.tinkerpop.gremlin.process.Step;
-import com.tinkerpop.gremlin.process.Traversal;
-import com.tinkerpop.gremlin.process.TraversalEngine;
-import com.tinkerpop.gremlin.process.TraversalSideEffects;
-import com.tinkerpop.gremlin.process.TraversalStrategies;
-import com.tinkerpop.gremlin.process.Traverser;
+import com.tinkerpop.gremlin.process.*;
 import com.tinkerpop.gremlin.process.traversal.step.EmptyStep;
 import com.tinkerpop.gremlin.process.traversal.step.TraversalParent;
 import com.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
@@ -53,7 +44,7 @@ public class DefaultTraversal<S, E> implements Traversal.Admin<S, E> {
     protected TraversalParent traversalParent = (TraversalParent) EmptyStep.instance();
 
     public DefaultTraversal(final Class emanatingClass) {
-        this.strategies = TraversalStrategies.GlobalCache.getStrategies(emanatingClass);
+        this.setStrategies(TraversalStrategies.GlobalCache.getStrategies(emanatingClass));
     }
 
     @Override
@@ -186,7 +177,11 @@ public class DefaultTraversal<S, E> implements Traversal.Admin<S, E> {
 
     @Override
     public void setStrategies(final TraversalStrategies strategies) {
-        this.strategies = strategies;
+        try {
+            this.strategies = strategies.clone();
+        } catch (CloneNotSupportedException e) {
+            throw new IllegalStateException(e.getMessage(), e);
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/41aa686d/tinkergraph-gremlin/src/test/java/com/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/test/java/com/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java b/tinkergraph-gremlin/src/test/java/com/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
index 719660e..bbc756e 100644
--- a/tinkergraph-gremlin/src/test/java/com/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
+++ b/tinkergraph-gremlin/src/test/java/com/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
@@ -21,6 +21,9 @@ package com.tinkerpop.gremlin.tinkergraph.structure;
 import com.tinkerpop.gremlin.AbstractGremlinTest;
 import com.tinkerpop.gremlin.process.T;
 import com.tinkerpop.gremlin.process.Traversal;
+import com.tinkerpop.gremlin.process.graph.traversal.strategy.RangeByIsCountStrategy;
+import com.tinkerpop.gremlin.process.traversal.DefaultTraversal;
+import com.tinkerpop.gremlin.process.util.metric.TraversalMetrics;
 import com.tinkerpop.gremlin.structure.*;
 import com.tinkerpop.gremlin.structure.io.GraphReader;
 import com.tinkerpop.gremlin.structure.io.graphml.GraphMLWriter;
@@ -174,37 +177,23 @@ public class TinkerGraphTest {
     public void testPlayDK() throws Exception {
 
         Graph g = TinkerFactory.createModern();
-        Traversal t;
-
-        System.out.println("g.V().has(out(\"created\").count().is(0l))");
-        t = g.V().has(out("created").count().is(0l));
+        Traversal t = g.V().count().is(0l).profile().cap(TraversalMetrics.METRICS_KEY);
         System.out.println(t.toString());
-        t.forEachRemaining(System.out::println);
-        System.out.println(t.toString() + "\n");
-
-        System.out.println("g.V().has(out(\"created\").count().is(lt, 2l))");
-        t = g.V().has(out("created").count().is(Compare.lt, 2l));
+        t.iterate();
         System.out.println(t.toString());
-        t.forEachRemaining(System.out::println);
-        System.out.println(t.toString() + "\n");
+        System.out.println("--");
 
-        System.out.println("g.V().has(out(\"created\").count().is(gt, 1l))");
-        t = g.V().has(out("created").count().is(Compare.gt, 1l));
+        t = g.V().count().is(0l).profile().cap(TraversalMetrics.METRICS_KEY);
+        ((DefaultTraversal) t).getStrategies().removeStrategies(RangeByIsCountStrategy.class);
         System.out.println(t.toString());
-        t.forEachRemaining(System.out::println);
-        System.out.println(t.toString() + "\n");
-
-        System.out.println("g.V().has(out(\"created\").count().is(inside, [1l,4l]))");
-        t = g.V().has(out("created").count().is(Compare.inside, Arrays.asList(1l, 4l)));
+        t.iterate();
         System.out.println(t.toString());
-        t.forEachRemaining(System.out::println);
-        System.out.println(t.toString() + "\n");
+        System.out.println("--");
 
-        System.out.println("g.V().has(out(\"created\").count().is(outside, [1l,4l]))");
-        t = g.V().has(out("created").count().is(Compare.outside, Arrays.asList(1l, 4l)));
+        t = g.V().count().is(0l).profile().cap(TraversalMetrics.METRICS_KEY);
+        System.out.println(t.toString());
+        t.iterate();
         System.out.println(t.toString());
-        t.forEachRemaining(System.out::println);
-        System.out.println(t.toString() + "\n");
     }
 
     /**