You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Faron Dutton (Jira)" <ji...@apache.org> on 2020/12/21 21:06:00 UTC
[jira] [Created] (TINKERPOP-2496) GremlinDslProcessor fails when
SocialTraversalSourceDsl overrides close
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)