You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2016/12/09 13:52:58 UTC
[jira] [Commented] (SLING-6383) Unexpected behavior with left curly
bracket in resource resolution
[ https://issues.apache.org/jira/browse/SLING-6383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15735373#comment-15735373 ]
Bertrand Delacretaz commented on SLING-6383:
--------------------------------------------
It looks like the unexpected behavior happens at the Oak level. We have this code in our {{JcrItemResourceFactory}} class
{code}
if (session instanceof JackrabbitSession) {
item = ((JackrabbitSession) session).getItemOrNull(path);
}
{code}
And if that's called with path = "/libs/{sub/end.tidy.json" which does not exists, the {{getItemOrNull}} method returns an Item with path = /libs, which exists.
This is using the Sling trunk which uses Oak 1.5.13.
> 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)