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

Robert Munteanu commented on SLING-9620:
----------------------------------------

[~angela] - yes, I will definitely look the optimisation enabled scenario as 
well, and I want to test the same scenarios inside the unit test. It's going to 
be a bit slower, but I think the test coverage is worth it.

> ResourceMapperImpl.getAllMappings does not respect multi-valued sling:alias
> ---------------------------------------------------------------------------
>
>                 Key: SLING-9620
>                 URL: https://issues.apache.org/jira/browse/SLING-9620
>             Project: Sling
>          Issue Type: Bug
>          Components: ResourceResolver
>    Affects Versions: Resource Resolver 1.6.16
>            Reporter: Angela Schreiber
>            Assignee: Robert Munteanu
>            Priority: Major
>             Fix For: Resource Resolver 1.6.18
>
>         Attachments: SLING-9620-test.patch
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> while investigating an issue involving {{sling:alias}}, i ended up manually 
> adding the property using JCR API calls. this involved first adding the 
> {{sling:ResourceAlias}} and i noticed that {{sling:alias}} can be both single 
> or multi-valued according to the node type definition:
> {code}
> / Mixin node type to enable setting an alias on a resource
> [sling:ResourceAlias]
>     mixin
>   
>     // alias name(s) for the node (single or multi-value)
>   - sling:alias (string)
>   - sling:alias (string) multiple
> {code}
> when setting multiple values for the {{sling:alias}} property, i found that 
> {{ResourceMapper.getAllMappings}} only returns the first alias.
> looking at the implementation in 
> {{ResourceMapperImpl.loadAliasIfApplicable}}, it seems that line 216 
> ({{String alias = ResourceResolverControl.getProperty(current, 
> ResourceResolverImpl.PROP_ALIAS);}}), is the culprit as call will in any case 
> just return a single string (it calls {{getProperty(res, propName, 
> String.class)}}).
> as a consequence consumers of the {{ResourceMapper.getAllMappings}} method 
> will not get a complete list of all aliases available.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to