[ 
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.

Reply via email to