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