Add DistributedLock test commands and STC tests
Change-Id: If410a91418fe1749e738cdc12494859af1c74245
(cherry picked from commit 2c9b159066a564b3ee61802819d81ecadc2aef4a)
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 a83c7db..3296046 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
@@ -27,6 +27,7 @@
import org.onosproject.core.ApplicationId;
import org.onosproject.core.CoreService;
import org.onosproject.store.serializers.KryoNamespaces;
+import org.onosproject.store.service.DistributedLock;
import org.onosproject.store.service.EventuallyConsistentMap;
import org.onosproject.store.service.LeaderElector;
import org.onosproject.store.service.StorageService;
@@ -35,7 +36,6 @@
import static org.slf4j.LoggerFactory.getLogger;
-
/**
* Simple application to test distributed primitives.
*/
@@ -56,6 +56,7 @@
private final Map<String, EventuallyConsistentMap<String, String>> maps = Maps.newConcurrentMap();
private final Map<String, LeaderElector> electors = Maps.newConcurrentMap();
+ private final Map<String, DistributedLock> locks = Maps.newConcurrentMap();
@Activate
protected void activate() {
@@ -90,8 +91,21 @@
*/
public LeaderElector getLeaderElector(String name) {
return electors.computeIfAbsent(name, n -> storageService.leaderElectorBuilder()
- .withName(name)
- .build()
- .asLeaderElector());
+ .withName(name)
+ .build()
+ .asLeaderElector());
+ }
+
+ /**
+ * Returns a lock instance by name.
+ *
+ * @param name the lock name
+ * @return the lock
+ */
+ public DistributedLock getLock(String name) {
+ return locks.computeIfAbsent(name, n -> storageService.lockBuilder()
+ .withName(name)
+ .build()
+ .asLock());
}
}