[ONOS-6594] Upgrade to Atomix 2.0.0
Change-Id: I6534bca1c8570b4e017f682953b876da29146675
diff --git a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/DistributedPrimitivesTest.java b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/DistributedPrimitivesTest.java
index f5c9eec..e481e81 100644
--- a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/DistributedPrimitivesTest.java
+++ b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/DistributedPrimitivesTest.java
@@ -28,6 +28,7 @@
import org.onosproject.core.CoreService;
import org.onosproject.store.serializers.KryoNamespaces;
import org.onosproject.store.service.EventuallyConsistentMap;
+import org.onosproject.store.service.LeaderElector;
import org.onosproject.store.service.StorageService;
import org.onosproject.store.service.WallClockTimestamp;
import org.slf4j.Logger;
@@ -54,6 +55,7 @@
protected StorageService storageService;
private final Map<String, EventuallyConsistentMap<String, String>> maps = Maps.newConcurrentMap();
+ private final Map<String, LeaderElector> electors = Maps.newConcurrentMap();
@Activate
protected void activate() {
@@ -79,4 +81,17 @@
.withTimestampProvider((k, v) -> new WallClockTimestamp())
.build());
}
+
+ /**
+ * Returns a leader elector session by name.
+ *
+ * @param name the leader elector name
+ * @return the leader elector
+ */
+ public LeaderElector getLeaderElector(String name) {
+ return electors.computeIfAbsent(name, n -> storageService.leaderElectorBuilder()
+ .withName(name)
+ .build()
+ .asLeaderElector());
+ }
}
diff --git a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/LeaderElectorTestCommand.java b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/LeaderElectorTestCommand.java
index ef5e45c..22849e8 100644
--- a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/LeaderElectorTestCommand.java
+++ b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/LeaderElectorTestCommand.java
@@ -21,8 +21,8 @@
import org.onosproject.cluster.ClusterService;
import org.onosproject.cluster.Leadership;
import org.onosproject.cluster.NodeId;
+import org.onosproject.distributedprimitives.DistributedPrimitivesTest;
import org.onosproject.store.service.LeaderElector;
-import org.onosproject.store.service.StorageService;
import com.google.common.base.Joiner;
@@ -49,13 +49,10 @@
@Override
protected void execute() {
- StorageService storageService = get(StorageService.class);
ClusterService clusterService = get(ClusterService.class);
+ DistributedPrimitivesTest test = get(DistributedPrimitivesTest.class);
+ leaderElector = test.getLeaderElector(name);
NodeId localNodeId = clusterService.getLocalNode().id();
- leaderElector = storageService.leaderElectorBuilder()
- .withName(name)
- .build()
- .asLeaderElector();
if ("run".equals(operation)) {
print(leaderElector.run(topic, localNodeId));
} else if ("withdraw".equals(operation)) {