diff options
author | Arne H Juul <arnej@yahoo-inc.com> | 2017-04-20 14:58:00 +0200 |
---|---|---|
committer | Arne H Juul <arnej@yahoo-inc.com> | 2017-04-20 15:17:25 +0200 |
commit | 53e55b673eec21371b9ff6e5a8fe75d7f213efac (patch) | |
tree | 4c9296aebbd6e8ba3b57cfd62fc34f0d00957a1a /vdslib | |
parent | eeeb1461b9a2ed19bbc49741671fbd105fc504c2 (diff) |
implement hashCode to avoid warning
Diffstat (limited to 'vdslib')
3 files changed, 22 insertions, 0 deletions
diff --git a/vdslib/src/main/java/com/yahoo/vdslib/state/ClusterState.java b/vdslib/src/main/java/com/yahoo/vdslib/state/ClusterState.java index a54f1971d21..a1c468a1372 100644 --- a/vdslib/src/main/java/com/yahoo/vdslib/state/ClusterState.java +++ b/vdslib/src/main/java/com/yahoo/vdslib/state/ClusterState.java @@ -66,6 +66,7 @@ public class ClusterState implements Cloneable { } } + @Override public boolean equals(Object o) { if (!(o instanceof ClusterState)) { return false; } ClusterState other = (ClusterState) o; @@ -80,6 +81,16 @@ public class ClusterState implements Cloneable { return true; } + @Override + public int hashCode() { + int hc = version * 211; + hc += state.hashCode() * 97; + hc += distributionBits * 31; + hc += nodeCount.hashCode() * 7; + hc += nodeStates.hashCode(); + return hc; + } + @FunctionalInterface private interface NodeStateCmp { boolean similar(NodeType nodeType, NodeState lhs, NodeState rhs); diff --git a/vdslib/src/main/java/com/yahoo/vdslib/state/DiskState.java b/vdslib/src/main/java/com/yahoo/vdslib/state/DiskState.java index fb91af14f90..e0d9ad533f4 100644 --- a/vdslib/src/main/java/com/yahoo/vdslib/state/DiskState.java +++ b/vdslib/src/main/java/com/yahoo/vdslib/state/DiskState.java @@ -115,6 +115,7 @@ public class DiskState implements Cloneable { return sb.toString(); } + @Override public boolean equals(Object o) { if (!(o instanceof DiskState)) { return false; } DiskState other = (DiskState) o; @@ -125,4 +126,10 @@ public class DiskState implements Cloneable { } return false; } + + @Override + public int hashCode() { + // NOTE: capacity cannot be part of the hashCode + return state.hashCode(); + } } diff --git a/vdslib/src/test/java/com/yahoo/vdslib/distribution/DistributionTestFactory.java b/vdslib/src/test/java/com/yahoo/vdslib/distribution/DistributionTestFactory.java index abd6ef70d35..c3a8647d95b 100644 --- a/vdslib/src/test/java/com/yahoo/vdslib/distribution/DistributionTestFactory.java +++ b/vdslib/src/test/java/com/yahoo/vdslib/distribution/DistributionTestFactory.java @@ -51,6 +51,10 @@ public class DistributionTestFactory extends CrossPlatformTestFactory { && failure.equals(t.failure)); } + public int hashCode() { + return bucket.hashCode() + nodes.hashCode() + disks.hashCode(); + } + public String toString() { StringBuilder sb = new StringBuilder().append(bucket.toString()); if (failure == Failure.NONE) { |