jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] Updated: (JCR-2042) RepositoryFactory implementation for jcr2spi
Date Wed, 16 Sep 2009 12:20:57 GMT

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

Michael Dürig updated JCR-2042:

        Fix Version/s: 2.0.0
    Affects Version/s: 2.0.0
               Status: Patch Available  (was: Open)

This patch implements a proof of concept fix for this issue:

- implements javax.jcr.RepositoryFactory
- configuration is passed as map instead of URLs since (1): jsr 283 compliant and (2): parts
of the configuration settings need to go to jcr2spi and parts need to be passed on to spi.
This is kind of troublesome using URLs. The URL scheme can still be implemented on top of
this for the more common use cases though. 
- With this patch jcr2spi could be cleanly OSGi bundled by only exporting org.apache.jackrabbit.jcr2spi.factory
(partial fix for JCR-1991)
- With this patch jackrabbit-jcr-client could be redesigned on top of Jcr2spiRepositoryFactory
which would remove the compile time dependencies of jcr-client to the various spi implementations
(improvement to JCR-2041).

> RepositoryFactory implementation for jcr2spi
> --------------------------------------------
>                 Key: JCR-2042
>                 URL: https://issues.apache.org/jira/browse/JCR-2042
>             Project: Jackrabbit Content Repository
>          Issue Type: New Feature
>          Components: jackrabbit-jcr2spi, jackrabbit-spi
>    Affects Versions: 2.0.0
>            Reporter: Marcel Reutegger
>            Priority: Minor
>             Fix For: 2.0.0
>         Attachments: JCR-2042-poc.patch
> There should be a RepositoryFactory implementation in jcr2spi that also covers acquiring
the underlying RepositoryService.
> For this purpose I suggest to create:
> -  a RepositoryServiceFactory in jackrabbit-spi, which encapsulates the spi implementation
specifc instantiation of the RepositoryService. the factory probably just needs a single method
that takes a parameters map.
> - a RepositoryFactory implementation in jcr2spi, which works with a URI that contains
all required information to connect/acquired the RepositoryService.
> To use jcr2spi/spi2jcr/jackrabbit-core:
> - jcr+file://path/to/repository/home?config=repository.xml
> To use jcr2spi/spi2dav:
> - jcr+dav://localhost:8080/server/repository/?br=4
> To use jcr2spi/spi2davex:
> - jcr+davex://localhost:8080/server/repository/
> An implementation of RepositoryServiceFactory must check the scheme and decide if it
can handle it and create a RepositoryService instance with it, otherwise it must return null.
This means there would be a single name for the connect URI for all RepositoryServiceFactory

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

View raw message