X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fcommands%2FAbstractReadTransactionRequest.java;h=3fc4821edf99e64eed0feec7b983b1015fc86329;hb=abaef4a5ae37f27542155457fe7306a4662b1eeb;hp=a8fbbcfb3300433b2176ae9bbabdac1da8d70226;hpb=9b4f21460c6dcb10c381df631d064d05de16546c;p=controller.git diff --git a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/AbstractReadTransactionRequest.java b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/AbstractReadTransactionRequest.java index a8fbbcfb33..3fc4821edf 100644 --- a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/AbstractReadTransactionRequest.java +++ b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/AbstractReadTransactionRequest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2016, 2017 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -10,16 +10,13 @@ package org.opendaylight.controller.cluster.access.commands; import akka.actor.ActorRef; import com.google.common.annotations.Beta; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; -import javax.annotation.Nonnull; import org.opendaylight.controller.cluster.access.ABIVersion; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; /** - * Abstract base class for {@link TransactionRequest}s accessing data as visible in the isolated context of a particular - * transaction. The path of the data being accessed is returned via {@link #getPath()}. + * Abstract base class for {@link TransactionRequest}s accessing transaction state without modifying it. * + *

* This class is visible outside of this package for the purpose of allowing common instanceof checks * and simplified codepaths. * @@ -28,30 +25,32 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; * @param Message type */ @Beta -public abstract class AbstractReadTransactionRequest> extends TransactionRequest { +public abstract class AbstractReadTransactionRequest> + extends TransactionRequest { private static final long serialVersionUID = 1L; - private final YangInstanceIdentifier path; + + private final boolean snapshotOnly; AbstractReadTransactionRequest(final TransactionIdentifier identifier, final long sequence, final ActorRef replyTo, - final YangInstanceIdentifier path) { + final boolean snapshotOnly) { super(identifier, sequence, replyTo); - this.path = Preconditions.checkNotNull(path); + this.snapshotOnly = snapshotOnly; } AbstractReadTransactionRequest(final T request, final ABIVersion version) { super(request, version); - this.path = request.getPath(); + this.snapshotOnly = request.isSnapshotOnly(); } - public final @Nonnull YangInstanceIdentifier getPath() { - return path; + public final boolean isSnapshotOnly() { + return snapshotOnly; } @Override protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) { - return super.addToStringAttributes(toStringHelper).add("path", path); + return super.addToStringAttributes(toStringHelper).add("snapshotOnly", snapshotOnly); } @Override - protected abstract AbstractReadTransactionRequestProxyV1 externalizableProxy(final ABIVersion version); + protected abstract AbstractReadTransactionRequestProxyV1 externalizableProxy(ABIVersion version); }