in src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java [197:222]
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!");
}
}
}