X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fmdsal-trace%2Fdom-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Ftrace%2Fdom%2Fimpl%2FTracingTransactionChain.java;h=a7d4048e5fc3b5055a8c799604880ee33c148d7f;hb=3ec97cd0a86ad1b79f6854dc6924eb7b06e359a3;hp=c8f4539cc7ba65353946a993f585a276bf53086b;hpb=42d888e224d77ec341a0ac3a34c46ff215d63c44;p=controller.git diff --git a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingTransactionChain.java b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingTransactionChain.java index c8f4539cc7..a7d4048e5f 100644 --- a/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingTransactionChain.java +++ b/opendaylight/md-sal/mdsal-trace/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingTransactionChain.java @@ -15,6 +15,7 @@ import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; import org.opendaylight.controller.md.sal.trace.closetracker.impl.AbstractCloseTracked; import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry; +@Deprecated class TracingTransactionChain extends AbstractCloseTracked implements DOMTransactionChain { private final DOMTransactionChain delegate; @@ -29,17 +30,18 @@ class TracingTransactionChain extends AbstractCloseTracked(this, "newReadOnlyTransaction", isDebugging); - this.writeTransactionsRegistry = new CloseTrackedRegistry<>(this, "newWriteOnlyTransaction", isDebugging); - this.readWriteTransactionsRegistry = new CloseTrackedRegistry<>(this, "newReadWriteTransaction", isDebugging); + final boolean isDebug = transactionChainsRegistry.isDebugContextEnabled(); + String anchor = "TransactionChain@" + Integer.toHexString(hashCode()); + this.readOnlyTransactionsRegistry = new CloseTrackedRegistry<>(anchor, "newReadOnlyTransaction()", isDebug); + this.writeTransactionsRegistry = new CloseTrackedRegistry<>(anchor, "newWriteOnlyTransaction()", isDebug); + this.readWriteTransactionsRegistry = new CloseTrackedRegistry<>(anchor, "newReadWriteTransaction()", isDebug); } @Override @SuppressWarnings("resource") public DOMDataReadOnlyTransaction newReadOnlyTransaction() { final DOMDataReadOnlyTransaction tx = delegate.newReadOnlyTransaction(); - return new TracingReadOnlyTransaction(tx, tracingBroker, readOnlyTransactionsRegistry); + return new TracingReadOnlyTransaction(tx, readOnlyTransactionsRegistry); } @Override @@ -60,4 +62,34 @@ class TracingTransactionChain extends AbstractCloseTracked getReadOnlyTransactionsRegistry() { + return readOnlyTransactionsRegistry; + } + + public CloseTrackedRegistry getReadWriteTransactionsRegistry() { + return readWriteTransactionsRegistry; + } + + public CloseTrackedRegistry getWriteTransactionsRegistry() { + return writeTransactionsRegistry; + } + + + // https://jira.opendaylight.org/browse/CONTROLLER-1792 + + @Override + public final boolean equals(Object object) { + return object == this || delegate.equals(object); + } + + @Override + public final int hashCode() { + return delegate.hashCode(); + } + + @Override + public final String toString() { + return getClass().getName() + "; delegate=" + delegate; + } + }