[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)) {