diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-11-14 11:01:56 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-11-14 11:37:14 +0100 |
commit | ab09b81951e20cd85d8c2e595ca02be9e3deae77 (patch) | |
tree | 1ce1a17d815c965ca30d6f1c463b3e9edb165c46 /config-provisioning/src/main/java | |
parent | 0979fffb39994efb81fb6f51daf807dc696eae26 (diff) |
Extract factory method
Diffstat (limited to 'config-provisioning/src/main/java')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java | 11 | ||||
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java b/config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java index 0e709575627..d0dc88ebcbc 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java @@ -15,8 +15,8 @@ public class CloudAccount extends PatternedStringWrapper<CloudAccount> { public static final CloudAccount empty = new CloudAccount(""); public static final CloudAccount default_ = new CloudAccount("default"); - public CloudAccount(String value) { - super(value, Pattern.compile("^([0-9]{12}|default)?$"), "cloud account"); + private CloudAccount(String value) { + super(value, Pattern.compile("^([0-9]{12})?$"), "cloud account"); } public boolean isEmpty() { @@ -25,6 +25,13 @@ public class CloudAccount extends PatternedStringWrapper<CloudAccount> { public boolean isDefault() { return this.equals(default_); } + public static CloudAccount from(String cloudAccount) { + return switch (cloudAccount) { + case "" -> empty; + default -> new CloudAccount(cloudAccount); + }; + } + @Override public String toString() { return isEmpty() ? "unspecified account" : "account '" + value() + "'"; diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java index 8b662c4f66b..b1a9ecac394 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java @@ -27,7 +27,7 @@ public class Zone { .name(CloudName.from(configserverConfig.cloud())) .dynamicProvisioning(cloudConfig.dynamicProvisioning()) .requireAccessControl(cloudConfig.requireAccessControl()) - .account(cloudConfig.account().isEmpty() ? CloudAccount.empty : new CloudAccount(cloudConfig.account())) + .account(CloudAccount.from(cloudConfig.account())) .build(), SystemName.from(configserverConfig.system()), Environment.from(configserverConfig.environment()), |