Faron Dutton created TINKERPOP-2496:
---------------------------------------

             Summary: GremlinDslProcessor fails when SocialTraversalSourceDsl 
overrides close
                 Key: TINKERPOP-2496
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2496
             Project: TinkerPop
          Issue Type: Bug
          Components: process
    Affects Versions: 3.4.9
            Reporter: Faron Dutton


It appears that GremlinDslProcessor assumes all declared methods return some 
value. This causes it to fail if the traversal source DSL overrides the close 
method.

When compiling with Java 14, one receives the following error:
{noformat}
[ERROR] class com.sun.tools.javac.code.Type$JCVoidType cannot be cast to class 
javax.lang.model.type.DeclaredType (com.sun.tools.javac.code.Type$JCVoidType is 
in module jdk.compiler of loader 'app'; javax.lang.model.type.DeclaredType is 
in module java.compiler of loader 'platform')
{noformat}

h1. Example Code
{code:java}
public class MyTraversalSourceDsl extends GraphTraversalSource {

    private static final Logger logger = 
LoggerFactory.getLogger(MyTraversalSourceDsl.class);

    public MyTraversalSourceDsl(final Graph graph, final TraversalStrategies 
traversalStrategies) {
        super(graph, traversalStrategies);
    }

    public MyTraversalSourceDsl(final Graph graph) {
        super(graph);
    }

    public MyTraversalSourceDsl(final RemoteConnection connection) {
        super(connection);
    }

    @Override
    public void close() {
        try {
            super.close();
        } catch (Exception e) {
            logger.error("Unable to close connection: {}", e.getMessage());
        }
    }

}
{code}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to