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<TracingTransactionChain> implements DOMTransactionChain {
private final DOMTransactionChain delegate;
this.tracingBroker = Objects.requireNonNull(tracingBroker);
final boolean isDebug = transactionChainsRegistry.isDebugContextEnabled();
- String pf = "TransactionChain_" + toString();
- this.readOnlyTransactionsRegistry = new CloseTrackedRegistry<>(this, pf + "newReadOnlyTransaction", isDebug);
- this.writeTransactionsRegistry = new CloseTrackedRegistry<>(this, pf + "newWriteOnlyTransaction", isDebug);
- this.readWriteTransactionsRegistry = new CloseTrackedRegistry<>(this, pf + "newReadWriteTransaction", isDebug);
+ 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
public CloseTrackedRegistry<TracingWriteTransaction> 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;
+ }
+
}