public void reportChanges()

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!");
            }
        }
    }