You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by rd...@apache.org on 2018/08/17 19:48:07 UTC

[02/16] tinkerpop git commit: Add check for Column in `by(Function)`

Add check for Column in `by(Function)`


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

Branch: refs/heads/TINKERPOP-2023
Commit: a0a243b256dbfdf66bb5ce24958fc91c7e6eed03
Parents: 1b99323
Author: yatam <yu...@asg.com>
Authored: Mon Aug 6 15:57:06 2018 +0300
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Aug 13 10:35:09 2018 -0400

----------------------------------------------------------------------
 .../tinkerpop/gremlin/process/traversal/step/ByModulating.java     | 2 ++
 .../tinkerpop/gremlin/process/traversal/step/map/GroupStep.java    | 2 ++
 2 files changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a0a243b2/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/ByModulating.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/ByModulating.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/ByModulating.java
index bea1b56..01841fa 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/ByModulating.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/ByModulating.java
@@ -57,6 +57,8 @@ public interface ByModulating {
     public default void modulateBy(final Function function) throws UnsupportedOperationException {
         if (function instanceof T)
             this.modulateBy((T) function);
+        else if (function instanceof Column)
+            this.modulateBy(new ColumnTraversal((Column) function));
         else
             this.modulateBy(__.map(new FunctionTraverser<>(function)).asAdmin());
     }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a0a243b2/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroupStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroupStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroupStep.java
index 07ca4ae..127d562 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroupStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroupStep.java
@@ -23,6 +23,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Operator;
 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.__;
+import org.apache.tinkerpop.gremlin.process.traversal.lambda.ColumnTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.lambda.ElementValueTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.lambda.FunctionTraverser;
 import org.apache.tinkerpop.gremlin.process.traversal.lambda.IdentityTraversal;
@@ -176,6 +177,7 @@ public final class GroupStep<S, K, V> extends ReducingBarrierStep<S, Map<K, V>>
         if (valueTraversal instanceof ElementValueTraversal ||
                 valueTraversal instanceof TokenTraversal ||
                 valueTraversal instanceof IdentityTraversal ||
+                valueTraversal instanceof ColumnTraversal ||
                 valueTraversal.getStartStep() instanceof LambdaMapStep && ((LambdaMapStep) valueTraversal.getStartStep()).getMapFunction() instanceof FunctionTraverser) {
             return (Traversal.Admin<S, E>) __.map(valueTraversal).fold();
         } else