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

Carsten Ziegeler updated SLING-3451:
------------------------------------

    Fix Version/s: Resource Merger 1.1.2
                   JMX Resource Provider 1.0.2
                   Mongo Resource Provider 1.0.0
                   API 2.6.2

> Support for deep reads from a value map
> ---------------------------------------
>
>                 Key: SLING-3451
>                 URL: https://issues.apache.org/jira/browse/SLING-3451
>             Project: Sling
>          Issue Type: Improvement
>          Components: API
>            Reporter: Carsten Ziegeler
>             Fix For: API 2.6.2, Mongo Resource Provider 1.0.0, JMX Resource 
> Provider 1.0.2, Resource Merger 1.1.2
>
>
> When writing rendering code, a commonly used shortcut is to do deep reads to 
> get properties from a child resource, like:
> ValueMap vm = ResourceUtil.getValueMap(resource);
> vm.get("jcr:content/jcr:title", "No title found");
> While this works with jcr backed resources, this doesn't work in the general 
> case and a value map returned by a resource should not support this. In 
> addition, the implementation in the jcr resource bundle is wrong as it 
> bypasses all resource mechanisms, e.g. in the above case 
> resource.getChild("jcr:content") might return a resource from a different 
> resource provider etc.
> Adding the same code over and over again in each ValueMap implementation 
> doesn't look like a good solution either.
> The simplest solution would be to enhance ResourceUtil.getValueMap() to 
> return a wrapper of the value map which allows deep reads.



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

Reply via email to