jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Klimetschek" <aklim...@day.com>
Subject Re: Custom PersistenceManagers - How can I get the path associated with a NodeId?
Date Mon, 23 Jun 2008 20:24:25 GMT
No, unfortunately the PM interface does not allow this. It is designed
in a way that reduces the amount of operations that need to be
implemented (ie. making the PM simpler), which results in the use of
UUIDs as the central way of identifying nodes and their properties.
Unfortunately that makes it difficult to write PMs that are more
"intelligent" or have access to the hierarchy information.


On Mon, Jun 23, 2008 at 2:02 PM, Jerome Banks <jerome.banks@gmail.com> wrote:
> Hey Folks,
>  I'm trying to implement a custom PersistenceManager, and I'm running into
> some difficulties.
> I'd like to create a PersistenceManager where Nodes are stored on a
> filesystem, in a Folder corresponding the path of the Node in the
> Repository.  This way we could have nt:file file nodes which are accessible
> by non-JCR clients, simply as files on a filesystem.
> However, the methods provided to PersistenceManager only seem to pass in
> NodeId or PropertyId, which don't seem to have a path, but simply a UUID.
> It looks like various components in Jackrabbit are able to store items on
> the filesystem, but they do so by chopping up the UUID, and creating their
> own path.  Is there any reason we couldn't just use the Node's path to start
> out with?  From the JCR API perspective, it is alway available when a Node
> or Property is created. Why can't it be accessed by the PersistenceManager?
>  Any hints on how to accomplish my goal?  I want to be able to store items
> (basically binary properties ) on a filesystem, according to their path in
> the repository.
> thx ...

Alexander Klimetschek

View raw message