jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Mueller (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1865) Add the Data Store to the Jackrabbit API
Date Thu, 03 Sep 2009 07:17:32 GMT

    [ https://issues.apache.org/jira/browse/JCR-1865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12750857#action_12750857

Thomas Mueller commented on JCR-1865:

> ManagedRepository mr = new ManagedRepositoryImpl(RepositoryConfig.create(...)); 

Your solution is not JCR 2.0 spec compliant. According to the spec, page 77, creating a Repository
object goes like this: RepositoryFactory.getRepository(Map parameters).

ManagedRepositoryImpl is a class, not an interface. So the application would become dependent
on a specific class. The point about APIs is to use interfaces if possible. Using classes
directly in an application will again lead to problems, such as if you want to use the same
application remotely, against another implementation, and so on.

Your solution doesn't include any access rights checks. How do you ensure only authorized
users create a new ManagedRepositoryImpl or call getGarbageCollector? Let's say the 'configuration'
(which is again a class and not an interface) points to a remote repository.

> The advantage of this approach over adding things to JackrabbitSession is that access
control to such admin features becomes a deployment issue

Sorry why would that be an advantage? For me that's a disadvantage: you could not call garbage
collection remotely for example.

> We won't need to extend the JCR access control mechanism with custom privileges like
"garbage collection" or "repository shutdown". 

So you would need to create another access control mechanism. Why, if we already have one?

> Add the Data Store to the Jackrabbit API
> ----------------------------------------
>                 Key: JCR-1865
>                 URL: https://issues.apache.org/jira/browse/JCR-1865
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>            Priority: Minor
>         Attachments: api.patch, api_2.patch, core.patch, core_2.patch
> Currently, the garbage collection is not part of the Jackrabbit API. However, the data
store garbage collection must be used once in a while if the data store is enabled. I propose
to add the required interfaces to the Jackrabbit API. This will also allow to call garbage
collection using RMI.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message