You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Stefan Seifert (JIRA)" <ji...@apache.org> on 2010/12/17 00:37:00 UTC

[jira] Updated: (SLING-1899) JcrResourceResolver map method is not reverse operation of resolve method with special chars in path

     [ https://issues.apache.org/jira/browse/SLING-1899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Seifert updated SLING-1899:
----------------------------------

    Description: 
according to the javadocs of the ResourceResolver API interface, the map method is intended as the reverse operation of the resolve method.
this is not the case if the path contains special chars like spaces - they are url-encoded, although the javadocs of the API does not require this.
additionally the resolve method does not url-decode the path (which is correct in my opinion because the servlet engine already decodes the path).

the map method should be fixed, so that not url-encoding takes place in it. the application is responsible for url-encoding a path if needed, not the sling api.

i've attached a patch which contains a simple unit tests that makes the current implementation fail when resolving a path generated with the map method: [^101216_mapresolve_specialchars_test.patch]

  was:
accoring to the javadocs of the ResourceResolver API interface, the map method is inteded as the reverse operation of the resolve method.
this is not the case if the path contains special chars like spaces - they are url-encoded, although the javadocs of the API does not require this.
additionally the resolve method does not url-deocde the path (which is correct in my opinion because the servlet engine already decodes the path).

the map method should be fixed, so that not url-encoding takes place in it. the application is responsible for url-encoding a path if needed, not the sling api.

i've attached a patch which contains a simple unit tests that makes the current implementation fail when resolving a path generated with the map method: [^101216_mapresolve_specialchars_test.patch]

        Summary: JcrResourceResolver map method is not reverse operation of resolve method with special chars in path  (was: JcrResolver map method is not reverse operation of resolve method with special chars in path)

> JcrResourceResolver map method is not reverse operation of resolve method with special chars in path
> ----------------------------------------------------------------------------------------------------
>
>                 Key: SLING-1899
>                 URL: https://issues.apache.org/jira/browse/SLING-1899
>             Project: Sling
>          Issue Type: Bug
>          Components: JCR
>    Affects Versions: JCR Resource 2.0.6
>            Reporter: Stefan Seifert
>         Attachments: 101216_mapresolv_specialchars_fix.patch, 101216_mapresolve_specialchars_test.patch
>
>
> according to the javadocs of the ResourceResolver API interface, the map method is intended as the reverse operation of the resolve method.
> this is not the case if the path contains special chars like spaces - they are url-encoded, although the javadocs of the API does not require this.
> additionally the resolve method does not url-decode the path (which is correct in my opinion because the servlet engine already decodes the path).
> the map method should be fixed, so that not url-encoding takes place in it. the application is responsible for url-encoding a path if needed, not the sling api.
> i've attached a patch which contains a simple unit tests that makes the current implementation fail when resolving a path generated with the map method: [^101216_mapresolve_specialchars_test.patch]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.