jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Angela Schreiber <anch...@day.com>
Subject Re: SPI requirement for NodeIds of referenceable Nodes
Date Thu, 06 Nov 2008 18:16:17 GMT
hi julian

> it seems that currently JCR2SPI assumes that the NodeIds returned for 
> referenceable nodes actually do contain the UUID of that Node -- if the 
> SPI implementation returns an absolute path based NodeID instead, 
> JCR2SPI's Node.getUUID() implementation fails.

the javadoc of IdFactory says:

"[...] In most cases such an item is also mix:referenceable but
  there is no restriction in that respect. An SPI implementation
  may also use a unique ID to identify non-referenceable nodes.[...]"

this doesn't explicitely require referenceable nodes
to expose their jcr:uuid as the ItemId#getUniqueID.

however, JSR 283 seems quite clear to me with respect
to the identifier of referenceable nodes:

"3.9 Referenceable Nodes
  [...] To be referenceable a node must be of type
  mix:referenceable [...] This node type adds an auto-created,
  mandatory, protected STRING property to the node, called
  jcr:uuid, which exposes the identifier of the node.

> Either
> 1) Decide that this is how things are supposed to work, and just 
> document it. Drawback: there may be repositories that have referencable 
> nodes but path-based lookup still is more efficient (however, in that 
> case the implementation could build a custom NodeId that contains both).
> or
> 2) Change JCR2SPI to that it does not make that assumption, but instead 
> retrieves the value of the jcr:uuid property.
> Additional thought: before making a decision on this we may want to look 
> at what new requirements JSR283 brings to the table.

generally, the assumption (and thus 1) looks more consistent to me.

but if i remember correctly michi actually ran into such a
problem with his SPI implementation... i think due to nt:resource
extending mix:referenceable in JSR 170 (btw. not any more
with JSR 283, see issue 428)).

basically, i wouldn't mind changing jcr2spi to retrieve the
value of the jcr:uuid property. but with respect to JSR 283
i have the impression that we would do better explicitely
mandating that referenceable nodes expose their uuid as
uniqueID part in order to be prepared for Item.getIdentifier.


View raw message