]> source.dussan.org Git - sonarqube.git/commitdiff
add equals and hashcode to Period class 660/head
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Mon, 30 Nov 2015 14:02:56 +0000 (15:02 +0100)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Mon, 30 Nov 2015 16:42:02 +0000 (17:42 +0100)
server/sonar-server/src/main/java/org/sonar/server/computation/period/Period.java

index dc4fdf1d8de6ec73d8e21540cfeca3c329a7de24..86e7c5e9716937308343b97eb2abada75e111244 100644 (file)
 
 package org.sonar.server.computation.period;
 
-import com.google.common.base.Objects;
 import javax.annotation.CheckForNull;
 import javax.annotation.Nullable;
 import javax.annotation.concurrent.Immutable;
 
+import static com.google.common.base.Objects.toStringHelper;
+import static java.util.Objects.hash;
 import static java.util.Objects.requireNonNull;
 
 @Immutable
@@ -76,9 +77,30 @@ public class Period {
     return snapshotId;
   }
 
+  @Override
+  public boolean equals(@Nullable Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+    Period period = (Period) o;
+    return index == period.index
+      && snapshotDate == period.snapshotDate
+      && snapshotId == period.snapshotId
+      && mode.equals(period.mode)
+      && java.util.Objects.equals(modeParameter, period.modeParameter);
+  }
+
+  @Override
+  public int hashCode() {
+    return hash(index, mode, modeParameter, snapshotDate, snapshotId);
+  }
+
   @Override
   public String toString() {
-    return Objects.toStringHelper(this)
+    return toStringHelper(this)
       .add("index", index)
       .add("mode", mode)
       .add("modeParameter", modeParameter)