X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FShardTransaction.java;h=82770a20bd4c87ea04a65728b54a89631c9b9b70;hb=refs%2Fchanges%2F78%2F33178%2F3;hp=3d54b4e8147c01e4f3d8f89a98421a4858c69442;hpb=80f668c77ef358ba5fbc53b0332597bd2c4844c2;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java index 3d54b4e814..82770a20bd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java @@ -41,9 +41,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; *

*/ public abstract class ShardTransaction extends AbstractUntypedActorWithMetering { - - protected static final boolean SERIALIZED_REPLY = true; - private final ActorRef shardActor; private final ShardStats shardStats; private final String transactionID; @@ -80,7 +77,7 @@ public abstract class ShardTransaction extends AbstractUntypedActorWithMetering @Override public void handleReceive(Object message) throws Exception { - if (message.getClass().equals(CloseTransaction.SERIALIZABLE_CLASS)) { + if (CloseTransaction.isSerializedType(message)) { closeTransaction(true); } else if (message instanceof ReceiveTimeout) { if(LOG.isDebugEnabled()) { @@ -100,7 +97,7 @@ public abstract class ShardTransaction extends AbstractUntypedActorWithMetering getDOMStoreTransaction().abort(); if(sendReply && returnCloseTransactionReply()) { - getSender().tell(CloseTransactionReply.INSTANCE.toSerializable(), getSelf()); + getSender().tell(new CloseTransactionReply(), getSelf()); } getSelf().tell(PoisonPill.getInstance(), getSelf()); @@ -115,31 +112,25 @@ public abstract class ShardTransaction extends AbstractUntypedActorWithMetering return ret; } - protected void readData(AbstractShardDataTreeTransaction transaction, ReadData message, - final boolean returnSerialized) { - + protected void readData(AbstractShardDataTreeTransaction transaction, ReadData message) { if (checkClosed(transaction)) { return; } final YangInstanceIdentifier path = message.getPath(); Optional> optional = transaction.getSnapshot().readNode(path); - ReadDataReply readDataReply = new ReadDataReply(optional.orNull(), clientTxVersion); - sender().tell((returnSerialized ? readDataReply.toSerializable(): readDataReply), self()); + ReadDataReply readDataReply = new ReadDataReply(optional.orNull(), message.getVersion()); + sender().tell(readDataReply.toSerializable(), self()); } - protected void dataExists(AbstractShardDataTreeTransaction transaction, DataExists message, - final boolean returnSerialized) { - + protected void dataExists(AbstractShardDataTreeTransaction transaction, DataExists message) { if (checkClosed(transaction)) { return; } final YangInstanceIdentifier path = message.getPath(); boolean exists = transaction.getSnapshot().readNode(path).isPresent(); - DataExistsReply dataExistsReply = DataExistsReply.create(exists); - getSender().tell(returnSerialized ? dataExistsReply.toSerializable() : - dataExistsReply, getSelf()); + getSender().tell(new DataExistsReply(exists, message.getVersion()).toSerializable(), getSelf()); } private static class ShardTransactionCreator implements Creator {