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/03/19 19:26:32 UTC

[14/40] incubator-tinkerpop git commit: the traversal steps provided by TinkerPop are the foundation for all dsl. GraphTraversal is just a dsl of traversal. Refactored the process API to reflect this concept. Fixed #592.

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyValueMapTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyValueMapTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyValueMapTest.groovy
new file mode 100644
index 0000000..21c36cd
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyValueMapTest.groovy
@@ -0,0 +1,67 @@
+/*
+ * 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.traversal.step.map
+
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.structure.Vertex
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovyValueMapTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends ValueMapTest {
+        @Override
+        public Traversal<Vertex, Map<String, List>> get_g_V_valueMap() {
+            g.V.valueMap
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, List>> get_g_V_valueMapXname_ageX() {
+            g.V.valueMap('name', 'age')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, List<String>>> get_g_VX1X_outXcreatedX_valueMap(final Object v1Id) {
+            g.V(v1Id).out('created').valueMap
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends ValueMapTest {
+        @Override
+        public Traversal<Vertex, Map<String, List>> get_g_V_valueMap() {
+            ComputerTestHelper.compute("g.V.valueMap", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, List>> get_g_V_valueMapXname_ageX() {
+            ComputerTestHelper.compute("g.V.valueMap('name', 'age')", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, List<String>>> get_g_VX1X_outXcreatedX_valueMap(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).out('created').valueMap", g);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyVertexTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyVertexTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyVertexTest.groovy
new file mode 100644
index 0000000..2951c47
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyVertexTest.groovy
@@ -0,0 +1,293 @@
+/*
+ * 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.traversal.step.map
+
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.structure.Compare
+import org.apache.tinkerpop.gremlin.structure.Direction
+import org.apache.tinkerpop.gremlin.structure.Edge
+import org.apache.tinkerpop.gremlin.structure.Vertex
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovyVertexTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends VertexTest {
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_V() {
+            g.V
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_out(final Object v1Id) {
+            g.V(v1Id).out
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX2X_in(final Object v2Id) {
+            g.V(v2Id).in
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX4X_both(final Object v4Id) {
+            g.V(v4Id).both
+        }
+
+
+        @Override
+        public Traversal<Edge, Edge> get_g_E() {
+            g.E
+        }
+
+        @Override
+        public Traversal<Vertex, Edge> get_g_VX1X_outE(final Object v1Id) {
+            g.V(v1Id).outE
+        }
+
+        @Override
+        public Traversal<Vertex, Edge> get_g_VX2X_inE(final Object v2Id) {
+            g.V(v2Id).inE
+        }
+
+        @Override
+        public Traversal<Vertex, Edge> get_g_VX4X_bothE(final Object v4Id) {
+            g.V(v4Id).bothE
+        }
+
+        @Override
+        public Traversal<Vertex, Edge> get_g_VX4X_bothEXcreatedX(final Object v4Id) {
+            g.V(v4Id).bothE('created')
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outE_inV(final Object v1Id) {
+            g.V(v1Id).outE.inV
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX2X_inE_outV(final Object v2Id) {
+            g.V(v2Id).inE.outV
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_V_outE_hasXweight_1X_outV() {
+            g.V.outE.has('weight', 1.0d).outV
+        }
+
+        @Override
+        public Traversal<Vertex, String> get_g_V_out_outE_inV_inE_inV_both_name() {
+            g.V.out.outE.inV.inE.inV.both.name
+        }
+
+        @Override
+        public Traversal<Vertex, String> get_g_VX1X_outEXknowsX_bothV_name(final Object v1Id) {
+            g.V(v1Id).outE('knows').bothV.name
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outXknowsX(final Object v1Id) {
+            g.V(v1Id).out('knows')
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outXknows_createdX(final Object v1Id) {
+            g.V(v1Id).out('knows', 'created')
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outEXknowsX_inV(final Object v1Id) {
+            g.V(v1Id).outE('knows').inV()
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outEXknows_createdX_inV(final Object v1Id) {
+            g.V(v1Id).outE('knows', 'created').inV
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_V_out_out() {
+            g.V().out().out()
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_out_out_out(final Object v1Id) {
+            g.V(v1Id).out.out.out
+        }
+
+        @Override
+        public Traversal<Vertex, String> get_g_VX1X_out_name(final Object v1Id) {
+            g.V(v1Id).out.name
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outE_otherV(final Object v1Id) {
+            g.V(v1Id).outE.otherV
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX4X_bothE_otherV(final Object v4Id) {
+            g.V(v4Id).bothE.otherV
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX4X_bothE_hasXweight_lt_1X_otherV(final Object v4Id) {
+            g.V(v4Id).bothE.has('weight', Compare.lt, 1.0d).otherV
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_to_XOUT_knowsX(final Object v1Id) {
+            g.V(v1Id).to(Direction.OUT, 'knows');
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends VertexTest {
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_V() {
+            ComputerTestHelper.compute("g.V", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_out(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).out", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX2X_in(final Object v2Id) {
+            ComputerTestHelper.compute("g.V(${v2Id}).in", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX4X_both(final Object v4Id) {
+            ComputerTestHelper.compute("g.V(${v4Id}).both", g);
+        }
+
+        @Override
+        public Traversal<Edge, Edge> get_g_E() {
+            ComputerTestHelper.compute("g.E", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Edge> get_g_VX1X_outE(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).outE", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Edge> get_g_VX2X_inE(final Object v2Id) {
+            ComputerTestHelper.compute("g.V(${v2Id}).inE", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Edge> get_g_VX4X_bothE(final Object v4Id) {
+            ComputerTestHelper.compute("g.V(${v4Id}).bothE", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Edge> get_g_VX4X_bothEXcreatedX(final Object v4Id) {
+            ComputerTestHelper.compute("g.V(${v4Id}).bothE('created')", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outE_inV(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).outE.inV", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX2X_inE_outV(final Object v2Id) {
+            ComputerTestHelper.compute("g.V(${v2Id}).inE.outV", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_V_outE_hasXweight_1X_outV() {
+            ComputerTestHelper.compute("g.V.outE.has('weight', 1.0d).outV", g);
+        }
+
+        @Override
+        public Traversal<Vertex, String> get_g_V_out_outE_inV_inE_inV_both_name() {
+            ComputerTestHelper.compute("g.V.out.outE.inV.inE.inV.both.name", g);
+        }
+
+        @Override
+        public Traversal<Vertex, String> get_g_VX1X_outEXknowsX_bothV_name(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).outE('knows').bothV.name", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outXknowsX(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).out('knows')", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outXknows_createdX(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).out('knows', 'created')", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outEXknowsX_inV(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).outE('knows').inV()", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outEXknows_createdX_inV(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).outE('knows', 'created').inV", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_V_out_out() {
+            ComputerTestHelper.compute("g.V().out().out()", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_out_out_out(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).out.out.out", g);
+        }
+
+        @Override
+        public Traversal<Vertex, String> get_g_VX1X_out_name(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).out.name", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_outE_otherV(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).outE.otherV", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX4X_bothE_otherV(final Object v4Id) {
+            ComputerTestHelper.compute("g.V(${v4Id}).bothE.otherV", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX4X_bothE_hasXweight_lt_1X_otherV(final Object v4Id) {
+            ComputerTestHelper.compute("g.V(${v4Id}).bothE.has('weight', Compare.lt, 1.0d).otherV", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_VX1X_to_XOUT_knowsX(final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).to(Direction.OUT, 'knows')", g);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyAggregateTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyAggregateTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyAggregateTest.groovy
new file mode 100644
index 0000000..e22d6af
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyAggregateTest.groovy
@@ -0,0 +1,70 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.traversal.Path
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.structure.Vertex
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovyAggregateTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends AggregateTest {
+
+        @Override
+        public Traversal<Vertex, List<String>> get_g_V_name_aggregateXxX_capXxX() {
+            g.V.name.aggregate('x').cap('x')
+        }
+
+        @Override
+        public Traversal<Vertex, List<String>> get_g_V_aggregateXxX_byXnameX_capXxX() {
+            g.V.aggregate('x').by('name').cap('x')
+        }
+
+        @Override
+        public Traversal<Vertex, Path> get_g_V_out_aggregateXaX_path() {
+            g.V.out.aggregate('a').path;
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends AggregateTest {
+
+        @Override
+        public Traversal<Vertex, List<String>> get_g_V_name_aggregateXxX_capXxX() {
+            ComputerTestHelper.compute("g.V.name.aggregate('x').cap('x')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, List<String>> get_g_V_aggregateXxX_byXnameX_capXxX() {
+            ComputerTestHelper.compute("g.V.aggregate('x').by('name').cap('x')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Path> get_g_V_out_aggregateXaX_path() {
+            ComputerTestHelper.compute("g.V.out.aggregate('a').path", g)
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyGroupCountTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyGroupCountTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyGroupCountTest.groovy
new file mode 100644
index 0000000..cba9f10
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyGroupCountTest.groovy
@@ -0,0 +1,126 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__
+import org.apache.tinkerpop.gremlin.structure.Vertex
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovyGroupCountTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends GroupCountTest {
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_outXcreatedX_groupCount_byXnameX() {
+            g.V.out('created').groupCount.by('name')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_outXcreatedX_groupCountXaX_byXnameX_capXaX() {
+            g.V.out('created').groupCount('a').by('name').cap('a')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_outXcreatedX_name_groupCount() {
+            g.V.out('created').name.groupCount
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_outXcreatedX_name_groupCountXaX_capXaX() {
+            g.V.out('created').name.groupCount('a').cap('a')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<Object, Long>> get_g_V_hasXnoX_groupCount() {
+            g.V.has('no').groupCount;
+        }
+
+        @Override
+        public Traversal<Vertex, Map<Object, Long>> get_g_V_hasXnoX_groupCountXaX_capXaX() {
+            g.V.has('no').groupCount('a').cap('a');
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_repeatXout_groupCountXaX_byXnameXX_timesX2X_capXaX() {
+            g.V.repeat(__.out.groupCount('a').by('name')).times(2).cap('a')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_unionXrepeatXoutX_timesX2X_groupCountXmX_byXlangXX__repeatXinX_timesX2X_groupCountXmX_byXnameXX_capXmX() {
+            g.V.union(
+                    __.repeat(__.out).times(2).groupCount('m').by('lang'),
+                    __.repeat(__.in).times(2).groupCount('m').by('name')).cap('m')
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends GroupCountTest {
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_outXcreatedX_groupCount_byXnameX() {
+            ComputerTestHelper.compute("g.V.out('created').groupCount.by('name')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_outXcreatedX_groupCountXaX_byXnameX_capXaX() {
+            ComputerTestHelper.compute("g.V.out('created').groupCount('a').by('name').cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_outXcreatedX_name_groupCount() {
+            ComputerTestHelper.compute("g.V.out('created').name.groupCount", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_outXcreatedX_name_groupCountXaX_capXaX() {
+            ComputerTestHelper.compute("g.V.out('created').name.groupCount('a').cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<Object, Long>> get_g_V_hasXnoX_groupCount() {
+            ComputerTestHelper.compute("g.V.has('no').groupCount", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<Object, Long>> get_g_V_hasXnoX_groupCountXaX_capXaX() {
+            ComputerTestHelper.compute("g.V.has('no').groupCount('a').cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_repeatXout_groupCountXaX_byXnameXX_timesX2X_capXaX() {
+            ComputerTestHelper.compute("g.V.repeat(__.out.groupCount('a').by('name')).times(2).cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_unionXrepeatXoutX_timesX2X_groupCountXmX_byXlangXX__repeatXinX_timesX2X_groupCountXmX_byXnameXX_capXmX() {
+            ComputerTestHelper.compute("""
+            g.V.union(
+                    __.repeat(__.out).times(2).groupCount('m').by('lang'),
+                    __.repeat(__.in).times(2).groupCount('m').by('name')).cap('m')
+            """, g)
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyGroupTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyGroupTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyGroupTest.groovy
new file mode 100644
index 0000000..988ca17
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyGroupTest.groovy
@@ -0,0 +1,101 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.*
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.traversal.Scope
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__
+import org.apache.tinkerpop.gremlin.structure.Vertex
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovyGroupTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends GroupTest {
+
+        @Override
+        public Traversal<Vertex, Map<String, Collection<Vertex>>> get_g_V_group_byXnameX() {
+            g.V.group.by('name')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Collection<Vertex>>> get_g_V_groupXaX_byXnameX_capXaX() {
+            g.V.group('a').by('name').cap('a')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Collection<String>>> get_g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX() {
+            g.V.has('lang').group('a').by('lang').by('name').out.cap('a')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_hasXlangX_group_byXlangX_byX1X_byXcountXlocalXX() {
+            g.V.has('lang').group.by('lang').by(__.inject(1)).by(__.count(Scope.local));
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_repeatXout_groupXaX_byXnameX_by_byXcountXlocalXX_timesX2X_capXaX() {
+            g.V.repeat(__.out.group('a').by('name').by.by(__.count(Scope.local))).times(2).cap('a')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<Long, Collection<String>>> get_g_V_group_byXoutE_countX_byXnameX() {
+            g.V.group.by(__.outE.count).by('name')
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends GroupTest {
+
+        @Override
+        public Traversal<Vertex, Map<String, Collection<Vertex>>> get_g_V_group_byXnameX() {
+            ComputerTestHelper.compute("g.V.group.by('name')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Collection<Vertex>>> get_g_V_groupXaX_byXnameX_capXaX() {
+            ComputerTestHelper.compute("g.V.group('a').by('name').cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Collection<String>>> get_g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX() {
+            ComputerTestHelper.compute("g.V.has('lang').group('a').by('lang').by('name').out.cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_hasXlangX_group_byXlangX_byX1X_byXcountXlocalXX() {
+            ComputerTestHelper.compute("g.V.has('lang').group.by('lang').by(__.inject(1)).by(__.count(Scope.local))", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_repeatXout_groupXaX_byXnameX_by_byXcountXlocalXX_timesX2X_capXaX() {
+            ComputerTestHelper.compute("g.V.repeat(__.out.group('a').by('name').by.by(__.count(Scope.local))).times(2).cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<Long, Collection<String>>> get_g_V_group_byXoutE_countX_byXnameX() {
+            ComputerTestHelper.compute("g.V.group.by(__.outE.count).by('name')", g)
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyInjectTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyInjectTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyInjectTest.groovy
new file mode 100644
index 0000000..e56f652
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyInjectTest.groovy
@@ -0,0 +1,74 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.traversal.Path
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.structure.Vertex
+import org.junit.Test
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovyInjectTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends InjectTest {
+        @Override
+        public Traversal<Vertex, String> get_g_VX1X_out_injectXv2X_name(final Object v1Id, final Object v2Id) {
+            g.V(v1Id).out.inject(g.V(v2Id).next()).name
+        }
+
+        @Override
+        public Traversal<Vertex, Path> get_g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path(final Object v1Id) {
+            g.V(v1Id).out().name.inject('daniel').as('a').map { it.length() }.path
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends InjectTest {
+        @Override
+        @Test
+        @org.junit.Ignore("Traversal not supported by ComputerTraversalEngine.computer")
+        void g_VX1X_out_injectXv2X_name() {
+            super.g_VX1X_out_injectXv2X_name()
+        }
+
+        @Override
+        @Test
+        @org.junit.Ignore("Traversal not supported by ComputerTraversalEngine.computer")
+        void g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path() {
+            super.g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path()
+        }
+
+        @Override
+        Traversal<Vertex, String> get_g_VX1X_out_injectXv2X_name(Object v1Id, Object v2Id) {
+            // override with nothing until the test itself is supported
+            return null
+        }
+
+        @Override
+        Traversal<Vertex, Path> get_g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path(Object v1Id) {
+            // override with nothing until the test itself is supported
+            return null
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyProfileTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyProfileTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyProfileTest.groovy
new file mode 100644
index 0000000..41ca348
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyProfileTest.groovy
@@ -0,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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.process.traversal.util.StandardTraversalMetrics
+import org.apache.tinkerpop.gremlin.structure.Vertex
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovyProfileTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends ProfileTest {
+
+        @Override
+        Traversal<Vertex, StandardTraversalMetrics> get_g_V_out_out_profile() {
+            g.V.out.out.profile();
+        }
+
+        @Override
+        public Traversal<Vertex, StandardTraversalMetrics> get_g_V_repeat_both_profile() {
+            g.V.repeat(__.both()).times(3).profile();
+        }
+
+        @Override
+        Traversal<Vertex, StandardTraversalMetrics> get_g_V_hasXinXcreatedX_count_isX1XX_valuesXnameX_profile() {
+            g.V().has(__.in("created").count().is(1l)).values("name").profile();
+        }
+
+        @org.junit.Ignore
+        @Override
+        void g_V_sleep_sleep_profile() {
+        }
+
+        @Override
+        Traversal<Vertex, StandardTraversalMetrics> get_g_V_sleep_sleep_profile() {
+            return null
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends ProfileTest {
+
+        @Override
+        public Traversal<Vertex, StandardTraversalMetrics> get_g_V_out_out_profile() {
+            ComputerTestHelper.compute("g.V.out.out.profile()", g);
+        }
+
+
+        @Override
+        public Traversal<Vertex, StandardTraversalMetrics> get_g_V_repeat_both_profile() {
+            ComputerTestHelper.compute("g.V.repeat(__.both()).times(3).profile()", g);
+        }
+
+        @Override
+        Traversal<Vertex, StandardTraversalMetrics> get_g_V_hasXinXcreatedX_count_isX1XX_valuesXnameX_profile() {
+            ComputerTestHelper.compute(" g.V().has(__.in('created').count().is(1l)).values('name').profile()", g);
+        }
+
+        @Override
+        @org.junit.Ignore
+        void g_V_sleep_sleep_profile() {
+        }
+
+        @Override
+        Traversal<Vertex, StandardTraversalMetrics> get_g_V_sleep_sleep_profile() {
+            return null
+        }
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySackTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySackTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySackTest.groovy
new file mode 100644
index 0000000..1ccdb85
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySackTest.groovy
@@ -0,0 +1,72 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__
+import org.apache.tinkerpop.gremlin.structure.Vertex
+
+import static org.apache.tinkerpop.gremlin.structure.Operator.sum
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovySackTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends SackTest {
+
+        @Override
+        public Traversal<Vertex, Double> get_g_V_withSackX0X_outE_sackXsum_weightX_inV_sack_sum() {
+            g.V().withSack(0.0f).outE.sack(sum, 'weight').inV.sack.sum()
+        }
+
+        @Override
+        public Traversal<Vertex, Float> get_g_V_withSackX0X_repeatXoutE_sackXsum_weightX_inVX_timesX2X_sack() {
+            g.V.withSack(0.0f).repeat(__.outE.sack(sum, 'weight').inV).times(2).sack
+        }
+
+        @Override
+        public Traversal<Vertex, Map> get_g_V_withSackXmap__map_cloneX_out_out_sackXmap_a_nameX_sack() {
+            g.V.withSack { [:] } { m -> m.clone() }.out().out().sack { m, v -> m['a'] = v.name; m }.sack()
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends SackTest {
+
+        @Override
+        public Traversal<Vertex, Double> get_g_V_withSackX0X_outE_sackXsum_weightX_inV_sack_sum() {
+            ComputerTestHelper.compute("g.V().withSack(0.0f).outE.sack(sum, 'weight').inV.sack.sum()", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Float> get_g_V_withSackX0X_repeatXoutE_sackXsum_weightX_inVX_timesX2X_sack() {
+            ComputerTestHelper.compute("g.V.withSack(0.0f).repeat(__.outE.sack(sum, 'weight').inV).times(2).sack", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map> get_g_V_withSackXmap__map_cloneX_out_out_sackXmap_a_nameX_sack() {
+            ComputerTestHelper.compute("g.V.withSack { [:] } { m -> m.clone() }.out().out().sack { m, v -> m['a'] = v.name; m }.sack()", g);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySideEffectCapTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySideEffectCapTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySideEffectCapTest.groovy
new file mode 100644
index 0000000..c717b61
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySideEffectCapTest.groovy
@@ -0,0 +1,64 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.traversal.T
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.structure.Vertex
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovySideEffectCapTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends SideEffectCapTest {
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_hasXageX_groupCountXaX_byXnameX_out_capXaX() {
+            g.V.has('age').groupCount('a').by('name').out.cap('a')
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Map<Object, Long>>> get_g_V_chooseXlabel_person__age_groupCountXaX__name_groupCountXbXX_capXa_bX() {
+            g.V.choose(__.has(T.label, 'person'),
+                    __.age.groupCount('a'),
+                    __.values("name").groupCount('b')).cap('a', 'b')
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends SideEffectCapTest {
+        @Override
+        public Traversal<Vertex, Map<String, Long>> get_g_V_hasXageX_groupCountXaX_byXnameX_out_capXaX() {
+            ComputerTestHelper.compute("g.V.has('age').groupCount('a').by('name').out.cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Map<Object, Long>>> get_g_V_chooseXlabel_person__age_groupCountXaX__name_groupCountXbXX_capXa_bX() {
+            ComputerTestHelper.compute("""
+            g.V.choose(__.has(T.label, 'person'),
+                    __.age.groupCount('a'),
+                    __.values("name").groupCount('b')).cap('a', 'b')
+            """, g)
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySideEffectTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySideEffectTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySideEffectTest.groovy
new file mode 100644
index 0000000..8e18716
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySideEffectTest.groovy
@@ -0,0 +1,56 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.structure.Vertex
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovySideEffectTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends SideEffectTest {
+
+        @Override
+        public Traversal<Vertex, String> get_g_VX1X_sideEffectXstore_aX_name(final Object v1Id) {
+            g.V(v1Id).withSideEffect('a') { [] }.sideEffect {
+                it.sideEffects('a').clear();
+                it.sideEffects('a').add(it.get());
+            }.name;
+        }
+
+        @Override
+        public Traversal<Vertex, String> get_g_VX1X_out_sideEffectXincr_cX_name(final Object v1Id) {
+            g.V(v1Id).withSideEffect('c') { [0] }.out.sideEffect {
+                def temp = it.sideEffects('c')[0];
+                it.sideEffects('c').clear();
+                it.sideEffects('c').add(temp + 1);
+            }.name
+        }
+
+        @Override
+        public Traversal<Vertex, String> get_g_VX1X_out_sideEffectXX_name(final Object v1Id) {
+            g.V(v1Id).out().sideEffect {}.name
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyStoreTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyStoreTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyStoreTest.groovy
new file mode 100644
index 0000000..5e31723
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyStoreTest.groovy
@@ -0,0 +1,83 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.structure.Vertex
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovyStoreTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends StoreTest {
+
+        @Override
+        public Traversal<Vertex, Collection> get_g_V_storeXaX_byXnameX_out_capXaX() {
+            g.V().store('a').by('name').out().cap('a');
+        }
+
+        @Override
+        public Traversal<Vertex, Collection> get_g_VX1X_storeXaX_byXnameX_out_storeXaX_byXnameX_name_capXaX(
+                final Object v1Id) {
+            g.V(v1Id).store('a').by('name').out().store('a').by('name').name.cap('a');
+        }
+
+        @Override
+        public Traversal<Vertex, Set<String>> get_g_V_withSideEffectXa_setX_both_name_storeXaX_capXaX() {
+            g.V.withSideEffect('a') { [] as Set }.both.name.store('a').cap('a')
+        }
+
+
+        @Override
+        public Traversal<Vertex, Collection> get_g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX_capXaX() {
+            g.V.store('a').by(__.outE('created').count).out.out.store('a').by(__.inE('created').weight.sum).cap('a');
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends StoreTest {
+
+        @Override
+        public Traversal<Vertex, Collection> get_g_V_storeXaX_byXnameX_out_capXaX() {
+            ComputerTestHelper.compute("g.V().store('a').by('name').out().cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Collection> get_g_VX1X_storeXaX_byXnameX_out_storeXaX_byXnameX_name_capXaX(
+                final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).store('a').by('name').out().store('a').by('name').name.cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Set<String>> get_g_V_withSideEffectXa_setX_both_name_storeXaX_capXaX() {
+            ComputerTestHelper.compute("g.V.withSideEffect('a'){[] as Set}.both.name.store('a').cap('a')", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Collection> get_g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX_capXaX() {
+            ComputerTestHelper.compute("g.V.store('a').by(__.outE('created').count).out.out.store('a').by(__.inE('created').weight.sum).cap('a')", g);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
new file mode 100644
index 0000000..a7c00ee
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
@@ -0,0 +1,48 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.structure.Graph
+import org.apache.tinkerpop.gremlin.structure.Vertex
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovySubgraphTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends SubgraphTest {
+
+        @Override
+        public Traversal<Vertex, Graph> get_g_V_withSideEffectXsgX_outEXknowsX_subgraphXsgX_name_capXsgX(
+                final Object v1Id, final Graph subgraph) {
+            g.V(v1Id).withSideEffect('sg') { subgraph }.outE('knows').subgraph('sg').name.cap('sg')
+        }
+
+        @Override
+        public Traversal<Vertex, String> get_g_V_withSideEffectXsgX_repeatXbothEXcreatedX_subgraphXsgX_outVX_timesX5X_name_dedup(
+                final Graph subgraph) {
+            g.V.withSideEffect('sg') { subgraph }.repeat(__.bothE('created').subgraph('sg').outV).times(5).name.dedup
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyTreeTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyTreeTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyTreeTest.groovy
new file mode 100644
index 0000000..5bd5bff
--- /dev/null
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovyTreeTest.groovy
@@ -0,0 +1,109 @@
+/*
+ * 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.traversal.step.sideEffect
+
+import org.apache.tinkerpop.gremlin.process.*
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
+import org.apache.tinkerpop.gremlin.process.traversal.T
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
+import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree
+import org.apache.tinkerpop.gremlin.structure.Vertex
+import org.junit.Test
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public abstract class GroovyTreeTest {
+
+    @UseEngine(TraversalEngine.Type.STANDARD)
+    public static class StandardTraversals extends TreeTest {
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_V_out_out_tree_byXidX() {
+            g.V.out.out.tree.by(T.id);
+        }
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_V_out_out_treeXaX_byXidX_capXaX() {
+            g.V.out.out.tree('a').by(T.id).cap('a');
+        }
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_VX1X_out_out_tree_byXnameX(final Object v1Id) {
+            g.V(v1Id).out.out.tree.by('name');
+        }
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_VX1X_out_out_treeXaX_byXnameX_both_both_capXaX(final Object v1Id) {
+            g.V(v1Id).out.out.tree('a').by('name').both.both.cap('a');
+        }
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_V_out_out_tree() {
+            g.V.out.out.tree();
+        }
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_V_out_out_treeXaX_capXaX() {
+            g.V.out.out.tree('a').cap('a');
+        }
+    }
+
+    @UseEngine(TraversalEngine.Type.COMPUTER)
+    public static class ComputerTraversals extends TreeTest {
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_V_out_out_tree_byXidX() {
+            ComputerTestHelper.compute("g.V.out.out.tree.by(id)", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_V_out_out_treeXaX_byXidX_capXaX() {
+            ComputerTestHelper.compute("g.V.out.out.tree('a').by(id).cap('a')", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_V_out_out_tree() {
+            ComputerTestHelper.compute("g.V.out.out.tree()", g)
+        }
+
+        @Override
+        public Traversal<Vertex, Tree> get_g_V_out_out_treeXaX_capXaX() {
+            ComputerTestHelper.compute("g.V.out.out.tree('a').cap('a')", g)
+        }
+
+        @Override
+        @Test
+        @org.junit.Ignore("Traversal not supported by ComputerTraversalEngine.computer")
+        void g_VX1X_out_out_tree_byXnameX() {
+
+        }
+
+        @Override
+        Traversal<Vertex, Tree> get_g_VX1X_out_out_tree_byXnameX(Object v1Id) {
+            return null
+        }
+
+        @Override
+        Traversal<Vertex, Tree> get_g_VX1X_out_out_treeXaX_byXnameX_both_both_capXaX(Object v1Id) {
+            return null
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutorPerformanceTest.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutorPerformanceTest.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutorPerformanceTest.java
index ba592c3..5378141 100644
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutorPerformanceTest.java
+++ b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutorPerformanceTest.java
@@ -27,7 +27,7 @@ import com.carrotsearch.junitbenchmarks.annotation.LabelType;
 import org.apache.commons.configuration.Configuration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.__;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.structure.Compare;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Vertex;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngineOverGraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngineOverGraphTest.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngineOverGraphTest.java
index 7488e6c..4be3f98 100644
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngineOverGraphTest.java
+++ b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngineOverGraphTest.java
@@ -25,8 +25,8 @@ import org.apache.tinkerpop.gremlin.FeatureRequirementSet;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.groovy.DefaultImportCustomizerProvider;
 import org.apache.tinkerpop.gremlin.groovy.NoImportCustomizerProvider;
-import org.apache.tinkerpop.gremlin.process.T;
-import org.apache.tinkerpop.gremlin.process.Traversal;
+import org.apache.tinkerpop.gremlin.process.traversal.T;
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.util.config.YamlConfiguration;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java
index 57288bd..6279643 100644
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java
+++ b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java
@@ -24,49 +24,49 @@ import org.apache.tinkerpop.gremlin.groovy.loaders.SugarLoader;
 import org.apache.tinkerpop.gremlin.groovy.util.SugarTestHelper;
 import org.apache.tinkerpop.gremlin.process.computer.GroovyGraphComputerTest;
 import org.apache.tinkerpop.gremlin.process.computer.ranking.PageRankVertexProgramTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyBranchTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyChooseTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyLocalTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyRepeatTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyUnionTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyAndTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyCoinTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyCyclicPathTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyDedupTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyFilterTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyHasNotTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyHasTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyIsTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyOrTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyRangeTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovySampleTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovySimplePathTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyWhereTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyBackTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyCoalesceTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyCountTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyFoldTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyMapTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyMaxTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyMeanTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyMinTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyOrderTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyPathTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyPropertiesTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovySelectTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovySumTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyUnfoldTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyValueMapTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyVertexTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyAggregateTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyGroupCountTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyGroupTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyInjectTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyProfileTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovySackTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovySideEffectCapTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyStoreTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyTreeTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyBranchTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyChooseTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyLocalTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyRepeatTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyUnionTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyAndTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyCoinTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyCyclicPathTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyDedupTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyFilterTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyHasNotTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyHasTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyIsTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyOrTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyRangeTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovySampleTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovySimplePathTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyWhereTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyBackTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyCoalesceTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyCountTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyFoldTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyMapTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyMaxTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyMeanTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyMinTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyOrderTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyPathTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyPropertiesTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovySelectTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovySumTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyUnfoldTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyValueMapTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyVertexTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyAggregateTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyGroupCountTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyGroupTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyInjectTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyProfileTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovySackTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovySideEffectCapTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyStoreTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyTreeTest;
 import org.junit.runners.model.InitializationError;
 import org.junit.runners.model.RunnerBuilder;
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java
index ebb7b40..56fbf6a 100644
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java
+++ b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java
@@ -22,56 +22,56 @@ import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.GraphManager;
 import org.apache.tinkerpop.gremlin.groovy.loaders.SugarLoader;
 import org.apache.tinkerpop.gremlin.groovy.util.SugarTestHelper;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyBranchTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyChooseTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyLocalTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyRepeatTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.branch.GroovyUnionTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyAndTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyCoinTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyCyclicPathTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyDedupTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyExceptTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyFilterTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyHasNotTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyHasTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyIsTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyOrTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyRangeTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyRetainTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovySampleTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovySimplePathTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.filter.GroovyWhereTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyAddEdgeTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyAddVertexTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyBackTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyCoalesceTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyCountTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyFoldTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyMapTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyMatchTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyMaxTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyMeanTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyMinTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyOrderTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyPathTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyPropertiesTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovySelectTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovySumTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyUnfoldTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyValueMapTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.map.GroovyVertexTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyAggregateTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyGroupCountTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyGroupTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyInjectTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyProfileTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovySackTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovySideEffectCapTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovySideEffectTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyStoreTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovySubgraphTest;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GroovyTreeTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyBranchTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyChooseTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyLocalTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyRepeatTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.branch.GroovyUnionTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyAndTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyCoinTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyCyclicPathTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyDedupTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyExceptTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyFilterTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyHasNotTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyHasTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyIsTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyOrTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyRangeTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyRetainTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovySampleTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovySimplePathTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.GroovyWhereTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyAddEdgeTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyAddVertexTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyBackTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyCoalesceTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyCountTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyFoldTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyMapTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyMatchTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyMaxTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyMeanTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyMinTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyOrderTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyPathTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyPropertiesTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovySelectTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovySumTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyUnfoldTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyValueMapTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroovyVertexTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyAggregateTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyGroupCountTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyGroupTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyInjectTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyProfileTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovySackTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovySideEffectCapTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovySideEffectTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyStoreTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovySubgraphTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyTreeTest;
 import org.apache.tinkerpop.gremlin.process.traversal.CoreTraversalTest;
 import org.junit.runners.model.InitializationError;
 import org.junit.runners.model.RunnerBuilder;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/StepLoader.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/StepLoader.groovy b/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/StepLoader.groovy
index 3f20a2a..580c87d 100644
--- a/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/StepLoader.groovy
+++ b/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/StepLoader.groovy
@@ -22,7 +22,7 @@ import org.apache.tinkerpop.gremlin.groovy.function.GComparator
 import org.apache.tinkerpop.gremlin.groovy.function.GFunction
 import org.apache.tinkerpop.gremlin.groovy.function.GSupplier
 import org.apache.tinkerpop.gremlin.groovy.function.GUnaryOperator
-import org.apache.tinkerpop.gremlin.process.graph.traversal.GraphTraversal
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/SugarLoader.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/SugarLoader.groovy b/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/SugarLoader.groovy
index 6ebae15..41878a2 100644
--- a/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/SugarLoader.groovy
+++ b/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/SugarLoader.groovy
@@ -18,11 +18,11 @@
  */
 package org.apache.tinkerpop.gremlin.groovy.loaders
 
