X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-common-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fcommon%2Fimpl%2Fservice%2FAbstractDataTransaction.java;h=d544c4b3710b06a12dac1bba3b11b5e13ced4f89;hb=refs%2Fchanges%2F91%2F9091%2F3;hp=b030e6cb5f84b8da49d1780ab51ec2e7ab425ede;hpb=9070e358923aca6229137d46f9cae7ff458204dd;p=controller.git diff --git a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataTransaction.java b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataTransaction.java index b030e6cb5f..d544c4b371 100644 --- a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataTransaction.java +++ b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataTransaction.java @@ -11,13 +11,19 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; 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.AbstractDataModification; import org.opendaylight.yangtools.concepts.Path; import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.base.Preconditions; +import com.google.common.util.concurrent.AsyncFunction; +import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; public abstract class AbstractDataTransaction

, D extends Object> extends AbstractDataModification { @@ -83,18 +89,23 @@ public abstract class AbstractDataTransaction

, D extends Objec @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } AbstractDataTransaction other = (AbstractDataTransaction) obj; if (identifier == null) { - if (other.identifier != null) + if (other.identifier != null) { return false; - } else if (!identifier.equals(other.identifier)) + } + } else if (!identifier.equals(other.identifier)) { return false; + } return true; } @@ -122,4 +133,15 @@ public abstract class AbstractDataTransaction

, D extends Objec this.status = status; this.onStatusChange(status); } + + public static ListenableFuture> convertToLegacyCommitFuture( + CheckedFuture from ) { + return Futures.transform(from, new AsyncFunction>() { + @Override + public ListenableFuture> apply(Void input) throws Exception { + return Futures.immediateFuture(RpcResultBuilder. + success(TransactionStatus.COMMITED).build()); + } + } ); + } }