summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2017-12-08 14:25:54 +0100
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2017-12-08 14:25:54 +0100
commit879cbe9dfe5fa5646ed3735a39083acb19db732e (patch)
tree7b2255725eeb9ed0148c52015db1c35189dfa2e4 /config-provisioning
parent666eaba7f5d3aff8934e222ee71cdf82b0342bb2 (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.java32
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ZoneId.java37
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;
+ }
+}