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