From 2f08d0d74d40069eee81c87e10f8cde4b2eaa335 Mon Sep 17 00:00:00 2001 From: Dmitry Boulytchev Date: Mon, 27 Feb 2012 22:51:31 +0400 Subject: [PATCH] Minor bugfix: implemented hashCode +equals for clusters (compile-server). --- .../ether/dependencyView/UsageRepr.java | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/UsageRepr.java b/jps/model/src/org/jetbrains/ether/dependencyView/UsageRepr.java index ffdcdd5f940d..316ee502c9a8 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/UsageRepr.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/UsageRepr.java @@ -90,22 +90,6 @@ class UsageRepr { return residentialMap.get(usage); } - public void updateCluster(final Cluster c) { - usages.addAll(c.getUsages()); - for (Map.Entry> e : c.residentialMap.entrySet()) { - final Usage u = e.getKey(); - final Set v = e.getValue(); - final Set s = residentialMap.get(u); - - if (s == null) { - residentialMap.put(u, v); - } - else { - s.addAll(v); - } - } - } - public boolean isEmpty() { return usages.isEmpty(); } @@ -123,6 +107,26 @@ class UsageRepr { } }; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Cluster cluster = (Cluster)o; + + if (!residentialMap.equals(cluster.residentialMap)) return false; + if (!usages.equals(cluster.usages)) return false; + + return true; + } + + @Override + public int hashCode() { + int result = usages.hashCode(); + result = 31 * result + residentialMap.hashCode(); + return result; + } } public static abstract class Usage implements RW.Savable {