X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fbinding%2Fimpl%2FAbstractForwardedTransaction.java;h=dc81ce085ed4671f042fd523cf623df875b6191d;hb=4ad8e1880cfee424eac9e4f12e461d98445a6e44;hp=86c57a3607f46df5fe9ed67f2abcfa4981eb8fb3;hpb=4a95525684a89432186b8a881480beb18a976ae1;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java index 86c57a3607..dc81ce085e 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java @@ -7,10 +7,13 @@ */ package org.opendaylight.controller.md.sal.binding.impl; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.MoreExecutors; import org.opendaylight.controller.md.sal.common.api.MappingCheckedFuture; import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -23,6 +26,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +@Deprecated abstract class AbstractForwardedTransaction>> implements Delegator, Identifiable { @@ -30,11 +34,10 @@ abstract class AbstractForwardedTransaction CheckedFuture,ReadFailedException> doRead( + protected final CheckedFuture, ReadFailedException> doRead( final DOMDataReadTransaction readTx, final LogicalDatastoreType store, final InstanceIdentifier path) { Preconditions.checkArgument(!path.isWildcarded(), "Invalid read of wildcarded path %s", path); return MappingCheckedFuture.create( - Futures.transform(readTx.read(store, codec.toYangInstanceIdentifierBlocking(path)), - codec.deserializeFunction(path)), - ReadFailedException.MAPPER); + Futures.transform(readTx.read(store, codec.toYangInstanceIdentifierBlocking(path)), + result -> Optional.fromJavaUtil(codec.deserializeFunction(path).apply(result.toJavaUtil())), + MoreExecutors.directExecutor()), + ReadFailedException.MAPPER); + } + + protected final CheckedFuture doExists( + final DOMDataReadTransaction readTx, final LogicalDatastoreType store, + final InstanceIdentifier path) { + Preconditions.checkArgument(!path.isWildcarded(), "Invalid read of wildcarded path %s", path); + + return MappingCheckedFuture.create(readTx.exists(store, codec.toYangInstanceIdentifierBlocking(path)), + ReadFailedException.MAPPER); } }