diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/Result.java b/server/sonar-server/src/main/java/org/sonar/server/issue/Result.java index 330f60e74ab7..49d56286d9a7 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/Result.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/Result.java @@ -23,7 +23,6 @@ import javax.annotation.CheckForNull; import javax.annotation.Nullable; - import java.util.Arrays; import java.util.List; @@ -124,7 +123,7 @@ public boolean equals(Object o) { if (this == o) { return true; } - if (this.getClass() != o.getClass()) { + if (o == null || getClass() != o.getClass()) { return false; } Message message = (Message) o; diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/RulesAggregation.java b/server/sonar-server/src/main/java/org/sonar/server/issue/RulesAggregation.java index 8567a40d295c..920b84c60dc0 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/RulesAggregation.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/RulesAggregation.java @@ -71,12 +71,17 @@ public boolean equals(Object o) { if (this == o) { return true; } - if (this.getClass() != o.getClass()) { + if (o == null || getClass() != o.getClass()) { return false; } Rule rule = (Rule) o; - return ruleKey.equals(rule.ruleKey); + + if (!ruleKey.equals(rule.ruleKey)) { + return false; + } + + return true; } @Override diff --git a/sonar-duplications/src/main/java/org/sonar/duplications/detector/suffixtree/TextSet.java b/sonar-duplications/src/main/java/org/sonar/duplications/detector/suffixtree/TextSet.java index 51ecbe542940..82ab1db55a66 100644 --- a/sonar-duplications/src/main/java/org/sonar/duplications/detector/suffixtree/TextSet.java +++ b/sonar-duplications/src/main/java/org/sonar/duplications/detector/suffixtree/TextSet.java @@ -19,10 +19,11 @@ */ package org.sonar.duplications.detector.suffixtree; -import com.google.common.collect.Lists; +import java.util.List; + import org.sonar.duplications.block.Block; -import java.util.List; +import com.google.common.collect.Lists; /** * Simplifies construction of generalised suffix-tree. @@ -91,7 +92,7 @@ public Terminator(int i) { @Override public boolean equals(Object obj) { - return (this.getClass() == obj.getClass()) && (((Terminator) obj).stringNumber == stringNumber); + return (obj instanceof Terminator) && (((Terminator) obj).stringNumber == stringNumber); } @Override diff --git a/sonar-duplications/src/main/java/org/sonar/duplications/index/CloneGroup.java b/sonar-duplications/src/main/java/org/sonar/duplications/index/CloneGroup.java index b840c2f55f0c..01b7273da1cb 100644 --- a/sonar-duplications/src/main/java/org/sonar/duplications/index/CloneGroup.java +++ b/sonar-duplications/src/main/java/org/sonar/duplications/index/CloneGroup.java @@ -135,7 +135,7 @@ public String toString() { */ @Override public boolean equals(Object object) { - if (this.getClass() != object.getClass()) { + if (!(object instanceof CloneGroup)) { return false; } CloneGroup another = (CloneGroup) object; diff --git a/sonar-duplications/src/main/java/org/sonar/duplications/index/ClonePart.java b/sonar-duplications/src/main/java/org/sonar/duplications/index/ClonePart.java index 630f52c1350f..6a569e27eae7 100644 --- a/sonar-duplications/src/main/java/org/sonar/duplications/index/ClonePart.java +++ b/sonar-duplications/src/main/java/org/sonar/duplications/index/ClonePart.java @@ -64,7 +64,7 @@ public int getLines() { @Override public boolean equals(Object obj) { - if (this.getClass() == obj.getClass()) { + if (obj instanceof ClonePart) { ClonePart another = (ClonePart) obj; return another.resourceId.equals(resourceId) && another.startLine == startLine diff --git a/sonar-duplications/src/main/java/org/sonar/duplications/statement/Statement.java b/sonar-duplications/src/main/java/org/sonar/duplications/statement/Statement.java index dc1c8ac402d1..49e9e90f743f 100644 --- a/sonar-duplications/src/main/java/org/sonar/duplications/statement/Statement.java +++ b/sonar-duplications/src/main/java/org/sonar/duplications/statement/Statement.java @@ -82,7 +82,7 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this.getClass() != obj.getClass()) { + if (!(obj instanceof Statement)) { return false; } Statement other = (Statement) obj; diff --git a/sonar-duplications/src/main/java/org/sonar/duplications/token/Token.java b/sonar-duplications/src/main/java/org/sonar/duplications/token/Token.java index c1c374e7f52e..06525a4ccda9 100644 --- a/sonar-duplications/src/main/java/org/sonar/duplications/token/Token.java +++ b/sonar-duplications/src/main/java/org/sonar/duplications/token/Token.java @@ -50,7 +50,7 @@ public String getValue() { @Override public boolean equals(Object object) { - if (this.getClass() == object.getClass()) { + if (object instanceof Token) { Token anotherToken = (Token) object; return anotherToken.line == line && anotherToken.column == column && anotherToken.value.equals(value); } diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/Notification.java b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/Notification.java index 42eca231134e..0666e7260f12 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/Notification.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/Notification.java @@ -121,8 +121,8 @@ public String getFieldValue(String field) { } @Override - public boolean equals(@Nullable Object obj) { - if (obj == null || this.getClass() != obj.getClass()) { + public boolean equals(Object obj) { + if (!(obj instanceof Notification)) { return false; } if (this == obj) { diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/rules/ActiveRuleParam.java b/sonar-plugin-api/src/main/java/org/sonar/api/rules/ActiveRuleParam.java index 7f83179429f6..683f52cde435 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/rules/ActiveRuleParam.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/rules/ActiveRuleParam.java @@ -104,12 +104,12 @@ public String getKey() { @Override public boolean equals(Object obj) { + if (!(obj instanceof ActiveRuleParam)) { + return false; + } if (this == obj) { return true; } - if (this.getClass() != obj.getClass()) { - return false; - } ActiveRuleParam other = (ActiveRuleParam) obj; return other.getKey().equals(getKey()); } diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/debt/internal/DefaultDebtRemediationFunction.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/debt/internal/DefaultDebtRemediationFunction.java index 1445f50883d0..d9ac5cb78139 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/server/debt/internal/DefaultDebtRemediationFunction.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/debt/internal/DefaultDebtRemediationFunction.java @@ -101,12 +101,12 @@ private void validate() { @Override public boolean equals(Object o) { + if (!(o instanceof DefaultDebtRemediationFunction)) { + return false; + } if (this == o) { return true; } - if (this.getClass() != o.getClass()) { - return false; - } DefaultDebtRemediationFunction other = (DefaultDebtRemediationFunction) o; return new EqualsBuilder() .append(coefficient, other.coefficient())