diff --git a/dspace-api/src/main/java/org/dspace/app/statistics/Stat.java b/dspace-api/src/main/java/org/dspace/app/statistics/Stat.java index 717c8d666c..ea7320549e 100644 --- a/dspace-api/src/main/java/org/dspace/app/statistics/Stat.java +++ b/dspace-api/src/main/java/org/dspace/app/statistics/Stat.java @@ -15,7 +15,7 @@ package org.dspace.app.statistics; * * @author Richard Jones */ -public class Stat implements Comparable { +public class Stat implements Comparable { // FIXME: this class is functional but a bit messy, and should be neatened // up and completed @@ -132,17 +132,17 @@ public class Stat implements Comparable { /** - * compare the current object to the given object returning -1 if o is less - * than the current object, 0 if they are the same, and +1 if o is greater - * than the current object. + * Compare the current Stat to the given Stat returning -1 if o is less + * than the current Stat, 0 if they are the same, and +1 if o is greater + * than the current Stat. * - * @param o the object to compare to the current one + * @param stat the Stat object to compare to the current one * @return +1, 0, -1 if o is less than, equal to, or greater than the * current object value. */ @Override - public int compareTo(Object o) { - int objectValue = ((Stat) o).getValue(); + public int compareTo(Stat stat) { + int objectValue = stat.getValue(); if (objectValue < this.getValue()) { return -1; diff --git a/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoverySortFieldConfiguration.java b/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoverySortFieldConfiguration.java index 37e024515a..bda2e780ba 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoverySortFieldConfiguration.java +++ b/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoverySortFieldConfiguration.java @@ -7,6 +7,7 @@ */ package org.dspace.discovery.configuration; +import org.apache.commons.lang3.builder.HashCodeBuilder; import org.springframework.beans.factory.annotation.Required; /** @@ -46,4 +47,11 @@ public class DiscoverySortFieldConfiguration { return false; } + @Override + public int hashCode() { + return new HashCodeBuilder(3, 19) + .append(this.getMetadataField()) + .append(this.getType()) + .toHashCode(); + } } diff --git a/dspace-api/src/main/java/org/dspace/scripts/DSpaceCommandLineParameter.java b/dspace-api/src/main/java/org/dspace/scripts/DSpaceCommandLineParameter.java index 0615aaace3..2862d014c9 100644 --- a/dspace-api/src/main/java/org/dspace/scripts/DSpaceCommandLineParameter.java +++ b/dspace-api/src/main/java/org/dspace/scripts/DSpaceCommandLineParameter.java @@ -11,6 +11,7 @@ import java.util.List; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.HashCodeBuilder; /** * This class serves as a representation of a command line parameter by holding a String name and a String value @@ -95,6 +96,7 @@ public class DSpaceCommandLineParameter { * @param other The other object * @return A boolean indicating equality */ + @Override public boolean equals(Object other) { if (other == null) { return false; @@ -105,4 +107,12 @@ public class DSpaceCommandLineParameter { return StringUtils.equals(this.getName(), ((DSpaceCommandLineParameter) other).getName()) && StringUtils .equals(this.getValue(), ((DSpaceCommandLineParameter) other).getValue()); } + + @Override + public int hashCode() { + return new HashCodeBuilder(5, 17) + .append(this.getName()) + .append(this.getValue()) + .toHashCode(); + } } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/model/MetadataRest.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/model/MetadataRest.java index 23474e793e..d1367c8fea 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/model/MetadataRest.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/model/MetadataRest.java @@ -14,6 +14,7 @@ import java.util.TreeMap; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import org.apache.commons.lang3.builder.HashCodeBuilder; /** * Rest representation of a map of metadata keys to ordered lists of values. @@ -66,4 +67,11 @@ public class MetadataRest { public boolean equals(Object object) { return object instanceof MetadataRest && ((MetadataRest) object).getMap().equals(map); } -} \ No newline at end of file + + @Override + public int hashCode() { + return new HashCodeBuilder(7, 37) + .append(this.getMap()) + .toHashCode(); + } +} diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/model/SubmissionVisibilityRest.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/model/SubmissionVisibilityRest.java index 40f71a97f4..d7a35b7760 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/model/SubmissionVisibilityRest.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/model/SubmissionVisibilityRest.java @@ -10,6 +10,8 @@ package org.dspace.app.rest.model; import java.util.Objects; +import org.apache.commons.lang3.builder.HashCodeBuilder; + /** * The SubmissionVisibility REST Resource. It is not addressable directly, only * used as inline object in the SubmissionPanel resource and SubmissionForm's fields @@ -49,4 +51,12 @@ public class SubmissionVisibilityRest { } return super.equals(obj); } + + @Override + public int hashCode() { + return new HashCodeBuilder(5, 31) + .append(this.getMain()) + .append(this.getOther()) + .toHashCode(); + } } diff --git a/pom.xml b/pom.xml index 0579dfa19e..9153dfbf33 100644 --- a/pom.xml +++ b/pom.xml @@ -1512,6 +1512,7 @@ com.google.errorprone error_prone_core ${errorprone.version} + compile