X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fnetconf-topology-singleton%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Ftopology%2Fsingleton%2Fimpl%2Ftx%2FProxyWriteTransaction.java;h=d2840235e9284c9182226a10739d13439570a079;hb=0a95f4298a7f467b6c2eebf7904c8253cf3d5198;hp=f2ed8b7e04a141a1014f0a0ee87aaa658158daff;hpb=a3022c29beea055ec8e7cacaa30dd64d5a80887c;p=netconf.git diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/tx/ProxyWriteTransaction.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/tx/ProxyWriteTransaction.java index f2ed8b7e04..d2840235e9 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/tx/ProxyWriteTransaction.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/tx/ProxyWriteTransaction.java @@ -12,10 +12,16 @@ import akka.actor.ActorRef; import akka.actor.ActorSystem; import akka.util.Timeout; import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.FluentFuture; +import com.google.common.util.concurrent.MoreExecutors; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.MappingCheckedFuture; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; +import org.opendaylight.yangtools.util.concurrent.ExceptionMapper; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -48,7 +54,18 @@ public class ProxyWriteTransaction implements DOMDataWriteTransaction { @Override public CheckedFuture submit() { - return proxyWriteAdapter.submit(getIdentifier()); + return MappingCheckedFuture.create(commit().transform(ignored -> null, MoreExecutors.directExecutor()), + new ExceptionMapper("commit", TransactionCommitFailedException.class) { + @Override + protected TransactionCommitFailedException newWithCause(String message, Throwable cause) { + return new TransactionCommitFailedException(message, cause); + } + }); + } + + @Override + public @NonNull FluentFuture commit() { + return proxyWriteAdapter.commit(getIdentifier()); } @Override