Severin Stampler created TINKERPOP-1791: -------------------------------------------
Summary: GremlinDsl custom step with generic end type produces invalid code in __.java Key: TINKERPOP-1791 URL: https://issues.apache.org/jira/browse/TINKERPOP-1791 Project: TinkerPop Issue Type: Bug Components: process Affects Versions: 3.2.5 Reporter: Severin Stampler I'm trying the create a custom step to perform a full-text search in an external index and return the matching vertices or edges, like this: {code:java} @GremlinDsl(traversalSource = "com.saillabs.mediaminer.mmgraphdsl.MMGraphTraversalSourceDsl") public interface MMGraphTraversalDsl<S, E> extends GraphTraversal.Admin<S, E> { public default GraphTraversal<S, E> search(String field, String query) { //TODO: // Find vertex ids matching the search query in external index Set<String> vids = new HashSet<>(); // for now add some hardcoded vertex ids vids.add("vertex1"); vids.add("vertex2"); return hasId(P.within(vids)); } } {code} The code seems correct in my point of view, but the generated code in the __.java is not compilable. It produces this error: {noformat} [ERROR] /C:/svn/start/mm/mmserver/server/mvn/mmgraphdsl/target/generated-sources/annotations/com/saillabs/mediaminer/mmgraphdsl/__.java:[41,41] cannot find symbol [ERROR] symbol: class E [ERROR] location: class com.saillabs.mediaminer.mmgraphdsl.__ {noformat} The generated code is this: {code:java} public static <S> MMGraphTraversal<S, E> search(String field, String query) { return __.<S>start().search(field,query); } {code} I think the correct generated code should look like this: {code:java} public static <S> MMGraphTraversal<S, S> search(String field, String query) { return __.<S>start().search(field,query); } {code} I think it's a bug in the GremlinDsl code generator, however, I may be wrong. Any help is appreciated. Thanks, br Severin -- This message was sent by Atlassian JIRA (v6.4.14#64029)