[ 
https://issues.apache.org/jira/browse/SLING-10844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17574084#comment-17574084
 ] 

Carsten Ziegeler commented on SLING-10844:
------------------------------------------

I think we should try to sort this one out in one way or the other, it is open 
for a very long time.

Trying to get to the bottom of it, it seems that there was an incompatible 
change in ResourceMapper.getAllMappings which now in some cases returns an 
empty collection; and that is not allowed according to the javadocs. So I think 
that needs to be fixed, then all code using this method can rely on the 
contract and don't need an isEmpty() check 

> ResourceMapper.getMapping() returns null for empty path
> -------------------------------------------------------
>
>                 Key: SLING-10844
>                 URL: https://issues.apache.org/jira/browse/SLING-10844
>             Project: Sling
>          Issue Type: Bug
>          Components: ResourceResolver
>    Affects Versions: Resource Resolver 1.7.0
>            Reporter: Mohit Arora
>            Assignee: Robert Munteanu
>            Priority: Major
>          Time Spent: 3h
>  Remaining Estimate: 0h
>
> After the bug fix for SLING-9620, the behavior for 
> ResourceMapper.getAllMappings() was changed such that the mappings list 
> remains empty if the resourcePath provided is an empty string. Prior to this 
> bug fix, the mappings list contained a single entry for empty path.
> Since mappings list is empty, [ResourceMapper.getMapping() returns 
> null|https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/master/src/main/java/org/apache/sling/resourceresolver/impl/mapping/ResourceMapperImpl.java#L74-L75].
>  The [javadoc of 
> ResourceMapper.getMapping()|https://github.com/apache/sling-org-apache-sling-api/blob/master/src/main/java/org/apache/sling/api/resource/mapping/ResourceMapper.java#L67]
>  API mentions that it will return a non null value if the resourcepath is not 
> null.
> We need to decide on the expected behavior here. If mappings list should not 
> be updated in case of empty resourcePath then the API annotation will have to 
> be changed and it can potentially be a backwards incompatible issue in theory 
> as the consumers of the API may not have added a null check to the return 
> value.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to