diff options
author | jonmv <venstad@gmail.com> | 2023-05-23 13:34:21 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-05-23 13:34:21 +0200 |
commit | fc89391783dbff7d462b3cbfd364e5f4b6c953ce (patch) | |
tree | 1b649e65dee862373a568e494d18a6d35e99e9e0 /config-model-api/src | |
parent | 23128f585da2b38d33978c14e80662a183fbe725 (diff) |
Update DeploymentSpec hashcode and deployable hashcode
Diffstat (limited to 'config-model-api/src')
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/application/api/Bcp.java | 27 | ||||
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java | 11 |
2 files changed, 35 insertions, 3 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/Bcp.java b/config-model-api/src/main/java/com/yahoo/config/application/api/Bcp.java index 7464373df9e..bfd39fb66a5 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/Bcp.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/Bcp.java @@ -6,6 +6,7 @@ import java.time.Duration; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -87,6 +88,19 @@ public class Bcp { public static Bcp empty() { return empty; } @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Bcp bcp = (Bcp) o; + return defaultDeadline.equals(bcp.defaultDeadline) && groups.equals(bcp.groups); + } + + @Override + public int hashCode() { + return Objects.hash(defaultDeadline, groups); + } + + @Override public String toString() { if (isEmpty()) return "empty BCP"; return "BCP of " + @@ -117,6 +131,19 @@ public class Bcp { public Duration deadline() { return deadline; } @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Group group = (Group) o; + return members.equals(group.members) && memberRegions.equals(group.memberRegions) && deadline.equals(group.deadline); + } + + @Override + public int hashCode() { + return Objects.hash(members, memberRegions, deadline); + } + + @Override public String toString() { return "BCP group of " + members; } diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java index bd5056deec6..ac36e8e6c4d 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java @@ -315,22 +315,27 @@ public class DeploymentInstanceSpec extends DeploymentSpec.Steps { steps().equals(other.steps()) && athenzService.equals(other.athenzService) && notifications.equals(other.notifications) && - endpoints.equals(other.endpoints); + endpoints.equals(other.endpoints) && + zoneEndpoints.equals(other.zoneEndpoints) && + bcp.equals(other.bcp) && + tags.equals(other.tags); } @Override public int hashCode() { - return Objects.hash(globalServiceId, upgradePolicy, revisionTarget, upgradeRollout, changeBlockers, steps(), athenzService, notifications, endpoints); + return Objects.hash(globalServiceId, upgradePolicy, revisionTarget, upgradeRollout, changeBlockers, steps(), athenzService, notifications, endpoints, zoneEndpoints, bcp, tags); } int deployableHashCode() { List<DeploymentSpec.DeclaredZone> zones = zones().stream().filter(zone -> zone.concerns(prod)).toList(); - Object[] toHash = new Object[zones.size() + 4]; + Object[] toHash = new Object[zones.size() + 6]; int i = 0; toHash[i++] = name; toHash[i++] = endpoints; + toHash[i++] = zoneEndpoints; toHash[i++] = globalServiceId; toHash[i++] = tags; + toHash[i++] = bcp; for (DeploymentSpec.DeclaredZone zone : zones) toHash[i++] = Objects.hash(zone, zone.athenzService()); |