Bump versions 9.0.4-SNAPSHOT
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / ShardTransactionActorFactory.java
index 74c75dc2542b1e5b31370786874e74cfd1dc72bf..122c43592aeaf8b9099f59e98f4eefa3fe9588b4 100644 (file)
@@ -7,42 +7,43 @@
  */
 package org.opendaylight.controller.cluster.datastore;
 
+import static java.util.Objects.requireNonNull;
+
+import akka.actor.AbstractActor.ActorContext;
 import akka.actor.ActorRef;
-import akka.actor.UntypedActorContext;
-import com.google.common.base.Preconditions;
 import java.util.concurrent.atomic.AtomicLong;
 import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
-import org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard.ShardStats;
 
 /**
  * A factory for creating ShardTransaction actors.
  *
  * @author Thomas Pantelis
  */
-class ShardTransactionActorFactory {
+@Deprecated(since = "9.0.0", forRemoval = true)
+final class ShardTransactionActorFactory {
     private static final AtomicLong ACTOR_NAME_COUNTER = new AtomicLong();
 
     private final ShardDataTree dataTree;
     private final DatastoreContext datastoreContext;
     private final String txnDispatcherPath;
     private final ShardStats shardMBean;
-    private final UntypedActorContext actorContext;
+    private final ActorContext actorContext;
     private final ActorRef shardActor;
     private final String shardName;
 
-    ShardTransactionActorFactory(ShardDataTree dataTree, DatastoreContext datastoreContext,
-            String txnDispatcherPath, ActorRef shardActor, UntypedActorContext actorContext, ShardStats shardMBean,
-            String shardName) {
-        this.dataTree = Preconditions.checkNotNull(dataTree);
-        this.datastoreContext = Preconditions.checkNotNull(datastoreContext);
-        this.txnDispatcherPath = Preconditions.checkNotNull(txnDispatcherPath);
-        this.shardMBean = Preconditions.checkNotNull(shardMBean);
-        this.actorContext = Preconditions.checkNotNull(actorContext);
-        this.shardActor = Preconditions.checkNotNull(shardActor);
-        this.shardName = Preconditions.checkNotNull(shardName);
+    ShardTransactionActorFactory(final ShardDataTree dataTree, final DatastoreContext datastoreContext,
+            final String txnDispatcherPath, final ActorRef shardActor, final ActorContext actorContext,
+            final ShardStats shardMBean, final String shardName) {
+        this.dataTree = requireNonNull(dataTree);
+        this.datastoreContext = requireNonNull(datastoreContext);
+        this.txnDispatcherPath = requireNonNull(txnDispatcherPath);
+        this.shardMBean = requireNonNull(shardMBean);
+        this.actorContext = requireNonNull(actorContext);
+        this.shardActor = requireNonNull(shardActor);
+        this.shardName = requireNonNull(shardName);
     }
 
     private String actorNameFor(final TransactionIdentifier txId) {
@@ -62,25 +63,12 @@ class ShardTransactionActorFactory {
         return sb.append(txId.getTransactionId()).append('_').append(ACTOR_NAME_COUNTER.incrementAndGet()).toString();
     }
 
-    ActorRef newShardTransaction(TransactionType type, TransactionIdentifier transactionID) {
-        final AbstractShardDataTreeTransaction<?> transaction;
-        switch (type) {
-            case READ_ONLY:
-                transaction = dataTree.newReadOnlyTransaction(transactionID);
-                shardMBean.incrementReadOnlyTransactionCount();
-                break;
-            case READ_WRITE:
-                transaction = dataTree.newReadWriteTransaction(transactionID);
-                shardMBean.incrementReadWriteTransactionCount();
-                break;
-            case WRITE_ONLY:
-                transaction = dataTree.newReadWriteTransaction(transactionID);
-                shardMBean.incrementWriteOnlyTransactionCount();
-                break;
-            default:
-                throw new IllegalArgumentException("Unsupported transaction type " + type);
-        }
-
+    ActorRef newShardTransaction(final TransactionType type, final TransactionIdentifier transactionID) {
+        final AbstractShardDataTreeTransaction<?> transaction = switch (type) {
+            case READ_ONLY -> dataTree.newReadOnlyTransaction(transactionID);
+            case READ_WRITE, WRITE_ONLY -> dataTree.newReadWriteTransaction(transactionID);
+            default -> throw new IllegalArgumentException("Unsupported transaction type " + type);
+        };
         return actorContext.actorOf(ShardTransaction.props(type, transaction, shardActor, datastoreContext, shardMBean)
             .withDispatcher(txnDispatcherPath), actorNameFor(transactionID));
     }