summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-05-31 14:13:51 +0200
committerHarald Musum <musum@verizonmedia.com>2019-05-31 14:13:51 +0200
commitfd9b1c8a4b7b90b5883c636d9dd0c040a3cbe779 (patch)
treee19727b0432eb225f854f10c53a5dfc921b6b49e /config-provisioning
parentad59a2b76aa92da991805758dfcb15ad7d9bc0ea (diff)
Run DeploymentMetricsMaintainer only for non-public systems
Add allOf method to SystemName taking a Predicate as argument
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/abi-spec.json3
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/SystemName.java7
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/SystemNameTest.java8
3 files changed, 17 insertions, 1 deletions
diff --git a/config-provisioning/abi-spec.json b/config-provisioning/abi-spec.json
index 66cc491d471..3cfa301894a 100644
--- a/config-provisioning/abi-spec.json
+++ b/config-provisioning/abi-spec.json
@@ -783,7 +783,8 @@
"public java.lang.String value()",
"public boolean isPublic()",
"public boolean isCd()",
- "public static java.util.Set all()"
+ "public static java.util.Set all()",
+ "public static java.util.Set allOf(java.util.function.Predicate)"
],
"fields": [
"public static final enum com.yahoo.config.provision.SystemName cd",
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/SystemName.java b/config-provisioning/src/main/java/com/yahoo/config/provision/SystemName.java
index 088d0bdb3c3..ba462b9eb64 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/SystemName.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/SystemName.java
@@ -3,6 +3,9 @@ package com.yahoo.config.provision;
import java.util.EnumSet;
import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
/**
* Systems in hosted Vespa
@@ -72,4 +75,8 @@ public enum SystemName {
public boolean isCd() { return isCd; }
public static Set<SystemName> all() { return EnumSet.allOf(SystemName.class); }
+
+ public static Set<SystemName> allOf(Predicate<SystemName> predicate) {
+ return Stream.of(values()).filter(predicate::test).collect(Collectors.toSet());
+ }
}
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/SystemNameTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/SystemNameTest.java
index 6ffca4918a8..eb066958254 100644
--- a/config-provisioning/src/test/java/com/yahoo/config/provision/SystemNameTest.java
+++ b/config-provisioning/src/test/java/com/yahoo/config/provision/SystemNameTest.java
@@ -3,6 +3,8 @@ package com.yahoo.config.provision;
import org.junit.Test;
+import java.util.Set;
+
import static org.junit.Assert.assertEquals;
/**
@@ -15,4 +17,10 @@ public class SystemNameTest {
assertEquals(name, SystemName.from(name.value()));
}
}
+
+ @Test
+ public void allOf() {
+ assertEquals(Set.of(SystemName.cd, SystemName.PublicCd, SystemName.vaas), SystemName.allOf(SystemName::isCd));
+ assertEquals(Set.of(SystemName.PublicCd, SystemName.Public, SystemName.vaas), SystemName.allOf(SystemName::isPublic));
+ }
} \ No newline at end of file