[ 
https://issues.apache.org/jira/browse/SLING-12300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17839129#comment-17839129
 ] 

Radu Cotescu commented on SLING-12300:
--------------------------------------

[~joerghoh], how can your two asserts be true at the same time for a 
referenceable node?! A JCR node's identifier is its path or, if it has the 
{{mix:referenceable}} applied, its {{jcr:uuid}} property, like mentioned in the 
issue's description.

In the PR I have provided some tests that show the path behaviour, namely the 
path will always be the node's path, regardless of how the resource was 
retrieved.

While writing a new Resource Provider might provide better isolation, it would 
duplicate everything the JCR Provider does right now and it wouldn't provide 
much value compared to the current solution. Accessing a resource like 
{{http://localhost:8080/jcr:id/<uuid>.json}} will be identical to 
{{http://localhost:8080/<path>.json}}.

> Provide a way to retrieve a JCR backed resource by its node identifier
> ----------------------------------------------------------------------
>
>                 Key: SLING-12300
>                 URL: https://issues.apache.org/jira/browse/SLING-12300
>             Project: Sling
>          Issue Type: New Feature
>          Components: JCR
>            Reporter: Radu Cotescu
>            Assignee: Radu Cotescu
>            Priority: Major
>             Fix For: JCR Resource 3.3.0
>
>
> Since all {{javax.jcr.Nodes}} have an identifier [0], a useful feature would 
> be {{Resource}} retrieval by node id, which could be its {{jcr:uuid}} 
> property for referenceable nodes or the path. In systems that would like to 
> use UUID addressing, this would reduce the need for executing JCR queries for 
> resource retrieval and would avoid double-reads via the JCR and then Sling 
> API to obtain the resource.
> In order to provide a unified behaviour, paths starting with the {{/jcr:id/}} 
> prefix should use the resource retrieval by node identifier.
> [0] - 
> https://javadoc.io/static/javax.jcr/jcr/2.0/javax/jcr/Node.html#getIdentifier()



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to