diff options
author | Harald Musum <musum@verizonmedia.com> | 2019-05-31 14:13:51 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2019-05-31 14:13:51 +0200 |
commit | fd9b1c8a4b7b90b5883c636d9dd0c040a3cbe779 (patch) | |
tree | e19727b0432eb225f854f10c53a5dfc921b6b49e /config-provisioning | |
parent | ad59a2b76aa92da991805758dfcb15ad7d9bc0ea (diff) |
Run DeploymentMetricsMaintainer only for non-public systems
Add allOf method to SystemName taking a Predicate as argument
Diffstat (limited to 'config-provisioning')
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 |