diff options
author | HÃ¥kon Hallingstad <hakon@verizonmedia.com> | 2019-05-29 15:53:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-29 15:53:53 +0200 |
commit | d282dd5091f55c9fb1cf8b1c0d5c5ad4e14ab756 (patch) | |
tree | 91b4c0d1b115fa70ca65fcdb6dab06a3d3cd29ce /config-provisioning | |
parent | 320bbd08bc7ce942849225ee3c737bae1f87c3a1 (diff) | |
parent | 9bbd89c84accdc86e16f3602530ee417e2371524 (diff) |
Merge pull request #9608 from vespa-engine/hakonhall/define-systemtype
Define SystemName::isPublic
Diffstat (limited to 'config-provisioning')
3 files changed, 42 insertions, 17 deletions
diff --git a/config-provisioning/abi-spec.json b/config-provisioning/abi-spec.json index 54f6053f4a9..66cc491d471 100644 --- a/config-provisioning/abi-spec.json +++ b/config-provisioning/abi-spec.json @@ -781,15 +781,16 @@ "public static com.yahoo.config.provision.SystemName defaultSystem()", "public static com.yahoo.config.provision.SystemName from(java.lang.String)", "public java.lang.String value()", + "public boolean isPublic()", "public boolean isCd()", "public static java.util.Set all()" ], "fields": [ - "public static final enum com.yahoo.config.provision.SystemName dev", "public static final enum com.yahoo.config.provision.SystemName cd", "public static final enum com.yahoo.config.provision.SystemName main", "public static final enum com.yahoo.config.provision.SystemName Public", "public static final enum com.yahoo.config.provision.SystemName PublicCd", + "public static final enum com.yahoo.config.provision.SystemName dev", "public static final enum com.yahoo.config.provision.SystemName vaas" ] }, 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 0206e6f6734..088d0bdb3c3 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 @@ -2,7 +2,6 @@ package com.yahoo.config.provision; import java.util.EnumSet; -import java.util.List; import java.util.Set; /** @@ -12,23 +11,31 @@ import java.util.Set; */ public enum SystemName { - /** Local development system */ - dev, - /** Continuous deployment system */ - cd, + cd(false, true), /** Production system */ - main, + main(false, false), - /** System accessible for the public */ - Public, + /** System accessible to the public */ + Public(true, false), /** Continuous deployment system for testing the Public system */ - PublicCd, + PublicCd(true, true), + + /** Local development system */ + dev(false, false), /** VaaS */ - vaas; // TODO: Remove this and use public everywhere + vaas(true, true); // TODO: Remove this and use public everywhere + + private final boolean isPublic; + private final boolean isCd; + + SystemName(boolean isPublic, boolean isCd) { + this.isPublic = isPublic; + this.isCd = isCd; + } public static SystemName defaultSystem() { return main; @@ -58,12 +65,11 @@ public enum SystemName { } } - public boolean isCd() { - return List.of(cd, PublicCd).contains(this); - } + /** Whether the system is similar to Public, e.g. PublicCd. */ + public boolean isPublic() { return isPublic; } - public static Set<SystemName> all() { - return EnumSet.allOf(SystemName.class); - } + /** Whether the system is used for continuous deployment. */ + public boolean isCd() { return isCd; } + public static Set<SystemName> all() { return EnumSet.allOf(SystemName.class); } } 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 new file mode 100644 index 00000000000..6ffca4918a8 --- /dev/null +++ b/config-provisioning/src/test/java/com/yahoo/config/provision/SystemNameTest.java @@ -0,0 +1,18 @@ +// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.config.provision; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * @author hakonhall + */ +public class SystemNameTest { + @Test + public void test() { + for (SystemName name : SystemName.values()) { + assertEquals(name, SystemName.from(name.value())); + } + } +}
\ No newline at end of file |