Justin Edelson created SLING-4311:
-------------------------------------
Summary: Overriding Resource Picker doesn't return resources with
a missing intermediate node
Key: SLING-4311
URL: https://issues.apache.org/jira/browse/SLING-4311
Project: Sling
Issue Type: Bug
Components: Extensions
Affects Versions: Resource Merger 1.2.0
Reporter: Justin Edelson
Fix For: Resource Merger 1.2.2
This is a bit hard to explain, but I'm going to try...
Consider
/apps/a/2
/apps/a/1
/apps/a/2 has super type of /apps/a/1
If /apps/a/1 has a child resource, named d, then this resource and its
properties are available at /mnt/override/apps/a/2/d (and obviously
/mnt/override/apps/a/1/d). However, if /apps/a/1/d has its own child resource
(1), then this child is not accessible at /mnt/override/apps/a/2/d/1 and does
not appear in the result of calling listChildren() of /mnt/override/apps/a/2/d.
This means that the override tree is incomplete.
In fixing this issue, I ran into a separate problem where hiding of children
didn't work across multiple levels of hierarchy. For example, if you have
/apps/a/2@sling:hideChildren = 'b' and /apps/a/1/b/1, then
/mnt/override/apps/a/2/b does not exist but /mnt/override/apps/a/2/b/1 does,
which is clearly incorrect. It appears the only reason this was not detected
previously was because of this bug.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)