@Override public boolean equals(Object obj) { if (obj == null || !(obj instanceof RegionVersionHolder)) { return false; } return sameAs((RegionVersionHolder) obj); }
/** * For test purposes, see if two RVVs have seen the same events and GC version vectors * * @return true if the RVVs are the same. */ public boolean sameAs(RegionVersionVector<T> other) { // Compare the version version vectors Map<T, RegionVersionHolder<T>> myMemberToVersion = getMemberToVersion(); Map<T, RegionVersionHolder<T>> otherMemberToVersion = other.getMemberToVersion(); if (!myMemberToVersion.keySet().equals(otherMemberToVersion.keySet())) { return false; } for (Iterator<T> it = myMemberToVersion.keySet().iterator(); it.hasNext();) { T key = it.next(); if (!myMemberToVersion.get(key).sameAs(otherMemberToVersion.get(key))) { return false; } } Map<T, Long> myGCVersion = getMemberToGCVersion(); Map<T, Long> otherGCVersion = other.getMemberToGCVersion(); if (!myGCVersion.equals(otherGCVersion)) { return false; } return true; }
assertTrue(vh2.sameAs(vh1)); validateExceptions(vh2);