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