import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction;
+import org.opendaylight.controller.md.sal.trace.closetracker.impl.AbstractCloseTracked;
+import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-class TracingReadOnlyTransaction implements DOMDataReadOnlyTransaction {
+@Deprecated(forRemoval = true)
+class TracingReadOnlyTransaction
+ extends AbstractCloseTracked<TracingReadOnlyTransaction>
+ implements DOMDataReadOnlyTransaction {
private final DOMDataReadOnlyTransaction delegate;
- private final TracingBroker tracingBroker;
- TracingReadOnlyTransaction(DOMDataReadOnlyTransaction delegate, TracingBroker tracingBroker) {
+ TracingReadOnlyTransaction(DOMDataReadOnlyTransaction delegate,
+ CloseTrackedRegistry<TracingReadOnlyTransaction> readOnlyTransactionsRegistry) {
+ super(readOnlyTransactionsRegistry);
this.delegate = delegate;
- this.tracingBroker = tracingBroker;
}
@Override
@Override
public void close() {
delegate.close();
+ super.removeFromTrackedRegistry();
+ }
+
+
+ // 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;
}
}