aboutsummaryrefslogtreecommitdiffstats
path: root/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
diff options
context:
space:
mode:
Diffstat (limited to 'controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
index 62e87a3982b..60b24ad8c0b 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
@@ -14,6 +14,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
+import java.util.stream.Collectors;
/**
* Node repository interface intended for use by the controller.
@@ -41,12 +42,14 @@ public interface NodeRepository {
List<Node> list(ZoneId zone, List<HostName> hostnames);
/** List all nodes in zone owned by given application */
- default List<Node> list(ZoneId zone, ApplicationId application) {
- return list(zone, Set.of(application), Set.of());
- }
+ List<Node> list(ZoneId zone, ApplicationId application);
/** List all nodes in states, in zone owned by given application */
- List<Node> list(ZoneId zone, Set<ApplicationId> applications, Set<Node.State> states);
+ default List<Node> list(ZoneId zone, ApplicationId application, Set<Node.State> states) {
+ return list(zone, application).stream()
+ .filter(node -> states.contains(node.state()))
+ .collect(Collectors.toList());
+ }
/** Get node repository's view of given application */
Application getApplication(ZoneId zone, ApplicationId application);