-import org.apache.tinkerpop.gremlin.process.Traversal
-import org.apache.tinkerpop.gremlin.process.Traverser
-import org.apache.tinkerpop.gremlin.process.graph.traversal.GraphTraversal
-import org.apache.tinkerpop.gremlin.process.graph.traversal.GraphTraversalSource
-import org.apache.tinkerpop.gremlin.process.graph.traversal.__
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.Traverser
+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.TraversalHelper
 import org.apache.tinkerpop.gremlin.structure.*
 import org.apache.tinkerpop.gremlin.structure.util.StringFactory

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/AbstractImportCustomizerProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/AbstractImportCustomizerProvider.java b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/AbstractImportCustomizerProvider.java
index 0055aa4..da9b2a0 100644
--- a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/AbstractImportCustomizerProvider.java
+++ b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/AbstractImportCustomizerProvider.java
@@ -24,20 +24,20 @@ import org.apache.commons.configuration.Configuration;
 import org.apache.tinkerpop.gremlin.algorithm.generator.AbstractGenerator;
 import org.apache.tinkerpop.gremlin.groovy.function.GFunction;
 import org.apache.tinkerpop.gremlin.groovy.loaders.GremlinLoader;
-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.Scope;
+import org.apache.tinkerpop.gremlin.process.traversal.T;
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.computer.GraphComputer;
 import org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.PeerPressureVertexProgram;
 import org.apache.tinkerpop.gremlin.process.computer.lambda.LambdaVertexProgram;
 import org.apache.tinkerpop.gremlin.process.computer.ranking.pagerank.PageRankVertexProgram;
 import org.apache.tinkerpop.gremlin.process.computer.traversal.TraversalVertexProgram;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.GraphTraversal;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.__;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.TraversalOptionParent;
