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

Felix Meschberger edited comment on SLING-6383 at 12/9/16 2:14 PM:
-------------------------------------------------------------------

Could this be that JCR assumes the leading curly brace to introduce the 
expanded name form as per JCR 2 section 3.2.5.1 Expanded Form:

{panel}
*3.2.5.1 Expanded Form*
The expanded form of a JCR name is defined as:

{code}
ExpandedName ::= '{' Namespace '}' LocalName
Namespace ::= /* see §3.2.1 Namespaces */
LocalName ::= /* see §3.2.2 Local Names */
/* See §1.3.1 String Literals in Syntactic Grammars for details on the 
interpretation of string literals in this grammar */
{code}
{panel}

Though I would think that the string "{sub.tidy.json" is not a complete name in 
expanded form and thus should be treated as invalid.

Just an idea.


was (Author: fmeschbe):
Could this be that JCR assumes the leading curly brace to introduce the 
expanded name form as per JCR 2 section 3.2.5.1 Expanded Form:

{panel}
*3.2.5.1 Expanded Form*
The expanded form of a JCR name is defined as:

{code}
ExpandedName ::= '{' Namespace '}' LocalName
Namespace ::= /* see §3.2.1 Namespaces */
LocalName ::= /* see §3.2.2 Local Names */
/* See §1.3.1 String Literals in Syntactic Grammars for details on the 
interpretation of string literals in this grammar */
{code}
{panel}

Though I would think that the string "{sub.tidy.json" is not a complete name in 
expanded form and thus should be treated as invalid.

Just and idea.

> Unexpected behavior with left curly bracket in resource resolution
> ------------------------------------------------------------------
>
>                 Key: SLING-6383
>                 URL: https://issues.apache.org/jira/browse/SLING-6383
>             Project: Sling
>          Issue Type: Bug
>          Components: ResourceResolver
>            Reporter: Bertrand Delacretaz
>            Priority: Minor
>         Attachments: test.jsp
>
>
> The attached {{test.jsp}} script produces the below output, in which cases 4 
> to 7 are suprising.
> Given an existing resource R (/libs here) it looks like adding a sub-path to 
> R's path which starts with a left curly bracket causes the resolver to return 
> R instead of a non-existing resource. 
> The returned resource has the full path that was resolved, not R's path, but 
> adapTo(Node.class) returns R's node.
> {code}
> 1 /libs
>   (sling:Folder)
>   JCR:/libs
> 2 /libs/sub
>   (sling:nonexisting)
> 3 /libs/sub/end
>   (sling:nonexisting)
> 4 /libs/{end
>   (sling:Folder)
>   JCR:/libs
> 5 /libs/{sub/end
>   (sling:Folder)
>   JCR:/libs
> 6 /libs/{sub/more/end
>   (sling:Folder)
>   JCR:/libs
> 7 /libs/{sub/end
>   (sling:Folder)
>   JCR:/libs
> 8 /libs/}sub/end
>   (sling:nonexisting)
> 9 /libs/{sub}/end
>   (sling:nonexisting)
> 10 /libs/sub/{end
>   (sling:nonexisting)
> 11 /libs/sub/}end
>   (sling:nonexisting)
> 12 /libs/sub/{end}
>   (sling:nonexisting)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to