Dimitry Solovyov created TINKERPOP-1962:
-------------------------------------------
Summary: GroovyTranslator doesn't handle empty maps
Key: TINKERPOP-1962
URL: https://issues.apache.org/jira/browse/TINKERPOP-1962
Project: TinkerPop
Issue Type: Bug
Components: server
Affects Versions: 3.3.2
Reporter: Dimitry Solovyov
Bytecode queries that contain an empty map and lambdas fail because
GroovyTranslator doesn't account for empty maps when [removing the last
trailing
comma|https://github.com/apache/tinkerpop/blob/3.3.2/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java#L134].
To reproduce:
{code:java}
gremlin> identity = new OneArgLambda('it.get()', 'gremlin-groovy')
==>lambda[it.get()]
gremlin> bytecode = __.inject([:]).map(identity).asAdmin().getBytecode()
==>[[], [inject({}), map(lambda[it.get()])]]
gremlin> client.submit(bytecode).all().get()
org.apache.tinkerpop.gremlin.driver.exception.ResponseException:
org.codehaus.groovy.control.MultipleCompilationErrorsException:
Script9.groovy: 1: expecting ')', found ']' @ line 1, column 31.
gremlinscriptengine__g.inject(]).map({it.get()})
^
1 error
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)