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)

Reply via email to