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/13 23:41:16 UTC
[6/8] incubator-tinkerpop git commit: Merge branch 'master' into local
Merge branch 'master' into local
Resolved Conflicts:
CHANGELOG.asciidoc
gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/GroovySampleTest.groovy
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessComputerSuite.java
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleTest.java
tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/962150e7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/962150e7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/962150e7
Branch: refs/heads/master
Commit: 962150e77fffa65f3abde9ed207f09f3a4857a92
Parents: a40babe 9024bbd
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Fri Feb 13 23:24:47 2015 +0100
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Fri Feb 13 23:24:47 2015 +0100
----------------------------------------------------------------------
.travis.yml | 16 +++
CHANGELOG.asciidoc | 20 +++
CONTRIBUTING.asciidoc | 16 +++
README.asciidoc | 18 +++
docs/preprocessor/processor.groovy | 19 +++
docs/src/acknowledgements.asciidoc | 16 +++
docs/src/conclusion.asciidoc | 16 +++
docs/src/gremlin-applications.asciidoc | 16 +++
docs/src/implementations.asciidoc | 16 +++
docs/src/index.asciidoc | 16 +++
docs/src/intro.asciidoc | 16 +++
docs/src/preface.asciidoc | 16 +++
docs/src/the-graph.asciidoc | 16 +++
docs/src/the-graphcomputer.asciidoc | 16 +++
docs/src/the-traversal.asciidoc | 16 +++
docs/src/tinkerpop-contributors.asciidoc | 16 +++
gremlin-console/bin/gremlin.bat | 17 +++
gremlin-console/bin/gremlin.sh | 19 +++
gremlin-console/conf/log4j-console.properties | 24 ++++
gremlin-console/conf/log4j-repl.properties | 8 --
gremlin-console/conf/log4j.properties | 17 +++
gremlin-console/conf/remote-objects.yaml | 17 +++
gremlin-console/conf/remote.yaml | 17 +++
gremlin-console/src/main/bin/gremlin.bat | 17 +++
gremlin-console/src/main/bin/gremlin.sh | 2 +-
.../plugin/gremlin-server-integration.yaml | 17 +++
.../gremlin/console/groovy/plugin/remote.yaml | 17 +++
.../tinkerpop/gremlin/process/Traversal.java | 71 +++++-----
.../gremlin/process/TraversalEngine.java | 22 ++-
.../process/TraversalInterruptedException.java | 50 +++++++
.../gremlin/process/TraversalStrategies.java | 2 +-
.../gremlin/process/TraversalStrategy.java | 2 +-
.../traversal/TraversalVertexProgram.java | 14 +-
.../traversal/step/map/ComputerResultStep.java | 70 ++++++----
.../computer/util/DefaultComputerResult.java | 2 +
.../graph/traversal/DefaultGraphTraversal.java | 4 +-
.../process/graph/traversal/EdgeTraversal.java | 2 +-
.../graph/traversal/ElementTraversal.java | 6 -
.../process/graph/traversal/GraphTraversal.java | 19 +--
.../traversal/VertexPropertyTraversal.java | 2 +-
.../graph/traversal/VertexTraversal.java | 2 +-
.../gremlin/process/graph/traversal/__.java | 8 +-
.../graph/traversal/step/map/BackStep.java | 2 +-
.../graph/traversal/step/map/SelectOneStep.java | 2 +-
.../graph/traversal/step/map/SelectStep.java | 2 +-
.../traversal/step/sideEffect/GraphStep.java | 2 +-
.../traversal/step/sideEffect/GroupStep.java | 2 +-
.../traversal/step/sideEffect/ProfileStep.java | 6 +-
.../sideEffect/mapreduce/GroupMapReduce.java | 7 +-
.../traversal/step/util/ComputerAwareStep.java | 4 +-
.../ComparatorHolderRemovalStrategy.java | 4 +-
.../traversal/strategy/ConjunctionStrategy.java | 2 +-
.../strategy/DedupOptimizerStrategy.java | 2 +-
.../strategy/EngineDependentStrategy.java | 4 +-
.../strategy/IdentityRemovalStrategy.java | 2 +-
.../strategy/LabeledEndStepStrategy.java | 2 +-
.../traversal/strategy/MatchWhereStrategy.java | 2 +-
.../traversal/strategy/ProfileStrategy.java | 2 +-
.../strategy/RangeByIsCountStrategy.java | 2 +-
.../traversal/strategy/ReducingStrategy.java | 4 +-
.../strategy/SideEffectCapStrategy.java | 2 +-
.../SideEffectRegistrationStrategy.java | 2 +-
.../strategy/TraversalVerificationStrategy.java | 9 +-
.../traversal/util/EmptyGraphTraversal.java | 5 -
.../process/traversal/DefaultTraversal.java | 76 ++++++++---
.../traversal/DefaultTraversalStrategies.java | 4 +-
.../engine/ComputerTraversalEngine.java | 57 ++++++++
.../engine/StandardTraversalEngine.java | 54 ++++++++
.../lambda/AbstractLambdaTraversal.java | 23 +++-
.../traversal/lambda/HasNextTraversal.java | 16 ++-
.../process/traversal/util/EmptyTraversal.java | 18 ++-
.../util/EmptyTraversalStrategies.java | 2 +-
.../tinkerpop/gremlin/structure/Graph.java | 14 +-
.../structure/strategy/PartitionStrategy.java | 9 +-
.../structure/strategy/StrategyGraph.java | 11 ++
.../structure/util/batch/BatchGraph.java | 12 ++
.../structure/util/empty/EmptyGraph.java | 12 ++
.../util/InterruptedRuntimeException.java | 41 ++++++
.../loaders/SugarLoaderPerformanceTest.groovy | 136 +++++++++++++++++++
.../groovy/loaders/SugarLoaderTest.groovy | 60 --------
.../step/branch/GroovyUnionTest.groovy | 2 +
.../step/filter/GroovyDedupTest.groovy | 10 +-
.../step/filter/GroovySampleTest.groovy | 3 +
.../step/filter/GroovyWhereTest.groovy | 3 +
.../traversal/step/map/GroovyCountTest.groovy | 2 +
.../traversal/step/map/GroovyFoldTest.groovy | 2 +
.../traversal/step/map/GroovyMapTest.groovy | 3 +
.../traversal/step/map/GroovyOrderTest.groovy | 8 +-
.../traversal/step/map/GroovySelectTest.groovy | 7 +
.../GroovyEnvironmentPerformanceSuite.java | 4 +-
.../engine/GremlinExecutorPerformanceTest.java | 1 -
.../groovy/engine/GremlinExecutorTest.java | 77 ++++++++++-
.../jsr223/GremlinGroovyScriptEngineTest.java | 31 +++++
.../process/GroovyProcessComputerSuite.java | 2 +-
.../META-INF/javax.script.ScriptEngineFactory | 1 -
.../AbstractImportCustomizerProvider.java | 8 +-
.../gremlin/groovy/engine/GremlinExecutor.java | 107 ++++++++-------
.../groovy/engine/GroovyTraversalScript.java | 17 +--
gremlin-server/bin/gremlin-server.bat | 17 +++
gremlin-server/conf/gremlin-server-classic.yaml | 17 +++
gremlin-server/conf/gremlin-server-min.yaml | 17 +++
gremlin-server/conf/gremlin-server-modern.yaml | 17 +++
gremlin-server/conf/gremlin-server-neo4j.yaml | 17 +++
.../conf/gremlin-server-rest-modern.yaml | 17 +++
gremlin-server/conf/gremlin-server.yaml | 17 +++
gremlin-server/src/main/bin/gremlin-server.bat | 17 +++
.../server/gremlin-server-integration.yaml | 17 +++
.../server/gremlin-server-performance.yaml | 17 +++
.../tinkerpop/gremlin/AbstractGremlinTest.java | 5 +-
.../apache/tinkerpop/gremlin/GraphProvider.java | 7 +-
.../ranking/PageRankVertexProgramTest.java | 2 +
.../graph/traversal/step/branch/BranchTest.java | 4 +-
.../graph/traversal/step/branch/ChooseTest.java | 2 +-
.../graph/traversal/step/branch/LocalTest.java | 18 +--
.../graph/traversal/step/branch/RepeatTest.java | 18 +--
.../graph/traversal/step/branch/UnionTest.java | 12 +-
.../graph/traversal/step/filter/AndTest.java | 4 +-
.../graph/traversal/step/filter/CoinTest.java | 4 +-
.../traversal/step/filter/CyclicPathTest.java | 4 +-
.../graph/traversal/step/filter/DedupTest.java | 12 +-
.../graph/traversal/step/filter/ExceptTest.java | 19 ++-
.../graph/traversal/step/filter/FilterTest.java | 25 ++--
.../graph/traversal/step/filter/HasNotTest.java | 4 +-
.../graph/traversal/step/filter/HasTest.java | 28 ++--
.../graph/traversal/step/filter/IsTest.java | 10 +-
.../graph/traversal/step/filter/OrTest.java | 4 +-
.../graph/traversal/step/filter/RetainTest.java | 8 +-
.../graph/traversal/step/filter/SampleTest.java | 14 +-
.../traversal/step/filter/SimplePathTest.java | 4 +-
.../graph/traversal/step/filter/WhereTest.java | 8 +-
.../graph/traversal/step/map/BackTest.java | 18 +--
.../graph/traversal/step/map/CoalesceTest.java | 10 +-
.../graph/traversal/step/map/CountTest.java | 16 ++-
.../graph/traversal/step/map/FoldTest.java | 6 +-
.../graph/traversal/step/map/MapTest.java | 13 +-
.../graph/traversal/step/map/MaxTest.java | 6 +-
.../graph/traversal/step/map/MeanTest.java | 4 +-
.../graph/traversal/step/map/MinTest.java | 10 +-
.../graph/traversal/step/map/OrderTest.java | 20 ++-
.../graph/traversal/step/map/PathTest.java | 4 +-
.../traversal/step/map/PropertiesTest.java | 4 +-
.../graph/traversal/step/map/SelectTest.java | 20 ++-
.../graph/traversal/step/map/SumTest.java | 4 +-
.../graph/traversal/step/map/UnfoldTest.java | 6 +-
.../graph/traversal/step/map/ValueMapTest.java | 9 +-
.../graph/traversal/step/map/VertexTest.java | 50 +++----
.../step/sideEffect/AggregateTest.java | 6 +-
.../step/sideEffect/GroupCountTest.java | 12 +-
.../traversal/step/sideEffect/GroupTest.java | 10 +-
.../traversal/step/sideEffect/InjectTest.java | 4 +-
.../traversal/step/sideEffect/ProfileTest.java | 4 +-
.../traversal/step/sideEffect/SackTest.java | 8 +-
.../step/sideEffect/SideEffectCapTest.java | 4 +-
.../traversal/step/sideEffect/StoreTest.java | 8 +-
.../traversal/step/sideEffect/TreeTest.java | 6 +-
.../strategy/RangeByIsCountStrategyTest.java | 4 +-
.../TraversalVerificationStrategyTest.java | 21 +--
.../process/traversal/CoreTraversalTest.java | 100 ++++++++++++++
.../process/traversal/DefaultTraversalTest.java | 4 +-
.../structure/GraphConstructionTest.java | 1 +
.../process/TraversalStrategiesTest.java | 2 +-
.../process/util/TraversalHelperTest.java | 9 +-
.../groovy/plugin/HadoopRemoteAcceptor.java | 4 +-
.../strategy/HadoopElementStepStrategy.java | 4 +-
.../gremlin/hadoop/structure/HadoopGraph.java | 21 ++-
.../structure/hdfs/HadoopElementIterator.java | 6 +
.../strategy/Neo4jGraphStepStrategy.java | 2 +-
.../gremlin/neo4j/structure/Neo4jGraph.java | 19 ++-
pom.xml | 37 +++++
.../strategy/TinkerElementStepStrategy.java | 4 +-
.../strategy/TinkerGraphStepStrategy.java | 5 +-
.../tinkergraph/structure/TinkerFactory.java | 2 +-
.../tinkergraph/structure/TinkerGraph.java | 21 ++-
.../tinkergraph/TinkerGraphGraphProvider.java | 3 +-
.../tinkergraph/structure/TinkerGraphTest.java | 27 ++--
175 files changed, 1960 insertions(+), 601 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 33a381d,8a32d56..a8a48bd
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -9,9 -25,12 +25,13 @@@ image::http://www.tinkerpop.com/docs/cu
TinkerPop 3.0.0.M8 (Release Date: NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Added `dedup(local)` and `sample(local)`.
+ * `TraversalStrategy.apply(traversal)` is the new method signature as the `TraversalEngine` can be retrieved from the `Traversal`.
+ * `TraversalEngine` is now an interface and provided by the graph to the traversal at construction. `Graph` methods added to set the desired traversal engine to use.
* Added `count(local)`, `sum(local)`, `max(local)`, `min(local)`, and `mean(local)` operating on the local object (e.g. collection, map, etc.)
* `TraversalComparator` exists which allows for `order().by(outE().count(),decr)`.
+ * Added Apache Rat plugin to detect the proper inclusion of license headers in files.
+ * A `Traversal` now respects thread interruption during iteration, throwing a `TraversalInterruptionException` if it encounters interruption on the current thread.
* Apache refactoring: `com.tinkerpop` -> `org.apache.tinkerpop`.
* `Traversal` is now `Serializable` and with 99% of queries no longer needing lambdas, Gremlin-Java works over the wire.
* Added `VertexProperty.Cardinality` with `list`, `set`, and `single`. No more `Vertex.singleProperty()` method.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/ElementTraversal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/__.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/GroovyDedupTest.groovy
----------------------------------------------------------------------
diff --cc gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/GroovyDedupTest.groovy
index 3e69814,8ef306f..a756cc8
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/GroovyDedupTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/GroovyDedupTest.groovy
@@@ -18,15 -18,12 +18,16 @@@
*/
package org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter
+import org.apache.tinkerpop.gremlin.process.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.Scope
import org.apache.tinkerpop.gremlin.process.T
import org.apache.tinkerpop.gremlin.process.Traversal
-import org.apache.tinkerpop.gremlin.process.ComputerTestHelper
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.DedupTest
++import org.apache.tinkerpop.gremlin.process.traversal.engine.StandardTraversalEngine
import org.apache.tinkerpop.gremlin.structure.Vertex
+import static org.apache.tinkerpop.gremlin.process.graph.traversal.__.bothE
+import static org.apache.tinkerpop.gremlin.process.graph.traversal.__.dedup
+
/**
* @author Marko A. Rodriguez (http://markorodriguez.com)
* @author Daniel Kuppitz (http://gremlin.guru)
@@@ -48,35 -45,22 +49,38 @@@ public abstract class GroovyDedupTest
public Traversal<Vertex, String> get_g_V_both_propertiesXnameX_orderXa_bX_dedup_value() {
g.V().both().properties('name').order.by { a, b -> a.value() <=> b.value() }.dedup.value
}
+
+ @Override
+ Traversal<Vertex, Map<String, Set<Double>>> get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXdedupXlocalXX_cap() {
+ g.V().group().by(T.label).by(bothE().values('weight').fold()).by(dedup(Scope.local)).cap()
+ }
}
- public static class ComputerTestImpl extends DedupTest {
+ public static class ComputerTest extends DedupTest {
@Override
public Traversal<Vertex, String> get_g_V_both_dedup_name() {
- g.V.both.dedup.name // TODO
- ComputerTestHelper.compute("g.V.both.dedup.name", g);
++ g.engine(StandardTraversalEngine.instance()) // TODO
++ g.V.both.dedup.name
+ //ComputerTestHelper.compute("g.V.both.dedup.name", g);
}
@Override
public Traversal<Vertex, String> get_g_V_both_hasXlabel_softwareX_dedup_byXlangX_name() {
- g.V.both.has(T.label, 'software').dedup.by('lang').name // TODO
- ComputerTestHelper.compute("g.V.both.has(T.label,'software').dedup.by('lang').name", g);
++ g.engine(StandardTraversalEngine.instance()) // TODO
++ g.V.both.has(T.label, 'software').dedup.by('lang').name
+ //ComputerTestHelper.compute("g.V.both.has(T.label,'software').dedup.by('lang').name", g);
}
@Override
public Traversal<Vertex, String> get_g_V_both_propertiesXnameX_orderXa_bX_dedup_value() {
- g.V().both().properties('name').order.by { a, b -> a.value() <=> b.value() }.dedup.value // TODO
- ComputerTestHelper.compute("g.V.both.properties('name').order.by { a, b -> a.value() <=> b.value() }.dedup.value", g);
++ g.engine(StandardTraversalEngine.instance()) // TODO
++ g.V().both().properties('name').order.by { a, b -> a.value() <=> b.value() }.dedup.value
+ //ComputerTestHelper.compute("g.V.both.properties('name').order.by { a, b -> a.value() <=> b.value() }.dedup.value", g);
+ }
+
+ @Override
+ Traversal<Vertex, Map<String, Set<Double>>> get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXdedupXlocalXX_cap() {
+ ComputerTestHelper.compute("g.V().group().by(T.label).by(bothE().values('weight').fold()).by(dedup(Scope.local)).cap()", g);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/GroovySampleTest.groovy
----------------------------------------------------------------------
diff --cc gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/GroovySampleTest.groovy
index 801a527,06a691f..6f829f0
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/GroovySampleTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/GroovySampleTest.groovy
@@@ -18,11 -18,11 +18,12 @@@
*/
package org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter
+import org.apache.tinkerpop.gremlin.process.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.Scope
+import org.apache.tinkerpop.gremlin.process.T
import org.apache.tinkerpop.gremlin.process.Traversal
import org.apache.tinkerpop.gremlin.process.graph.traversal.__
-import org.apache.tinkerpop.gremlin.process.ComputerTestHelper
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.SampleTest
+ import org.apache.tinkerpop.gremlin.process.traversal.engine.StandardTraversalEngine
import org.apache.tinkerpop.gremlin.structure.Edge
import org.apache.tinkerpop.gremlin.structure.Vertex
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/DedupTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/DedupTest.java
index 234a182,7b82f7a..9e9b1f0
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/DedupTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/DedupTest.java
@@@ -18,11 -18,10 +18,12 @@@
*/
package org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter;
-import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
+import org.apache.tinkerpop.gremlin.process.Scope;
import org.apache.tinkerpop.gremlin.process.T;
import org.apache.tinkerpop.gremlin.process.Traversal;
++import org.apache.tinkerpop.gremlin.process.traversal.engine.StandardTraversalEngine;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.util.StreamFactory;
import org.junit.Test;
@@@ -129,37 -104,5 +130,40 @@@ public abstract class DedupTest extend
public Traversal<Vertex, String> get_g_V_both_propertiesXnameX_orderXa_bX_dedup_value() {
return g.V().both().<String>properties("name").order().by((a, b) -> a.value().compareTo(b.value())).dedup().value();
}
+
+ @Override
+ public Traversal<Vertex, Map<String, Set<Double>>> get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXdedupXlocalXX_cap() {
+ return g.V().group().by(T.label).by(bothE().values("weight").fold()).by(dedup(Scope.local)).cap();
+ }
+ }
+
+ public static class ComputerTest extends StandardTest {
+
+ public ComputerTest() {
+ requiresGraphComputer = true;
+ }
+
+ @Override
+ public Traversal<Vertex, String> get_g_V_both_dedup_name() {
- return super.get_g_V_both_dedup_name()/*.submit(g.compute())*/; // TODO
++ g.engine(StandardTraversalEngine.instance()); // TODO
++ return super.get_g_V_both_dedup_name();
+ }
+
+ @Override
+ public Traversal<Vertex, String> get_g_V_both_hasXlabel_softwareX_dedup_byXlangX_name() {
- return super.get_g_V_both_hasXlabel_softwareX_dedup_byXlangX_name()/*.submit(g.compute())*/; // TODO
++ g.engine(StandardTraversalEngine.instance()); // TODO
++ return super.get_g_V_both_hasXlabel_softwareX_dedup_byXlangX_name();
+ }
+
+ @Override
+ public Traversal<Vertex, String> get_g_V_both_propertiesXnameX_orderXa_bX_dedup_value() {
- return super.get_g_V_both_propertiesXnameX_orderXa_bX_dedup_value()/*.submit(g.compute())*/; // TODO
++ g.engine(StandardTraversalEngine.instance()); // TODO
++ return super.get_g_V_both_propertiesXnameX_orderXa_bX_dedup_value();
+ }
+
+ @Override
+ public Traversal<Vertex, Map<String, Set<Double>>> get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXdedupXlocalXX_cap() {
- return super.get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXdedupXlocalXX_cap().submit(g.compute());
++ return super.get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXdedupXlocalXX_cap();
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleTest.java
index bcd2724,ce3bfe6..e761d66
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleTest.java
@@@ -20,9 -20,8 +20,10 @@@ package org.apache.tinkerpop.gremlin.pr
import org.apache.tinkerpop.gremlin.LoadGraphWith;
import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
+import org.apache.tinkerpop.gremlin.process.Scope;
+import org.apache.tinkerpop.gremlin.process.T;
import org.apache.tinkerpop.gremlin.process.Traversal;
+ import org.apache.tinkerpop.gremlin.process.traversal.engine.StandardTraversalEngine;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
@@@ -150,27 -103,19 +151,30 @@@ public abstract class SampleTest extend
@Override
public Traversal<Edge, Edge> get_g_E_sampleX1X() {
- return super.get_g_E_sampleX1X(); // TODO: makes no sense when its global
+ g.engine(StandardTraversalEngine.instance()); // TODO
- return g.E().sample(1);
++ return super.get_g_E_sampleX1X();
}
@Override
public Traversal<Edge, Edge> get_g_E_sampleX2X_byXweightX() {
- return super.get_g_E_sampleX2X_byXweightX(); // TODO: makes no sense when its global
+ g.engine(StandardTraversalEngine.instance()); // TODO
- return g.E().sample(2).by("weight");
++ return super.get_g_E_sampleX2X_byXweightX();
}
@Override
public Traversal<Vertex, Edge> get_g_V_localXoutE_sampleX1X_byXweightXX() {
- return super.get_g_V_localXoutE_sampleX1X_byXweightXX().submit(g.compute());
- return g.V().local(outE().sample(1).by("weight"));
++ g.engine(StandardTraversalEngine.instance()); // TODO
++ return super.get_g_V_localXoutE_sampleX1X_byXweightXX();
+ }
+
+ @Override
+ public Traversal<Vertex, Map<String, Collection<Double>>> get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXsampleXlocal_2XX() {
- return super.get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXsampleXlocal_2XX().submit(g.compute());
++ return super.get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXsampleXlocal_2XX();
+ }
+
+ @Override
+ public Traversal<Vertex, Map<String, Collection<Double>>> get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXsampleXlocal_5XX() {
- return super.get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXsampleXlocal_5XX().submit(g.compute());
++ return super.get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXsampleXlocal_5XX();
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MaxTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MaxTest.java
index f2370c1,38bac12..0807a64
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MaxTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MaxTest.java
@@@ -96,13 -74,7 +96,13 @@@ public abstract class MaxTest extends A
@Override
public Traversal<Vertex, Integer> get_g_V_repeatXbothX_timesX5X_age_max() {
- return g.V().repeat(both()).times(5).values("age").<Integer>max().submit(g.compute());
+ return g.V().repeat(both()).times(5).values("age").<Integer>max();
}
+
+ @Override
+ public Traversal<Vertex, Map<String, Number>> get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_valuesXweightX_foldX_byXmaxXlocalXX() {
+ return g.V().hasLabel("software").group().by("name").by(bothE().values("weight").fold()).
- by(max(Scope.local)).<Map<String, Number>>cap().submit(g.compute());
++ by(max(Scope.local)).<Map<String, Number>>cap();
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MeanTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MeanTest.java
index 8fe5267,d061ad4..408df98
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MeanTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MeanTest.java
@@@ -86,13 -65,8 +86,13 @@@ public abstract class MeanTest extends
@Override
public Traversal<Vertex, Double> get_g_V_age_mean() {
- return g.V().values("age").mean().submit(g.compute());
+ return g.V().values("age").mean();
}
+ @Override
+ public Traversal<Vertex, Map<String, Number>> get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_valuesXweightX_foldX_byXmeanXlocalXX() {
+ return g.V().hasLabel("software").group().by("name").by(bothE().values("weight").fold()).
- by(mean(Scope.local)).<Map<String, Number>>cap().submit(g.compute());
++ by(mean(Scope.local)).<Map<String, Number>>cap();
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MinTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MinTest.java
index 982c7bd,5fb65a1..000db05
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MinTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/MinTest.java
@@@ -31,9 -29,6 +31,7 @@@ import java.util.Map
import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
import static org.apache.tinkerpop.gremlin.process.graph.traversal.__.*;
- import static org.junit.Assert.assertEquals;
- import static org.junit.Assert.assertFalse;
- import static org.junit.Assert.assertTrue;
++import static org.junit.Assert.*;
/**
* @author Marko A. Rodriguez (http://markorodriguez.com)
@@@ -98,13 -74,7 +96,13 @@@ public abstract class MinTest extends A
@Override
public Traversal<Vertex, Integer> get_g_V_repeatXbothX_timesX5X_age_min() {
- return g.V().repeat(both()).times(5).values("age").<Integer>min().submit(g.compute());
+ return g.V().repeat(both()).times(5).values("age").<Integer>min();
}
+
+ @Override
+ public Traversal<Vertex, Map<String, Number>> get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_valuesXweightX_foldX_byXminXlocalXX() {
+ return g.V().hasLabel("software").group().by("name").by(bothE().values("weight").fold()).
- by(min(Scope.local)).<Map<String, Number>>cap().submit(g.compute());
++ by(min(Scope.local)).<Map<String, Number>>cap();
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SumTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SumTest.java
index bc66621,0000000..3da3143
mode 100644,000000..100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SumTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SumTest.java
@@@ -1,93 -1,0 +1,93 @@@
+/*
+ * 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.process.graph.traversal.step.map;
+
+import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
+import org.apache.tinkerpop.gremlin.process.Scope;
+import org.apache.tinkerpop.gremlin.process.Traversal;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.Test;
+
+import java.util.Map;
+
+import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
+import static org.apache.tinkerpop.gremlin.process.graph.traversal.__.bothE;
+import static org.apache.tinkerpop.gremlin.process.graph.traversal.__.sum;
+import static org.junit.Assert.*;
+
+/**
+ * @author Daniel Kuppitz (http://gremlin.guru)
+ */
+public abstract class SumTest extends AbstractGremlinProcessTest {
+
+ public abstract Traversal<Vertex, Double> get_g_V_valuesXageX_sum();
+
+ public abstract Traversal<Vertex, Map<String, Number>> get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_valuesXweightX_foldX_byXsumXlocalXX();
+
+ @Test
+ @LoadGraphWith(MODERN)
+ public void g_V_valuesXageX_sum() {
+ final Traversal<Vertex, Double> traversal = get_g_V_valuesXageX_sum();
+ printTraversalForm(traversal);
+ final Number sum = traversal.next();
+ assertEquals(123.0, sum);
+ assertFalse(traversal.hasNext());
+ }
+
+ @Test
+ @LoadGraphWith(MODERN)
+ public void g_V_hasLabelXsoftwareX_group_byXnameX_byXin_valuesXageX_foldX_byXsumXlocalXX() {
+ final Traversal<Vertex, Map<String, Number>> traversal = get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_valuesXweightX_foldX_byXsumXlocalXX();
+ printTraversalForm(traversal);
+ assertTrue(traversal.hasNext());
+ final Map<String, Number> map = traversal.next();
+ assertFalse(traversal.hasNext());
+ assertEquals(2, map.size());
+ assertEquals(1.0, map.get("ripple"));
+ assertEquals(1.0, map.get("lop"));
+ }
+
+ public static class StandardTest extends SumTest {
+
+ @Override
+ public Traversal<Vertex, Double> get_g_V_valuesXageX_sum() {
+ return g.V().values("age").sum();
+ }
+
+ @Override
+ public Traversal<Vertex, Map<String, Number>> get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_valuesXweightX_foldX_byXsumXlocalXX() {
+ return g.V().hasLabel("software").group().by("name").by(bothE().values("weight").fold()).by(sum(Scope.local)).cap();
+ }
+ }
+
+ public static class ComputerTest extends SumTest {
+
+ @Override
+ public Traversal<Vertex, Double> get_g_V_valuesXageX_sum() {
- return g.V().values("age").sum().submit(g.compute());
++ return g.V().values("age").sum();
+ }
+
+ @Override
+ public Traversal<Vertex, Map<String, Number>> get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_valuesXweightX_foldX_byXsumXlocalXX() {
+ return g.V().hasLabel("software").group().by("name").by(bothE().values("weight").fold()).
- by(sum(Scope.local)).<Map<String, Number>>cap().submit(g.compute());
++ by(sum(Scope.local)).<Map<String, Number>>cap();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/962150e7/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
----------------------------------------------------------------------
diff --cc tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
index 5186eb7,ee04e8c..ada9914
--- 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
@@@ -20,18 -20,19 +20,12 @@@ package org.apache.tinkerpop.gremlin.ti
import org.apache.commons.io.FileUtils;
import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
+ import org.apache.tinkerpop.gremlin.process.ComputerTestHelper;
+import org.apache.tinkerpop.gremlin.process.Scope;
import org.apache.tinkerpop.gremlin.process.T;
import org.apache.tinkerpop.gremlin.process.Traversal;
--import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.RangeByIsCountStrategy;
--import org.apache.tinkerpop.gremlin.process.traversal.DefaultTraversal;
- import org.apache.tinkerpop.gremlin.process.util.metric.TraversalMetrics;
- 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.Operator;
- import org.apache.tinkerpop.gremlin.structure.Order;
- import org.apache.tinkerpop.gremlin.structure.Vertex;
+ import org.apache.tinkerpop.gremlin.process.traversal.engine.ComputerTraversalEngine;
-import org.apache.tinkerpop.gremlin.process.util.metric.TraversalMetrics;
-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.Operator;
-import org.apache.tinkerpop.gremlin.structure.Order;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
++import org.apache.tinkerpop.gremlin.structure.*;
import org.apache.tinkerpop.gremlin.structure.io.GraphReader;
import org.apache.tinkerpop.gremlin.structure.io.graphml.GraphMLWriter;
import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper;
@@@ -43,13 -44,13 +37,8 @@@ import org.junit.BeforeClass
import org.junit.Ignore;
import org.junit.Test;
--import java.io.File;
--import java.io.FileOutputStream;
--import java.io.IOException;
--import java.io.InputStream;
--import java.io.OutputStream;
++import java.io.*;
import java.util.Arrays;
--import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.function.Supplier;