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/24 21:43:32 UTC
[2/3] incubator-tinkerpop git commit: fixed TINKERPOP3-747
fixed TINKERPOP3-747
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/664d5303
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/664d5303
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/664d5303
Branch: refs/heads/master
Commit: 664d53035e156be75aa8159482241c8528a4824c
Parents: 99cc824
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Jun 24 21:41:08 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed Jun 24 21:41:08 2015 +0200
----------------------------------------------------------------------
.../strategy/decoration/ConjunctionStrategy.java | 3 ++-
.../traversal/strategy/finalization/ProfileStrategy.java | 10 ++--------
.../gremlin/tinkergraph/structure/TinkerGraphTest.java | 10 +++++++++-
3 files changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/664d5303/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java
index 1fb6051..c2d92aa 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java
@@ -25,6 +25,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.process.traversal.step.filter.AndStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.filter.ConjunctionStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.filter.OrStep;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.ProfileStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.StartStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.ComputerAwareStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.EmptyStep;
@@ -60,7 +61,7 @@ public final class ConjunctionStrategy extends AbstractTraversalStrategy<Travers
}
private static boolean legalCurrentStep(final Step<?, ?> step) {
- return !(step instanceof EmptyStep || step instanceof ComputerAwareStep.EndStep || (step instanceof StartStep && !((StartStep) step).isVariableStartStep()));
+ return !(step instanceof EmptyStep || step instanceof ProfileStep || step instanceof ComputerAwareStep.EndStep || (step instanceof StartStep && !((StartStep) step).isVariableStartStep()));
}
private static void processConjunctionMarkers(final Traversal.Admin<?, ?> traversal) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/664d5303/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/ProfileStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/ProfileStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/ProfileStrategy.java
index da2ef6a..656fd92 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/ProfileStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/ProfileStrategy.java
@@ -23,7 +23,6 @@ import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalParent;
import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.ProfileStep;
-import org.apache.tinkerpop.gremlin.process.traversal.step.util.EmptyStep;
import org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy;
import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
@@ -41,11 +40,6 @@ public final class ProfileStrategy extends AbstractTraversalStrategy<TraversalSt
@Override
public void apply(final Traversal.Admin<?, ?> traversal) {
- if (!(traversal.getParent() instanceof EmptyStep)) {
- // This strategy is applied to the top-level traversal only
- return;
- }
-
if (!TraversalHelper.hasStepOfClass(ProfileStep.class, traversal)) {
// No ProfileStep present
return;
@@ -76,10 +70,10 @@ public final class ProfileStrategy extends AbstractTraversalStrategy<TraversalSt
// Handle nested traversal
if (step instanceof TraversalParent) {
for (Traversal.Admin<?, ?> t : ((TraversalParent) step).getLocalChildren()) {
- prepTraversalForProfiling(t);
+ t.addStep(new ProfileStep(t));
}
for (Traversal.Admin<?, ?> t : ((TraversalParent) step).getGlobalChildren()) {
- prepTraversalForProfiling(t);
+ t.addStep(new ProfileStep(t));
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/664d5303/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
index 1e50d2d..224ff0c 100644
--- a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
+++ b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
@@ -24,6 +24,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -149,11 +150,18 @@ public class TinkerGraphTest {
public void testPlayDK() throws Exception {
final Graph graph = TinkerFactory.createModern();
final GraphTraversalSource g = graph.traversal();
- Traversal traversal = g.V().both().both().count();
+ Traversal traversal = g.V().where(out().and().in()).profile().cap(TraversalMetrics.METRICS_KEY);
//traversal.forEachRemaining(System.out::println);
+ System.out.println(traversal.toString());
traversal.asAdmin().applyStrategies();
System.out.println(traversal.toString());
+ traversal.forEachRemaining(System.out::println);
+ traversal = g.V().where(and(out(), in())).profile().cap(TraversalMetrics.METRICS_KEY);
+ //traversal.forEachRemaining(System.out::println);
+ System.out.println(traversal.toString());
+ traversal.asAdmin().applyStrategies();
System.out.println(traversal.toString());
+ //System.out.println(traversal.toString());
}
@Test