in src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java [195:220]
public void reportChanges(final ObserverConfiguration config,
final Iterable<ResourceChange> changes,
final boolean distribute) {
if ( config != null && config instanceof BasicObserverConfiguration ) {
final BasicObserverConfiguration observerConfig = (BasicObserverConfiguration)config;
ResourceChangeListenerInfo previousInfo = null;
List<ResourceChange> filteredChanges = null;
for(final ResourceChangeListenerInfo info : observerConfig.getListeners()) {
if ( previousInfo == null || !equals(previousInfo, info) ) {
filteredChanges = filterChanges(changes, info);
previousInfo = info;
}
if ( !filteredChanges.isEmpty() ) {
final ResourceChangeListener listener = info.getListener();
if ( listener != null ) {
listener.onChange(filteredChanges);
}
}
}
// TODO implement distribute
if ( distribute ) {
logger.error("Distrubte flag is send for observation events, however distribute is currently not implemented!");
}
}
}