[
https://issues.apache.org/jira/browse/SLING-8341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ashok Kumar updated SLING-8341:
-------------------------------
Description:
Scenario : - ResourceResolver.map(‘/content/we-retail/us*//*en.html’) results
in ‘/content/we-retail/us/enn.html’
Steps to Reproduce :
1. Go to console /system/console/jcrresolver
2. input link "/content/we-retail/us//en.html" to Configuration Test
3. click map
4. the result shows
Output
Primary: /content/we-retail/us/enn.html. Other candidates:
/content/we-retail/us//en.html.
Analysis:
Attached is the variable states at Line 772
[https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/master/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java#L769-L770]
[https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/master/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java#L732-L763]
gives resolutionPath = "/content/we-retail/us/en" but original absPath input
param had an extra slash so pathinfo gets extra character in this case 'n'.
Refer attached variable state. If there are three adjacent slashes , pathinfo
would have two extra chars 'en'.
Questions: - How to handle such input gracefully
what should be the output - throw an exception and exit OR return the original
path itself OR automatically remove adjacent slashes and replace that with
single '/'
was:
Scenario : - ResourceResolver.map(‘/content/we-retail/us*//*en.html’) results
in ‘/content/we-retail/us/enn.html’
Steps to Reproduce :
1. Go to console /system/console/jcrresolver
2. input link "/content/we-retail/us//en.html" to Configuration Test
3. click map
4. the result shows
Output
Primary: /content/we-retail/us/enn.html. Other candidates:
/content/we-retail/us//en.html.
Questions: - How to handle such input gracefully
what should be the output - throw an exception and exit OR return the original
path itself OR automatically remove adjacent slashes and replace that with
single '/'
> unexpected results from resourceresolver.map when input path has adjacent '/'
> -----------------------------------------------------------------------------
>
> Key: SLING-8341
> URL: https://issues.apache.org/jira/browse/SLING-8341
> Project: Sling
> Issue Type: Bug
> Components: ResourceResolver
> Affects Versions: Resource Resolver 1.6.8
> Reporter: Ashok Kumar
> Priority: Major
> Attachments: Variables-resolveInternal.png
>
>
> Scenario : - ResourceResolver.map(‘/content/we-retail/us*//*en.html’) results
> in ‘/content/we-retail/us/enn.html’
> Steps to Reproduce :
> 1. Go to console /system/console/jcrresolver
> 2. input link "/content/we-retail/us//en.html" to Configuration Test
> 3. click map
> 4. the result shows
> Output
> Primary: /content/we-retail/us/enn.html. Other candidates:
> /content/we-retail/us//en.html.
> Analysis:
> Attached is the variable states at Line 772
> [https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/master/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java#L769-L770]
>
> [https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/master/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java#L732-L763]
> gives resolutionPath = "/content/we-retail/us/en" but original absPath input
> param had an extra slash so pathinfo gets extra character in this case 'n'.
> Refer attached variable state. If there are three adjacent slashes , pathinfo
> would have two extra chars 'en'.
>
> Questions: - How to handle such input gracefully
> what should be the output - throw an exception and exit OR return the
> original path itself OR automatically remove adjacent slashes and replace
> that with single '/'
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)