import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener;
+import org.opendaylight.controller.md.sal.dom.api.ClusteredDOMDataTreeChangeListener;
import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
import org.opendaylight.controller.md.sal.dom.api.DOMDataBrokerExtension;
import org.opendaylight.controller.md.sal.dom.api.DOMDataChangeListener;
return child.startsWith(parent.substring(parentOffset), childOffset);
}
+ @SuppressWarnings("checkstyle:hiddenField")
public boolean subtreesOverlap(YangInstanceIdentifier iid, LogicalDatastoreType store,
AsyncDataBroker.DataChangeScope scope) {
if (this.store != null && !this.store.equals(store)) {
}
}
+ @SuppressWarnings("checkstyle:hiddenField")
public boolean eventIsOfInterest(YangInstanceIdentifier iid, LogicalDatastoreType store) {
if (this.store != null && !this.store.equals(store)) {
return false;
@Nonnull DOMDataTreeIdentifier domDataTreeIdentifier, @Nonnull L listener) {
if (isRegistrationWatched(domDataTreeIdentifier.getRootIdentifier(),
domDataTreeIdentifier.getDatastoreType(), DataChangeScope.SUBTREE)) {
- LOG.warn("Registration (registerDataTreeChangeListener) for {} from {}",
+ LOG.warn("{} registration (registerDataTreeChangeListener) for {} from {}.",
+ listener instanceof ClusteredDOMDataTreeChangeListener ? "Clustered" : "Non-clustered",
toPathString(domDataTreeIdentifier.getRootIdentifier()), getStackSummary());
}
return treeChangeSvc.registerDataTreeChangeListener(domDataTreeIdentifier, listener);
}
private void printStackTraceElements(PrintStream ps, String indent, List<StackTraceElement> stackTraceElements) {
- stackTraceElements.forEach(line -> {
- if (isStackTraceElementInteresting(line)) {
- ps.println(indent + line);
- } else {
+ boolean ellipsis = false;
+ for (final StackTraceElement stackTraceElement : stackTraceElements) {
+ if (isStackTraceElementInteresting(stackTraceElement)) {
+ ps.println(indent + stackTraceElement);
+ ellipsis = false;
+ } else if (!ellipsis) {
ps.println(indent + "(...)");
+ ellipsis = true;
}
- });
+ }
}
private boolean isStackTraceElementInteresting(StackTraceElement element) {