X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2FResolveDataChangeEventsTask.java;h=5021d070e14a8ce7b45030e9a604092e3c5257eb;hb=18f8f0b852694daf18e8fd034ba576d78499e0ee;hp=b36ef3dd7c16250bfcc101ab4567be3feaaadbc4;hpb=f2b0b8646e5e8060dbb1a8278ddaf0f4b2a422c0;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ResolveDataChangeEventsTask.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ResolveDataChangeEventsTask.java index b36ef3dd7c..5021d070e1 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ResolveDataChangeEventsTask.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ResolveDataChangeEventsTask.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.md.sal.dom.store.impl; import static org.opendaylight.controller.md.sal.dom.store.impl.DOMImmutableDataChangeEvent.builder; -import static org.opendaylight.controller.md.sal.dom.store.impl.tree.StoreUtils.append; import java.util.Collection; import java.util.Collections; @@ -46,23 +45,10 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Multimap; /** - * * Resolve Data Change Events based on modifications and listeners * * Computes data change events for all affected registered listeners in data * tree. - * - * Prerequisites for computation is to set all parameters properly: - * - * */ final class ResolveDataChangeEventsTask implements Callable> { private static final Logger LOG = LoggerFactory.getLogger(ResolveDataChangeEventsTask.class); @@ -72,7 +58,7 @@ final class ResolveDataChangeEventsTask implements Callable> afterCont = (NormalizedNodeContainer>) afterData; return resolveNodeContainerReplaced(path, listeners, beforeCont, afterCont); } else if (!beforeData.equals(afterData)) { - // Node is either of Leaf type (does not contain child nodes) - // or we do not have listeners, so normal equals method is - // sufficient for determining change. + // Node is Leaf type (does not contain child nodes) + // so normal equals method is sufficient for determining change. LOG.trace("Resolving leaf replace event for {} , before {}, after {}",path,beforeData,afterData); DOMImmutableDataChangeEvent event = builder(DataChangeScope.BASE).setBefore(beforeData).setAfter(afterData) .addUpdated(path, beforeData, afterData).build(); @@ -329,7 +314,7 @@ final class ResolveDataChangeEventsTask implements Callable beforeChild : beforeCont.getValue()) { PathArgument childId = beforeChild.getIdentifier(); alreadyProcessed.add(childId); - InstanceIdentifier childPath = append(path, childId); + InstanceIdentifier childPath = path.node(childId); Collection childListeners = getListenerChildrenWildcarded(listeners, childId); Optional> afterChild = afterCont.getChild(childId); DOMImmutableDataChangeEvent childChange = resolveNodeContainerChildUpdated(childPath, childListeners, @@ -348,7 +333,7 @@ final class ResolveDataChangeEventsTask implements Callable childListeners = getListenerChildrenWildcarded(listeners, childId); - InstanceIdentifier childPath = append(path,childId); + InstanceIdentifier childPath = path.node(childId); childChanges.add(resolveSameEventRecursivelly(childPath , childListeners, afterChild, DOMImmutableDataChangeEvent.getCreateEventFactory())); } @@ -432,12 +417,9 @@ final class ResolveDataChangeEventsTask implements Callable childListeners = getListenerChildrenWildcarded(listeners, childId); - eventBuilder.merge(resolveSameEventRecursivelly(append(path, childId), childListeners, child, eventFactory)); + eventBuilder.merge(resolveSameEventRecursivelly(path.node(childId), childListeners, child, eventFactory)); } propagateEvent = eventBuilder.build(); - } else { - // We do not dispatch leaf events since Binding Aware components do not support them. - propagateEvent = builder(DataChangeScope.BASE).build(); } if (!listeners.isEmpty()) { addPartialTask(listeners, propagateEvent); @@ -460,7 +442,7 @@ final class ResolveDataChangeEventsTask implements Callable childListeners = getListenerChildrenWildcarded(listeners, childId); switch (childMod.getModificationType()) { @@ -522,7 +504,7 @@ final class ResolveDataChangeEventsTask implements Callable