import com.google.common.base.Optional;
import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.ListenableFuture;
-import java.time.Instant;
+import com.google.common.util.concurrent.FluentFuture;
import java.util.Objects;
-import org.opendaylight.controller.md.sal.common.api.TransactionStatus;
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.common.api.data.TransactionCommitFailedException;
import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTracked;
import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry;
import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedTrait;
-import org.opendaylight.yangtools.yang.common.RpcResult;
+import org.opendaylight.mdsal.common.api.CommitInfo;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+@Deprecated(forRemoval = true)
class TracingReadWriteTransaction
extends AbstractTracingWriteTransaction
implements DOMDataReadWriteTransaction, CloseTracked<TracingReadWriteTransaction> {
TracingReadWriteTransaction(DOMDataReadWriteTransaction delegate, TracingBroker tracingBroker,
CloseTrackedRegistry<TracingReadWriteTransaction> readWriteTransactionsRegistry) {
super(delegate, tracingBroker);
- this.closeTracker = new CloseTrackedTrait<>(readWriteTransactionsRegistry);
+ this.closeTracker = new CloseTrackedTrait<>(readWriteTransactionsRegistry, this);
this.delegate = Objects.requireNonNull(delegate);
}
}
@Override
- public CheckedFuture<Void, TransactionCommitFailedException> submit() {
- closeTracker.removeFromTrackedRegistry();
- return super.submit();
- }
-
- @Override
- public ListenableFuture<RpcResult<TransactionStatus>> commit() {
+ public FluentFuture<? extends CommitInfo> commit() {
closeTracker.removeFromTrackedRegistry();
return super.commit();
}
}
@Override
- public Instant getObjectCreated() {
- return closeTracker.getObjectCreated();
+ public StackTraceElement[] getAllocationContextStackTrace() {
+ return closeTracker.getAllocationContextStackTrace();
}
@Override
- public Throwable getAllocationContext() {
- return closeTracker.getAllocationContext();
+ public CloseTracked<TracingReadWriteTransaction> getRealCloseTracked() {
+ return this;
}
}