[ https://issues.apache.org/jira/browse/TINKERPOP-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stephen mallette updated TINKERPOP-2050: ---------------------------------------- Affects Version/s: 3.2.9 > Add a .toGremlinGroovyString() method to Traversal class > -------------------------------------------------------- > > Key: TINKERPOP-2050 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2050 > Project: TinkerPop > Issue Type: Improvement > Components: process > Affects Versions: 3.2.9 > Reporter: Jim Hatcher > Priority: Minor > > I am working on a project where there is Java code being written to > dynamically generate a Traversal based on a request coming in to an API. You > can think of this as a "Traversal Builder." > The code looks something like this: > {code:java} > Traversal<Vertex, Vertex> traversal = g.V(); > if (request.searchByAddress == true) { > traversal.hasLabel("address"); > if (request.address.addressLine1 != null){ > traversal.has("address_line_1", request.address.addressLine1) > } > } > etc. > {code} > When that code is being debugged, a traversal.toString() is run on the > traversal to see the ouptut. This output is Gremlin bytecode. > It would be nice to have a way to easily see the Gremlin Groovy that was > built so that you could take the Groovy, drop it into Studio, make sure it > runs, run a profile() on it, and make sure it's efficient. > I figured out that you can do this by running this code: > {code:java} > private String toGremlinGroovyString(Traversal traversal){ > if (traversal == null){ > return null; > } > Bytecode bc = traversal.asAdmin().getBytecode(); > return GroovyTranslator.of("g").translate(bc); > } > {code} > I think it would be nice to add that as a method on the Traversal class so > that it could be used by driver users more easily. -- This message was sent by Atlassian JIRA (v7.6.3#76005)