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%2FShardTransactionChain.java;h=a4c97e8ab9248cd471ad23f50913abf8032a01d3;hb=f9a9cd1ea40d2477ccb16b03c71a87595226595a;hp=8fe94cf468b6b63e78128a5f44ca2b1b7cebdd55;hpb=dd281c0e33267296ad3babbffd03e1122cdb127e;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransactionChain.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransactionChain.java index 8fe94cf468..a4c97e8ab9 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransactionChain.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransactionChain.java @@ -12,7 +12,6 @@ import akka.actor.ActorRef; import akka.actor.Props; import akka.japi.Creator; import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor; - import org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard.ShardStats; import org.opendaylight.controller.cluster.datastore.messages.CloseTransactionChain; import org.opendaylight.controller.cluster.datastore.messages.CloseTransactionChainReply; @@ -28,14 +27,12 @@ public class ShardTransactionChain extends AbstractUntypedActor { private final DOMStoreTransactionChain chain; private final DatastoreContext datastoreContext; - private final SchemaContext schemaContext; private final ShardStats shardStats; - public ShardTransactionChain(DOMStoreTransactionChain chain, SchemaContext schemaContext, - DatastoreContext datastoreContext, ShardStats shardStats) { + public ShardTransactionChain(DOMStoreTransactionChain chain, DatastoreContext datastoreContext, + ShardStats shardStats) { this.chain = chain; this.datastoreContext = datastoreContext; - this.schemaContext = schemaContext; this.shardStats = shardStats; } @@ -46,7 +43,7 @@ public class ShardTransactionChain extends AbstractUntypedActor { createTransaction(createTransaction); } else if (message.getClass().equals(CloseTransactionChain.SERIALIZABLE_CLASS)) { chain.close(); - getSender().tell(new CloseTransactionChainReply().toSerializable(), getSelf()); + getSender().tell(CloseTransactionChainReply.INSTANCE.toSerializable(), getSelf()); }else{ unknownMessage(message); } @@ -56,23 +53,26 @@ public class ShardTransactionChain extends AbstractUntypedActor { return getContext().parent(); } - private ActorRef createTypedTransactionActor(CreateTransaction createTransaction, - String transactionId) { + private ActorRef createTypedTransactionActor(CreateTransaction createTransaction) { + String transactionName = "shard-" + createTransaction.getTransactionId(); if(createTransaction.getTransactionType() == TransactionProxy.TransactionType.READ_ONLY.ordinal()) { return getContext().actorOf( ShardTransaction.props( chain.newReadOnlyTransaction(), getShardActor(), - schemaContext, datastoreContext, shardStats), transactionId); + datastoreContext, shardStats, createTransaction.getTransactionId(), + createTransaction.getVersion()), transactionName); } else if (createTransaction.getTransactionType() == TransactionProxy.TransactionType.READ_WRITE.ordinal()) { return getContext().actorOf( ShardTransaction.props( chain.newReadWriteTransaction(), getShardActor(), - schemaContext, datastoreContext, shardStats), transactionId); + datastoreContext, shardStats, createTransaction.getTransactionId(), + createTransaction.getVersion()), transactionName); } else if (createTransaction.getTransactionType() == TransactionProxy.TransactionType.WRITE_ONLY.ordinal()) { return getContext().actorOf( ShardTransaction.props( chain.newWriteOnlyTransaction(), getShardActor(), - schemaContext, datastoreContext, shardStats), transactionId); + datastoreContext, shardStats, createTransaction.getTransactionId(), + createTransaction.getVersion()), transactionName); } else { throw new IllegalArgumentException ( "CreateTransaction message has unidentified transaction type=" + @@ -82,16 +82,14 @@ public class ShardTransactionChain extends AbstractUntypedActor { private void createTransaction(CreateTransaction createTransaction) { - ActorRef transactionActor = createTypedTransactionActor(createTransaction, "shard-" + createTransaction.getTransactionId()); - getSender() - .tell(new CreateTransactionReply(transactionActor.path().toString(),createTransaction.getTransactionId()).toSerializable(), - getSelf()); + ActorRef transactionActor = createTypedTransactionActor(createTransaction); + getSender().tell(new CreateTransactionReply(transactionActor.path().toString(), + createTransaction.getTransactionId()).toSerializable(), getSelf()); } public static Props props(DOMStoreTransactionChain chain, SchemaContext schemaContext, DatastoreContext datastoreContext, ShardStats shardStats) { - return Props.create(new ShardTransactionChainCreator(chain, schemaContext, - datastoreContext, shardStats)); + return Props.create(new ShardTransactionChainCreator(chain, datastoreContext, shardStats)); } private static class ShardTransactionChainCreator implements Creator { @@ -99,21 +97,19 @@ public class ShardTransactionChain extends AbstractUntypedActor { final DOMStoreTransactionChain chain; final DatastoreContext datastoreContext; - final SchemaContext schemaContext; final ShardStats shardStats; - ShardTransactionChainCreator(DOMStoreTransactionChain chain, SchemaContext schemaContext, - DatastoreContext datastoreContext, ShardStats shardStats) { + ShardTransactionChainCreator(DOMStoreTransactionChain chain, DatastoreContext datastoreContext, + ShardStats shardStats) { this.chain = chain; this.datastoreContext = datastoreContext; - this.schemaContext = schemaContext; this.shardStats = shardStats; } @Override public ShardTransactionChain create() throws Exception { - return new ShardTransactionChain(chain, schemaContext, datastoreContext, shardStats); + return new ShardTransactionChain(chain, datastoreContext, shardStats); } } }