Problem to invoke createDataStoreGarbageCollector() in JCASessionHandle object
------------------------------------------------------------------------------
Key: JCR-1496
URL: https://issues.apache.org/jira/browse/JCR-1496
Project: Jackrabbit
Issue Type: Bug
Components: jackrabbit-jca
Affects Versions: 1.4
Environment: all
Reporter: Juan Fernandez-Corugedo
It's imposible to execute the followin code:
import org.apache.jackrabbit.core.data.GarbageCollector;
...
GarbageCollector gc;
SessionImpl si = (SessionImpl)session;
gc = si.createDataStoreGarbageCollector();
// optional (if you want to implement a progress bar / output):
gc.setScanEventListener(this);
gc.scan();
gc.stopScan();
// could be a separate button, if multiple repositories use the same data store:
gc.deleteUnused();
It throws a ClassCastException, because with JCA, the session object is of type
JCASessionHandle.
I have solve this bug by changing the private method getSession() of the
JCASessionHandle class to public.
CURRENT IMPLEMENTATION:
private Session getSession() {
return mc.getSession(this);
}
MODIFICATION:
public Session getSession() {
return mc.getSession(this);
}
And the final code look's like this:
SessionImpl si =
(SessionImpl)((org.apache.jackrabbit.jca.JCASessionHandle)session).getSession();
¿There are other solution more clean?
Greetings.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.