[
https://issues.apache.org/jira/browse/SLING-3319?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Olaf Otto updated SLING-3319:
-----------------------------
Description:
In order to find and sort ResourceProviders, the ResourceProviderEntry class
from org.apache.sling.resourceprovider splits the request path into segments,
subsequently traversing the segments to find provides with a root matching the
entire path up to the current segment. However, The function split(String) of
ResourceProviderEntry splits by "/", thus resulting in the last segment
containing any selectors and extensions of the current path, like so:
/content/test/root.html -> [content, test, root.html].
Consequently, a provider with the root path /content/test/root is not found,
but when a child of that path is requested, the provider is found.
was:
In order to find and sort ResourceProviders, the ResourceProviderEntry class
from org.apache.sling.resourceprovider splits the request path into segments,
subsequently traversing the segments to find provides with a root matching the
entire path up to the current segment. However, The function split(String) of
ResourceProviderEntry only splits by "/", thus resulting in the last segment
containing any selectors and extensions of the current path, like so:
/content/test/root.html -> [content, test, root.html].
Consequently, a provider with the root path /content/test/root is not found,
but when a child of that path is requested, the provider is found.
> ResourceProviderEntry fails to resolve resource provider when providers root
> path is resolved with selectors or extensions
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: SLING-3319
> URL: https://issues.apache.org/jira/browse/SLING-3319
> Project: Sling
> Issue Type: Bug
> Components: JCR
> Affects Versions: Resource Resolver 1.0.6
> Reporter: Olaf Otto
> Original Estimate: 4h
> Remaining Estimate: 4h
>
> In order to find and sort ResourceProviders, the ResourceProviderEntry class
> from org.apache.sling.resourceprovider splits the request path into segments,
> subsequently traversing the segments to find provides with a root matching
> the entire path up to the current segment. However, The function
> split(String) of ResourceProviderEntry splits by "/", thus resulting in the
> last segment containing any selectors and extensions of the current path,
> like so:
> /content/test/root.html -> [content, test, root.html].
> Consequently, a provider with the root path /content/test/root is not found,
> but when a child of that path is requested, the provider is found.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)