[
https://issues.apache.org/jira/browse/JCRVLT-307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16529478#comment-16529478
]
Konrad Windszus commented on JCRVLT-307:
----------------------------------------
[~tripod] You are right, I currently see no way of determining whether user
data has been set already. In Oak user data is stored as private field in
{{SessionDelegate}}
(https://github.com/apache/jackrabbit-oak/blob/2acda3156cfad9993310e7aa0492cdc0b65aa5f7/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java#L335)
with no getter method.
I created https://issues.apache.org/jira/browse/SLING-7761 for an improvement
in the OSGi Installer. [~tripod] Can you take care of an equivalent improvement
of the AEM package manager?
> UserData should be set to identify node/property changes in EventListeners
> done through the PackageManager
> ----------------------------------------------------------------------------------------------------------
>
> Key: JCRVLT-307
> URL: https://issues.apache.org/jira/browse/JCRVLT-307
> Project: Jackrabbit FileVault
> Issue Type: Improvement
> Components: vlt
> Affects Versions: 3.1.44
> Reporter: Konrad Windszus
> Priority: Major
>
> There is the method {{ObservationManager.setUserData(String)}}
> (https://docs.adobe.com/docs/en/spec/jsr170/javadocs/jcr-2.0/javax/jcr/observation/ObservationManager.html#setUserData(java.lang.String))
> which allows to bind some arbitrary string with the session, so that for
> each event, which is being emitted due to Session.save() from this session
> this user data is available.
> This would allow to determine in an arbitrary
> {{javax.jcr.observation.EventListener}} whether a particular event was caused
> by a package manager installation or not.
> A related change has been implemented in
> https://github.com/Adobe-Consulting-Services/acs-aem-tools/issues/149.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)