You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2009/07/08 12:14:14 UTC

[jira] Updated: (JCR-1496) Problem to invoke createDataStoreGarbageCollector() in JCASessionHandle object

     [ https://issues.apache.org/jira/browse/JCR-1496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting updated JCR-1496:
-------------------------------

    Status: Patch Available  (was: Open)

> Problem to invoke createDataStoreGarbageCollector() in JCASessionHandle object
> ------------------------------------------------------------------------------
>
>                 Key: JCR-1496
>                 URL: https://issues.apache.org/jira/browse/JCR-1496
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-jca
>    Affects Versions: 1.4
>         Environment: all
>            Reporter: Juan Fernandez-Corugedo
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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.