+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.step.TraversalOptionParent;
 import org.apache.tinkerpop.gremlin.process.traversal.engine.ComputerTraversalEngine;
-import org.apache.tinkerpop.gremlin.process.util.metric.TraversalMetrics;
+import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics;
 import org.apache.tinkerpop.gremlin.structure.Compare;
 import org.apache.tinkerpop.gremlin.structure.Contains;
 import org.apache.tinkerpop.gremlin.structure.Direction;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java
index 87c7a61..9b55c4a 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java
@@ -25,7 +25,7 @@ import org.apache.tinkerpop.gremlin.driver.message.RequestMessage;
 import org.apache.tinkerpop.gremlin.driver.message.ResponseMessage;
 import org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode;
 import org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor;
-import org.apache.tinkerpop.gremlin.process.T;
+import org.apache.tinkerpop.gremlin.process.traversal.T;
 import org.apache.tinkerpop.gremlin.server.Context;
 import org.apache.tinkerpop.gremlin.server.GremlinServer;
 import org.apache.tinkerpop.gremlin.server.OpProcessor;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4c97e964/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
index 306f6d3..277e50e 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
@@ -24,14 +24,13 @@ import org.apache.tinkerpop.gremlin.driver.ResultSet;
 import org.apache.tinkerpop.gremlin.driver.Tokens;
 import org.apache.tinkerpop.gremlin.driver.exception.ResponseException;
 import org.apache.tinkerpop.gremlin.driver.message.RequestMessage;
-import org.apache.tinkerpop.gremlin.driver.message.ResponseStatus;
 import org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode;
 import org.apache.tinkerpop.gremlin.driver.ser.Serializers;
 import org.apache.tinkerpop.gremlin.driver.simple.NioClient;
 import org.apache.tinkerpop.gremlin.driver.simple.SimpleClient;
 import org.apache.tinkerpop.gremlin.driver.simple.WebSocketClient;
 import org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine;
-import org.apache.tinkerpop.gremlin.process.T;
+import org.apache.tinkerpop.gremlin.process.traversal.T;
 import org.apache.tinkerpop.gremlin.server.channel.NioChannelizer;
 import org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor;
 import org.junit.Rule;