Bump upstreams
[netconf.git] / apps / netconf-topology-singleton / src / main / java / org / opendaylight / netconf / topology / singleton / impl / tx / FailedProxyTransactionFacade.java
index 4050acecaae1d7cc8766a18b654269630e6d3d51..9b2e47866a9a28105f4fe182d425e40cd9cb0832 100644 (file)
@@ -30,12 +30,16 @@ import org.slf4j.LoggerFactory;
 class FailedProxyTransactionFacade implements ProxyTransactionFacade {
     private static final Logger LOG = LoggerFactory.getLogger(FailedProxyTransactionFacade.class);
 
+    private final @NonNull FluentFuture<CommitInfo> completionFuture;
     private final RemoteDeviceId id;
     private final Throwable failure;
 
     FailedProxyTransactionFacade(final RemoteDeviceId id, final Throwable failure) {
         this.id = Objects.requireNonNull(id);
         this.failure = Objects.requireNonNull(failure);
+        completionFuture = FluentFutures.immediateFailedFluentFuture(
+            failure instanceof TransactionCommitFailedException commitFailed ? commitFailed
+                : new TransactionCommitFailedException("commit", failure));
     }
 
     @Override
@@ -43,6 +47,11 @@ class FailedProxyTransactionFacade implements ProxyTransactionFacade {
         return id;
     }
 
+    @Override
+    public FluentFuture<?> completionFuture() {
+        return completionFuture;
+    }
+
     @Override
     public boolean cancel() {
         return true;
@@ -80,14 +89,8 @@ class FailedProxyTransactionFacade implements ProxyTransactionFacade {
     }
 
     @Override
-    public @NonNull FluentFuture<? extends @NonNull CommitInfo> commit() {
+    public FluentFuture<CommitInfo> commit() {
         LOG.debug("{}: Commit - failure", id, failure);
-        final TransactionCommitFailedException txCommitEx;
-        if (failure instanceof TransactionCommitFailedException) {
-            txCommitEx = (TransactionCommitFailedException) failure;
-        } else {
-            txCommitEx = new TransactionCommitFailedException("commit", failure);
-        }
-        return FluentFutures.immediateFailedFluentFuture(txCommitEx);
+        return completionFuture;
     }
 }