You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Daniel Kuppitz (JIRA)" <ji...@apache.org> on 2016/04/11 21:59:25 UTC

[jira] [Created] (TINKERPOP-1261) Side-effect group().by() can't handle user-defined maps

Daniel Kuppitz created TINKERPOP-1261:
-----------------------------------------

             Summary: Side-effect group().by() can't handle user-defined maps
                 Key: TINKERPOP-1261
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1261
             Project: TinkerPop
          Issue Type: Bug
          Components: process
    Affects Versions: 3.2.0-incubating
            Reporter: Daniel Kuppitz
             Fix For: 3.2.1


Side-effect grouping is usually used to add things to an existing map. That no longer works as the {{group().by()}} expects all map values to be traversers. Check this:

*Normal grouping:*

{code}
gremlin> g = TinkerFactory.createModern().traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().hasLabel("person").group().by("name").by(out("created").values("name").fold()).next()
==>peter=[lop]
==>vadas=[]
==>josh=[ripple, lop]
==>marko=[lop]
{code}

*Side-effect grouping:*

{code}
gremlin> m = ["marko":[]]
==>marko=[]
gremlin> g.withSideEffect("m", m).V().hasLabel("person").group("m").by("name").by(out("created").values("name").fold()).cap("m")
java.util.ArrayList cannot be cast to org.apache.tinkerpop.gremlin.process.traversal.Traversal$Admin
Display stack trace? [yN] y
java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.apache.tinkerpop.gremlin.process.traversal.Traversal$Admin
	at org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupStep$GroupBiOperator.apply(GroupStep.java:217)
	at org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupStep$GroupBiOperator.apply(GroupStep.java:171)
	at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversalSideEffects.add(DefaultTraversalSideEffects.java:92)
	at org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupSideEffectStep.sideEffect(GroupSideEffectStep.java:97)
	at org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SideEffectStep.processNextStart(SideEffectStep.java:39)
	at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:140)
	at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.hasNext(ExpandableStepIterator.java:42)
	at org.apache.tinkerpop.gremlin.process.traversal.step.util.SupplyingBarrierStep.processAllStarts(SupplyingBarrierStep.java:83)
	at org.apache.tinkerpop.gremlin.process.traversal.step.util.SupplyingBarrierStep.processNextStart(SupplyingBarrierStep.java:70)
	at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:140)
	at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:146)
	at org.apache.tinkerpop.gremlin.console.Console$_closure3.doCall(Console.groovy:206)
...
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)