import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.SettableFuture;
-import org.opendaylight.controller.md.sal.common.api.TransactionStatus;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.controller.md.sal.common.impl.service.AbstractDataTransaction;
import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
-import org.opendaylight.yangtools.yang.common.RpcResult;
/**
* Transaction context. Tracks the relationship with the backend transaction.
*/
final class PingPongTransaction implements FutureCallback<Void> {
private final CheckedFuture<Void, TransactionCommitFailedException> submitFuture;
- private final ListenableFuture<RpcResult<TransactionStatus>> commitFuture;
private final DOMDataReadWriteTransaction delegate;
private final SettableFuture<Void> future;
private DOMDataReadWriteTransaction frontendTransaction;
this.delegate = Preconditions.checkNotNull(delegate);
future = SettableFuture.create();
submitFuture = new PingPongFuture(future);
- commitFuture = AbstractDataTransaction.convertToLegacyCommitFuture(submitFuture);
}
DOMDataReadWriteTransaction getTransaction() {
return submitFuture;
}
- ListenableFuture<RpcResult<TransactionStatus>> getCommitFuture() {
- return commitFuture;
- }
-
@Override
public void onSuccess(final Void result) {
future.set(result);
protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
return toStringHelper.add("delegate", delegate);
}
-}
\ No newline at end of file
+}