jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Juan Fernandez-Corugedo (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCR-1496) Problem to invoke createDataStoreGarbageCollector() in JCASessionHandle object
Date Mon, 24 Mar 2008 11:55:24 GMT
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.


Mime
View raw message