You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Carsten Ziegeler (Jira)" <ji...@apache.org> on 2022/08/02 07:44:00 UTC

[jira] [Commented] (SLING-10844) ResourceMapper.getMapping() returns null for empty path

    [ 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)