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 <[email protected]>
Authored: Mon Aug 6 15:57:06 2018 +0300
Committer: Stephen Mallette <[email protected]>
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

Reply via email to