X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=dom-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Ftrace%2Fdom%2Fimpl%2FTracingBroker.java;h=aeba2832a4da4b79eee697931e9963f1f2607208;hb=3479a0f0233d4c39a990926597b538976229a9d5;hp=c971ec300d905bdacbafb79b96badc3c748c6f30;hpb=2bbe2a4d5a4cb7a7fe0eaff26cc680d938d97763;p=mdsal.git diff --git a/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingBroker.java b/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingBroker.java index c971ec300d..aeba2832a4 100644 --- a/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingBroker.java +++ b/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingBroker.java @@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory; * features * xml * runtime - * 0.1.5-SNAPSHOT + * 0.1.6-SNAPSHOT * * } * @@ -96,8 +96,8 @@ public class TracingBroker implements TracingDOMDataBroker { private final BindingNormalizedNodeSerializer codec; private final DOMDataBroker delegate; - private List registrationWatches = new ArrayList<>(); - private List writeWatches = new ArrayList<>(); + private final List registrationWatches = new ArrayList<>(); + private final List writeWatches = new ArrayList<>(); private class Watch { @@ -117,7 +117,17 @@ public class TracingBroker implements TracingDOMDataBroker { } private boolean isParent(String parent, String child) { - return child.startsWith(parent); + int parentOffset = 0; + if (parent.length() > 0 && parent.charAt(0) == '<') { + parentOffset = parent.indexOf('>') + 1; + } + + int childOffset = 0; + if (child.length() > 0 && child.charAt(0) == '<') { + childOffset = child.indexOf('>') + 1; + } + + return child.startsWith(parent.substring(parentOffset), childOffset); } public boolean subtreesOverlap(YangInstanceIdentifier iid, LogicalDatastoreType store, @@ -127,7 +137,6 @@ public class TracingBroker implements TracingDOMDataBroker { } String otherIidString = toIidCompString(iid); - switch (scope) { case BASE: return isParent(iidString, otherIidString); @@ -178,6 +187,7 @@ public class TracingBroker implements TracingDOMDataBroker { * @param store Which LogicalDataStore? or null for both */ public void watchRegistrations(String iidString, LogicalDatastoreType store) { + LOG.info("Watching registrations to {} in {}", iidString, store); registrationWatches.add(new Watch(iidString, store)); } @@ -187,6 +197,7 @@ public class TracingBroker implements TracingDOMDataBroker { * @param store Which LogicalDataStore? or null for both */ public void watchWrites(String iidString, LogicalDatastoreType store) { + LOG.info("Watching writes to {} in {}", iidString, store); Watch watch = new Watch(iidString, store); writeWatches.add(watch); } @@ -243,7 +254,7 @@ public class TracingBroker implements TracingDOMDataBroker { } private void reconstructIidPathString(YangInstanceIdentifier yiid, StringBuilder sb) { - sb.append("RECONSTRUCTED: "); + sb.append(""); for (YangInstanceIdentifier.PathArgument pathArg : yiid.getPathArguments()) { if (pathArg instanceof YangInstanceIdentifier.AugmentationIdentifier) { sb.append('/').append("AUGMENTATION"); @@ -251,7 +262,6 @@ public class TracingBroker implements TracingDOMDataBroker { } sb.append('/').append(pathArg.getNodeType().getLocalName()); } - sb.append(" ->->-> [[[ ").append(yiid.toString()).append(" ]]]"); } String getStackSummary() { @@ -289,7 +299,7 @@ public class TracingBroker implements TracingDOMDataBroker { @Override public DOMTransactionChain createTransactionChain(TransactionChainListener transactionChainListener) { - return delegate.createTransactionChain(transactionChainListener); + return new TracingTransactionChain(delegate.createTransactionChain(transactionChainListener), this); } @Override