[
https://issues.apache.org/jira/browse/JENA-861?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14290545#comment-14290545
]
Claude Warren commented on JENA-861:
------------------------------------
Background:
1. TDBGraph implements org.apache.jena.atlas.lib.Closable which defines a
close() method
2. Graph does not.
3. DatasetGraphMaker.close() calls close() on the defaultGraph.
The security system creates dynamic proxies.
When a TDBGraph is closed the method that is being attempted is
Closable.close() not Graph.close() (probably has to do with the order they are
defined in the TDBGraph class definition.
The security system sees that it is proxying a method with the same signature
(name and args). but when it attempts to execute the Closable.close() method
and fails since the proxy doesn't really proxy that method it proxies
Graph.close().
> org.apache.jena.security.impl.SecuredItemInvoker uses wrong method
> ------------------------------------------------------------------
>
> Key: JENA-861
> URL: https://issues.apache.org/jira/browse/JENA-861
> Project: Apache Jena
> Issue Type: Bug
> Components: Security
> Affects Versions: Jena 2.12.2
> Reporter: Claude Warren
> Assignee: Claude Warren
>
> When a secured Model returns a secured Graph from getGraph() and that graph
> is closed an InvocationTargetException is thrown.
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)