X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDefaultShardDataTreeChangeListenerPublisher.java;h=b71174d0b3efbb007810c58b5c3a5df1cce6b234;hp=02326e0f84364ab65e007224a09f6a8217f33f96;hb=a6af137c30470b86d4bc624d4c48cb686495a182;hpb=ec870dee9bacb971f11bc747b69e84ac37f5d746 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java index 02326e0f84..b71174d0b3 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java @@ -11,7 +11,7 @@ import com.google.common.base.Optional; import java.util.Collection; import java.util.function.Consumer; import javax.annotation.concurrent.NotThreadSafe; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeListener; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.mdsal.dom.spi.AbstractDOMDataTreeChangeListenerRegistration; import org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher; import org.opendaylight.yangtools.concepts.ListenerRegistration; @@ -30,15 +30,27 @@ import org.slf4j.LoggerFactory; final class DefaultShardDataTreeChangeListenerPublisher extends AbstractDOMStoreTreeChangePublisher implements ShardDataTreeChangeListenerPublisher { private static final Logger LOG = LoggerFactory.getLogger(DefaultShardDataTreeChangeListenerPublisher.class); + private String logContext; + + DefaultShardDataTreeChangeListenerPublisher(String logContext) { + this.logContext = logContext; + } @Override - public void publishChanges(final DataTreeCandidate candidate, String logContext) { + public void publishChanges(final DataTreeCandidate candidate) { + if (LOG.isTraceEnabled()) { + LOG.trace("{}: publishChanges: {}", logContext, candidate); + } else { + LOG.debug("{}: publishChanges: rootPath: {}", logContext, candidate.getRootPath()); + } + processCandidateTree(candidate); } @Override protected void notifyListener(AbstractDOMDataTreeChangeListenerRegistration registration, Collection changes) { + LOG.debug("{}: notifyListener: listener: {}", logContext, registration.getInstance()); registration.getInstance().onDataTreeChanged(changes); } @@ -51,29 +63,25 @@ final class DefaultShardDataTreeChangeListenerPublisher extends AbstractDOMStore public void registerTreeChangeListener(YangInstanceIdentifier treeId, DOMDataTreeChangeListener listener, Optional initialState, Consumer> onRegistration) { - AbstractDOMDataTreeChangeListenerRegistration - registration = super.registerTreeChangeListener(treeId, - (org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener)changes -> - listener.onDataTreeChanged(changes)); + LOG.debug("{}: registerTreeChangeListener: path: {}, listener: {}", logContext, treeId, listener); + + AbstractDOMDataTreeChangeListenerRegistration registration = + super.registerTreeChangeListener(treeId, listener); - onRegistration.accept( - new org.opendaylight.controller.md.sal.dom.spi.AbstractDOMDataTreeChangeListenerRegistration< - DOMDataTreeChangeListener>(listener) { - @Override - protected void removeRegistration() { - registration.close(); - } - }); + onRegistration.accept(registration); if (initialState.isPresent()) { - notifySingleListener(treeId, listener, initialState.get()); + notifySingleListener(treeId, listener, initialState.get(), logContext); } } static void notifySingleListener(YangInstanceIdentifier treeId, DOMDataTreeChangeListener listener, - DataTreeCandidate state) { - DefaultShardDataTreeChangeListenerPublisher publisher = new DefaultShardDataTreeChangeListenerPublisher(); - publisher.registerTreeChangeListener(treeId, listener, Optional.absent(), noop -> { }); - publisher.publishChanges(state, ""); + DataTreeCandidate state, String logContext) { + LOG.debug("{}: notifySingleListener: path: {}, listener: {}", logContext, treeId, listener); + DefaultShardDataTreeChangeListenerPublisher publisher = + new DefaultShardDataTreeChangeListenerPublisher(logContext); + publisher.logContext = logContext; + publisher.registerTreeChangeListener(treeId, listener, Optional.absent(), noop -> { /* NOOP */ }); + publisher.publishChanges(state); } }