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

Carsten Ziegeler resolved SLING-3730.
-------------------------------------

    Resolution: Fixed

> ResourceResolver does not always set the metadata "sling.resolutionPath" 
> properly
> ---------------------------------------------------------------------------------
>
>                 Key: SLING-3730
>                 URL: https://issues.apache.org/jira/browse/SLING-3730
>             Project: Sling
>          Issue Type: Bug
>    Affects Versions: JCR Resource 2.3.6, Resource Resolver 1.1.0
>            Reporter: Konrad Windszus
>            Assignee: Carsten Ziegeler
>            Priority: Critical
>             Fix For: JCR Resource 2.3.8, Resource Resolver 1.1.2
>
>         Attachments: rewriter-issue-1.0.zip
>
>
> This metadata is evaluated by calling: 
> SlingHttpServletRequest.getRequestPathInfo().getResourcePath() (you can see 
> how this field is initially set in 
> org.apache.sling.engine.impl.request.SlingRequestPathInfo, line 59). This is 
> e.g. the case in 
> org.apache.sling.rewriter.impl.ProcessorConfigurationImpl.match(ProcessorConfigurationImpl.java:411).
>  If it returns null like it does for MergedResources (due to that metadata 
> not being set) that leads easily to NPEs like in the example with the 
> SlingRewriter.
> According to the Javadocs of RequestPathInfo 
> (https://github.com/apache/sling/blob/trunk/bundles/api/src/main/java/org/apache/sling/api/request/RequestPathInfo.java)
>  I would assume that getResourcePath() never returns null. For all the other 
> methods it is explicitly stated if they are expected to return null in some 
> cases. All the other Resources like SyntheticResource or JcrItemResource 
> already set that metadata in their constructor.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to