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

Michael Dürig updated JCR-1140:
-------------------------------

    Description: 
org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl.getId() always returns 
idFactory.createNodeId((String) null, Path.ROOT) for the root node although a 
repository might want to reference the root node by UUID. NodeId.getId() breaks 
the contract of org.apache.jackrabbit.spi.ItemId which for this case states: 
"The item can not be identified with a unique ID and none of its ancestors can 
be identified with a unique ID. The item is identified by an absolute path".

I suggest to change the implementation such that when NodeId.getId() needs to 
return the NodeId of the root node a round trip to 
org.apache.jackrabbit.spi.RepositoryService.getRootId() is done. 

  was:
org.apache.jackrabbit.jcr2spi.hierarchy.NodeId.getId() always returns 
idFactory.createNodeId((String) null, Path.ROOT) for the root node although a 
repository might want to reference the root node by UUID. NodeId.getId() breaks 
the contract of org.apache.jackrabbit.spi.ItemId which for this case states: 
"The item can not be identified with a unique ID and none of its ancestors can 
be identified with a unique ID. The item is identified by an absolute path".

I suggest to change the implementation such that when NodeId.getId() needs to 
return the NodeId of the root node a round trip to 
org.apache.jackrabbit.spi.RepositoryService.getRootId() is done. 


> NodeId for root node should not be hardcoded in jcr2spi
> -------------------------------------------------------
>
>                 Key: JCR-1140
>                 URL: https://issues.apache.org/jira/browse/JCR-1140
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: SPI
>            Reporter: Michael Dürig
>
> org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl.getId() always returns 
> idFactory.createNodeId((String) null, Path.ROOT) for the root node although a 
> repository might want to reference the root node by UUID. NodeId.getId() 
> breaks the contract of org.apache.jackrabbit.spi.ItemId which for this case 
> states: "The item can not be identified with a unique ID and none of its 
> ancestors can be identified with a unique ID. The item is identified by an 
> absolute path".
> I suggest to change the implementation such that when NodeId.getId() needs to 
> return the NodeId of the root node a round trip to 
> org.apache.jackrabbit.spi.RepositoryService.getRootId() is done. 

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