Use similar return types for LeadershipService.getCandidates() and LeadershipService.getCandidates(topic)
Change-Id: I9aaea9dfa14e4e9916103a61c8e59290ad656aa7
diff --git a/cli/src/main/java/org/onosproject/cli/net/LeaderCommand.java b/cli/src/main/java/org/onosproject/cli/net/LeaderCommand.java
index a4b0d3a..7fe8381 100644
--- a/cli/src/main/java/org/onosproject/cli/net/LeaderCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/LeaderCommand.java
@@ -16,8 +16,8 @@
package org.onosproject.cli.net;
import java.util.Comparator;
-import java.util.Map;
import java.util.List;
+import java.util.Map;
import java.util.regex.Pattern;
import org.apache.karaf.shell.commands.Argument;
@@ -94,7 +94,7 @@
}
private void displayCandidates(Map<String, Leadership> leaderBoard,
- Map<String, Leadership> candidates) {
+ Map<String, List<NodeId>> candidates) {
print("--------------------------------------------------------------");
print(FMT_C, "Topic", "Leader", "Candidates");
print("--------------------------------------------------------------");
@@ -104,7 +104,7 @@
.filter(l -> allTopics || pattern.matcher(l.topic()).matches())
.sorted(leadershipComparator)
.forEach(l -> {
- List<NodeId> list = candidates.get(l.topic()).candidates();
+ List<NodeId> list = candidates.get(l.topic());
print(FMT_C,
l.topic(),
l.leader(),
@@ -156,7 +156,7 @@
print("%s", json(leaderBoard));
} else {
if (showCandidates) {
- Map<String, Leadership> candidates = leaderService.getCandidates();
+ Map<String, List<NodeId>> candidates = leaderService.getCandidates();
displayCandidates(leaderBoard, candidates);
} else {
displayLeaders(leaderBoard);
diff --git a/core/api/src/main/java/org/onosproject/cluster/LeadershipService.java b/core/api/src/main/java/org/onosproject/cluster/LeadershipService.java
index 5857154..44d84db 100644
--- a/core/api/src/main/java/org/onosproject/cluster/LeadershipService.java
+++ b/core/api/src/main/java/org/onosproject/cluster/LeadershipService.java
@@ -15,9 +15,9 @@
*/
package org.onosproject.cluster;
+import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.List;
/**
* Service for leader election.
@@ -76,9 +76,9 @@
/**
* Returns the candidates for all known topics.
*
- * @return A mapping from topics to up-to-date candidate info.
+ * @return A mapping from topics to corresponding list of candidates.
*/
- Map<String, Leadership> getCandidates();
+ Map<String, List<NodeId>> getCandidates();
/**
* Returns the candidates for a given topic.
diff --git a/core/api/src/test/java/org/onosproject/cluster/LeadershipServiceAdapter.java b/core/api/src/test/java/org/onosproject/cluster/LeadershipServiceAdapter.java
index 3c503bb..02742d4 100644
--- a/core/api/src/test/java/org/onosproject/cluster/LeadershipServiceAdapter.java
+++ b/core/api/src/test/java/org/onosproject/cluster/LeadershipServiceAdapter.java
@@ -65,7 +65,7 @@
}
@Override
- public Map<String, Leadership> getCandidates() {
+ public Map<String, List<NodeId>> getCandidates() {
return null;
}
diff --git a/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/HazelcastLeadershipService.java b/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/HazelcastLeadershipService.java
index 220a28d..ddd0b9e 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/HazelcastLeadershipService.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/HazelcastLeadershipService.java
@@ -576,7 +576,7 @@
}
@Override
- public Map<String, Leadership> getCandidates() {
+ public Map<String, List<NodeId>> getCandidates() {
return null;
}
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java
index 6f498ff..58fd3eb 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java
@@ -166,8 +166,8 @@
}
@Override
- public Map<String, Leadership> getCandidates() {
- return ImmutableMap.copyOf(candidateBoard);
+ public Map<String, List<NodeId>> getCandidates() {
+ return Maps.toMap(candidateBoard.keySet(), this::getCandidates);
}
@Override
diff --git a/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleLeadershipManager.java b/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleLeadershipManager.java
index 3f05480..5f7bb92 100644
--- a/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleLeadershipManager.java
+++ b/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleLeadershipManager.java
@@ -111,7 +111,7 @@
}
@Override
- public Map<String, Leadership> getCandidates() {
+ public Map<String, List<NodeId>> getCandidates() {
return null;
}