X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FShardTransactionChain.java;h=484bd54a0743616ebb3fdb3bd95f0c1c253b1996;hp=42bd257ad1cdb97b3d28ab2588bbe6161894b8e9;hb=c33b2b55b2eae406df001619885a0610800cb951;hpb=2d16e0bef47638ed57073a3d9f84023aa543b3c4 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 42bd257ad1..484bd54a07 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,6 +12,7 @@ import akka.actor.ActorRef; import akka.actor.Props; import akka.japi.Creator; +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; import org.opendaylight.controller.cluster.datastore.messages.CreateTransaction; @@ -25,14 +26,16 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; public class ShardTransactionChain extends AbstractUntypedActor { private final DOMStoreTransactionChain chain; - private final ShardContext shardContext; + private final DatastoreContext datastoreContext; private final SchemaContext schemaContext; + private final ShardStats shardStats; public ShardTransactionChain(DOMStoreTransactionChain chain, SchemaContext schemaContext, - ShardContext shardContext) { + DatastoreContext datastoreContext, ShardStats shardStats) { this.chain = chain; - this.shardContext = shardContext; + this.datastoreContext = datastoreContext; this.schemaContext = schemaContext; + this.shardStats = shardStats; } @Override @@ -58,17 +61,17 @@ public class ShardTransactionChain extends AbstractUntypedActor { TransactionProxy.TransactionType.READ_ONLY.ordinal()) { return getContext().actorOf( ShardTransaction.props( chain.newReadOnlyTransaction(), getShardActor(), - schemaContext, shardContext), transactionId); + schemaContext, datastoreContext, shardStats), transactionId); } else if (createTransaction.getTransactionType() == TransactionProxy.TransactionType.READ_WRITE.ordinal()) { return getContext().actorOf( ShardTransaction.props( chain.newReadWriteTransaction(), getShardActor(), - schemaContext, shardContext), transactionId); + schemaContext, datastoreContext, shardStats), transactionId); } else if (createTransaction.getTransactionType() == TransactionProxy.TransactionType.WRITE_ONLY.ordinal()) { return getContext().actorOf( ShardTransaction.props( chain.newWriteOnlyTransaction(), getShardActor(), - schemaContext, shardContext), transactionId); + schemaContext, datastoreContext, shardStats), transactionId); } else { throw new IllegalArgumentException ( "CreateTransaction message has unidentified transaction type=" + @@ -85,27 +88,31 @@ public class ShardTransactionChain extends AbstractUntypedActor { } public static Props props(DOMStoreTransactionChain chain, SchemaContext schemaContext, - ShardContext shardContext) { - return Props.create(new ShardTransactionChainCreator(chain, schemaContext, shardContext)); + DatastoreContext datastoreContext, ShardStats shardStats) { + return Props.create(new ShardTransactionChainCreator(chain, schemaContext, + datastoreContext, shardStats)); } private static class ShardTransactionChainCreator implements Creator { private static final long serialVersionUID = 1L; final DOMStoreTransactionChain chain; - final ShardContext shardContext; + final DatastoreContext datastoreContext; final SchemaContext schemaContext; + final ShardStats shardStats; + ShardTransactionChainCreator(DOMStoreTransactionChain chain, SchemaContext schemaContext, - ShardContext shardContext) { + DatastoreContext datastoreContext, ShardStats shardStats) { this.chain = chain; - this.shardContext = shardContext; + this.datastoreContext = datastoreContext; this.schemaContext = schemaContext; + this.shardStats = shardStats; } @Override public ShardTransactionChain create() throws Exception { - return new ShardTransactionChain(chain, schemaContext, shardContext); + return new ShardTransactionChain(chain, schemaContext, datastoreContext, shardStats); } } }