[
https://issues.apache.org/jira/browse/JCR-2360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12769962#action_12769962
]
Jukka Zitting commented on JCR-2360:
------------------------------------
Instead of a new registry, we could actually just let each specific repository
factory to interpret the org.apache.jackrabbit.repository.uri parameter in
addition to any custom parameters they may support.
For example, the jackrabbit-core repository factory could look up a file:// URI
and only return an instantiated repository if the given path points to a
Jackrabbit repository directory. Another repository factory could then also
support file:// URIs that point to other types of files or directories.
The nice thing about this approach is that we wouldn't need another registry
mechanism, as the normal service provider system already used by repository
factories would be good enough.
> JcrUtils.getRepository(...) for simple repository access
> --------------------------------------------------------
>
> Key: JCR-2360
> URL: https://issues.apache.org/jira/browse/JCR-2360
> Project: Jackrabbit Content Repository
> Issue Type: New Feature
> Components: jackrabbit-jcr-commons
> Reporter: Jukka Zitting
> Assignee: Jukka Zitting
> Priority: Minor
> Fix For: 2.0-beta1
>
> Attachments: JCR-2360.patch
>
>
> As discussed on the mailing list, it would be nice to have a trivially simple
> way (one line of code) to connect to a repository. The RepositoryFactory
> interface in JCR 2.0 defines a way for clients to get a repository reference
> without a direct implementation dependency, but a client still needs extra
> code to handle the Service Provider lookup and the iteration through all the
> available repository factories.
> To simplify client code I'd like to introduce a
> JcrUtils.getRepository(Map<String, String>) method that takes care of the
> tasks mentioned above:
> Map<String, String> parameters = ...; // repository settings
> Repository repository = JcrUtils.getRepository(parameters);
> As a further simplification, I'd also like to introduce a
> JcrUtils.getRepository(String) method that builds the parameter map based on
> a given "repository URI".
> Repository repository =
> JcrUtils.getRepository("file:///path/to/repository");
> Repository repository =
> JcrUtils.getRepository("http://localhost:8080/server");
> The set of supported URI types is still to be defined.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.