[ https://issues.apache.org/jira/browse/TINKERPOP-1483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15619917#comment-15619917 ]
ASF GitHub Bot commented on TINKERPOP-1483: ------------------------------------------- Github user JPMoresmau commented on the issue: https://github.com/apache/tinkerpop/pull/446 What? I'm just saying that currently valueMap returns `Map<String,Object>`, so if you iterate on all the keys as String, you get a runtime crash because there are keys that are not strings. So if you don't want to put only String as keys, you need to change the Map to `Map<Object,Object>` , which will also break existing code. > PropertyMapStep returns Map<String,E> but puts non String keys in it! > --------------------------------------------------------------------- > > Key: TINKERPOP-1483 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1483 > Project: TinkerPop > Issue Type: Bug > Components: process > Affects Versions: 3.2.2 > Reporter: JP Moresmau > > PropertyMapStep.map has return type Map<String,E>, but if includeTokens is > true: > {code} > if (element instanceof VertexProperty) { > map.put(T.id, element.id()); > map.put(T.key, ((VertexProperty) element).key()); > map.put(T.value, ((VertexProperty) element).value()); > } else { > map.put(T.id, element.id()); > map.put(T.label, element.label()); > } > {code} > T.id, T.key and T.value are NOT strings, so code looping through the keys in > Java fails. toString() are missing... But do we rely on having these keys in > other operations? -- This message was sent by Atlassian JIRA (v6.3.4#6332)