JCR EventAdmin bridge (JcrResourceListener) is loosing event information
------------------------------------------------------------------------

                 Key: SLING-2277
                 URL: https://issues.apache.org/jira/browse/SLING-2277
             Project: Sling
          Issue Type: Bug
          Components: JCR
    Affects Versions: JCR Resource 2.0.10
            Reporter: Felix Meschberger
            Assignee: Felix Meschberger


The JcrResourceListener translates JCR Observation events into general OSGi 
EventAdmin events. By this translation JCR Property level events are collated 
into JCR Node level events thus potentially loosing important information.

In the concrete situation, the JCR Resource MapEntries class handles events to 
update the resolver mappings for vanity paths (sling:vanityPath property). The 
current implementation works well with adding or changing these properties 
since the actual resource is loaded and checked. If the property is removed, 
though, it of course does not exist any longer and thus the check fails and the 
mapping is not updated.

In addition to just collating property level events into node level events the 
affected properties and operations should be kept. This can be done as simple 
as adding a String[] property to the OSGi Event.Each entry in the array is an 
event indicator character plus the full path to the affected property. The 
event character is '+' for added, '-' for removed, and '~' for modified. This 
allows for conveying the information as well as event filtering.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to