diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2017-12-08 14:25:54 +0100 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2017-12-08 14:25:54 +0100 |
commit | 879cbe9dfe5fa5646ed3735a39083acb19db732e (patch) | |
tree | 7b2255725eeb9ed0148c52015db1c35189dfa2e4 /config-provisioning | |
parent | 666eaba7f5d3aff8934e222ee71cdf82b0342bb2 (diff) |
Extract superclass with environment and region
Diffstat (limited to 'config-provisioning')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java | 32 | ||||
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java | 37 |
2 files changed, 39 insertions, 30 deletions
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 6315e05c9de..1868db8fe7f 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 @@ -14,10 +14,8 @@ import java.util.Optional; * * @author bratseth */ -public class Zone { +public class Zone extends ZoneId { - private final Environment environment; - private final RegionName region; private final SystemName systemName; private final FlavorDefaults flavorDefaults; private final Optional<NodeFlavors> nodeFlavors; @@ -46,19 +44,12 @@ public class Zone { RegionName region, FlavorDefaults flavorDefaults, NodeFlavors nodeFlavors) { - this.environment = environment; - this.region = region; + super(environment, region); this.flavorDefaults = flavorDefaults; this.systemName = systemName; this.nodeFlavors = Optional.ofNullable(nodeFlavors); } - /** Returns the current environment */ - public Environment environment() { return environment; } - - /** Returns the current region */ - public RegionName region() { return region; } - /** Returns the current system */ public SystemName system() { return systemName; } @@ -73,25 +64,6 @@ public class Zone { return new Zone(SystemName.defaultSystem(), Environment.defaultEnvironment(), RegionName.defaultName()); } - @Override - public String toString() { - return "zone " + environment + "." + region; - } - - @Override - public int hashCode() { return environment().hashCode() + 7 * region.hashCode();} - - @Override - public boolean equals(Object o) { - if (o == this) return true; - if ( ! (o instanceof Zone)) return false; - - Zone other = (Zone)o; - if ( this.environment() != other.environment()) return false; - if ( ! this.region.equals(other.region)) return false; - return true; - } - private static class FlavorDefaults { /** The default default flavor */ diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java new file mode 100644 index 00000000000..07a4b8c4d79 --- /dev/null +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java @@ -0,0 +1,37 @@ +package com.yahoo.config.provision; + +public class ZoneId { + + protected final Environment environment; + protected final RegionName region; + + public ZoneId(Environment environment, RegionName region) { + this.environment = environment; + this.region = region; + } + + /** Returns the current environment */ + public Environment environment() { return environment; } + + /** Returns the current region */ + public RegionName region() { return region; } + + @Override + public String toString() { + return "zone " + environment + "." + region; + } + + @Override + public int hashCode() { return environment().hashCode() + 7 * region.hashCode();} + + @Override + public boolean equals(Object o) { + if (o == this) return true; + if ( ! (o instanceof Zone)) return false; + + ZoneId other = (ZoneId)o; + if ( this.environment() != other.environment()) return false; + if ( ! this.region.equals(other.region)) return false; + return true; + } +} |