X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FFrontendReadOnlyTransaction.java;h=e8b99e60a540288b77bbcba5fecc0e1965f1733c;hb=99f80f27bee37bb23e345420bf14bb7bb4793c28;hp=881518308c021af10b27006c00faffcd5cc214c2;hpb=20a32e6459fd1e27e7669bf1ebc7742b96787b94;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadOnlyTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadOnlyTransaction.java index 881518308c..e8b99e60a5 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadOnlyTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendReadOnlyTransaction.java @@ -7,10 +7,10 @@ */ package org.opendaylight.controller.cluster.datastore; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import javax.annotation.Nullable; -import javax.annotation.concurrent.NotThreadSafe; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + +import java.util.Optional; import org.opendaylight.controller.cluster.access.commands.ExistsTransactionRequest; import org.opendaylight.controller.cluster.access.commands.ExistsTransactionSuccess; import org.opendaylight.controller.cluster.access.commands.ModifyTransactionRequest; @@ -28,11 +28,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Read-only frontend transaction state as observed by the shard leader. + * Read-only frontend transaction state as observed by the shard leader. This class is NOT thread-safe. * * @author Robert Varga */ -@NotThreadSafe final class FrontendReadOnlyTransaction extends FrontendTransaction { private static final Logger LOG = LoggerFactory.getLogger(FrontendReadOnlyTransaction.class); @@ -41,7 +40,7 @@ final class FrontendReadOnlyTransaction extends FrontendTransaction { private FrontendReadOnlyTransaction(final AbstractFrontendHistory history, final ReadOnlyShardDataTreeTransaction transaction) { super(history, transaction.getIdentifier()); - this.openTransaction = Preconditions.checkNotNull(transaction); + this.openTransaction = requireNonNull(transaction); } static FrontendReadOnlyTransaction create(final AbstractFrontendHistory history, @@ -51,7 +50,7 @@ final class FrontendReadOnlyTransaction extends FrontendTransaction { // Sequence has already been checked @Override - @Nullable TransactionSuccess doHandleRequest(final TransactionRequest request, final RequestEnvelope envelope, + TransactionSuccess doHandleRequest(final TransactionRequest request, final RequestEnvelope envelope, final long now) throws RequestException { if (request instanceof ExistsTransactionRequest) { return handleExistsTransaction((ExistsTransactionRequest) request); @@ -74,26 +73,21 @@ final class FrontendReadOnlyTransaction extends FrontendTransaction { private void handleModifyTransaction(final ModifyTransactionRequest request, final RequestEnvelope envelope, final long now) { // The only valid request here is with abort protocol - final java.util.Optional optProto = request.getPersistenceProtocol(); - Preconditions.checkArgument(optProto.isPresent(), "Commit protocol is missing in %s", request); - Preconditions.checkArgument(optProto.get() == PersistenceProtocol.ABORT, "Unsupported commit protocol in %s", - request); + final Optional optProto = request.getPersistenceProtocol(); + checkArgument(optProto.isPresent(), "Commit protocol is missing in %s", request); + checkArgument(optProto.get() == PersistenceProtocol.ABORT, "Unsupported commit protocol in %s", request); openTransaction.abort(() -> recordAndSendSuccess(envelope, now, new ModifyTransactionSuccess(request.getTarget(), request.getSequence()))); } - private ExistsTransactionSuccess handleExistsTransaction(final ExistsTransactionRequest request) - throws RequestException { - final Optional> data = Optional.fromJavaUtil(openTransaction.getSnapshot() - .readNode(request.getPath())); + private ExistsTransactionSuccess handleExistsTransaction(final ExistsTransactionRequest request) { + final Optional data = openTransaction.getSnapshot().readNode(request.getPath()); return recordSuccess(request.getSequence(), new ExistsTransactionSuccess(openTransaction.getIdentifier(), request.getSequence(), data.isPresent())); } - private ReadTransactionSuccess handleReadTransaction(final ReadTransactionRequest request) - throws RequestException { - final Optional> data = Optional.fromJavaUtil(openTransaction.getSnapshot().readNode( - request.getPath())); + private ReadTransactionSuccess handleReadTransaction(final ReadTransactionRequest request) { + final Optional data = openTransaction.getSnapshot().readNode(request.getPath()); return recordSuccess(request.getSequence(), new ReadTransactionSuccess(openTransaction.getIdentifier(), request.getSequence(), data)); }