From a77e17fea11bc455af23201260a727c76e919b37 Mon Sep 17 00:00:00 2001 From: Lars Johansson <lars.johansson@ess.eu> Date: Wed, 23 Nov 2022 18:23:29 +0100 Subject: [PATCH] Fix issues as noted by SonarLint "equals(Object obj)" and "hashCode()" should be overridden in pairs --- .../names/repository/model/DeviceGroup.java | 12 ++++++++++++ .../openepics/names/repository/model/DeviceType.java | 12 ++++++++++++ .../openepics/names/repository/model/Discipline.java | 5 +++++ .../org/openepics/names/repository/model/Name.java | 12 ++++++++++++ .../names/repository/model/NameStructure.java | 6 +++++- .../names/repository/model/Persistable.java | 6 ++++++ .../openepics/names/repository/model/Structure.java | 11 +++++++++++ .../openepics/names/repository/model/Subsystem.java | 12 ++++++++++++ .../org/openepics/names/repository/model/System.java | 12 ++++++++++++ .../names/repository/model/SystemGroup.java | 5 +++++ .../names/rest/beans/element/NameElement.java | 11 +++++++++++ .../names/rest/beans/element/NameElementCommand.java | 8 ++++++++ .../names/rest/beans/element/StructureElement.java | 10 ++++++++++ .../rest/beans/element/StructureElementCommand.java | 8 ++++++++ 14 files changed, 129 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/openepics/names/repository/model/DeviceGroup.java b/src/main/java/org/openepics/names/repository/model/DeviceGroup.java index f1828215..0fb5feb9 100644 --- a/src/main/java/org/openepics/names/repository/model/DeviceGroup.java +++ b/src/main/java/org/openepics/names/repository/model/DeviceGroup.java @@ -19,6 +19,7 @@ package org.openepics.names.repository.model; import java.util.Date; +import java.util.Objects; import java.util.UUID; import javax.persistence.Column; @@ -124,6 +125,17 @@ public class DeviceGroup extends Structure { return false; } + @Override + public int hashCode() { + return Objects.hash( + getId(), getVersion(), + getUuid(), getDescription(), getStatus(), isLatest(), isDeleted(), + getRequested(), getRequestedBy(), getRequestedComment(), + getProcessed(), getProcessedBy(), getProcessedComment(), + getName(), getMnemonic(), getMnemonicEquivalence(), + getParentUuid()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/repository/model/DeviceType.java b/src/main/java/org/openepics/names/repository/model/DeviceType.java index ece1a8a8..8c58a263 100644 --- a/src/main/java/org/openepics/names/repository/model/DeviceType.java +++ b/src/main/java/org/openepics/names/repository/model/DeviceType.java @@ -19,6 +19,7 @@ package org.openepics.names.repository.model; import java.util.Date; +import java.util.Objects; import java.util.UUID; import javax.persistence.Column; @@ -124,6 +125,17 @@ public class DeviceType extends Structure { return false; } + @Override + public int hashCode() { + return Objects.hash( + getId(), getVersion(), + getUuid(), getDescription(), getStatus(), isLatest(), isDeleted(), + getRequested(), getRequestedBy(), getRequestedComment(), + getProcessed(), getProcessedBy(), getProcessedComment(), + getName(), getMnemonic(), getMnemonicEquivalence(), + getParentUuid()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/repository/model/Discipline.java b/src/main/java/org/openepics/names/repository/model/Discipline.java index be9ff32d..10601435 100644 --- a/src/main/java/org/openepics/names/repository/model/Discipline.java +++ b/src/main/java/org/openepics/names/repository/model/Discipline.java @@ -101,6 +101,11 @@ public class Discipline extends Structure { return false; } + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/repository/model/Name.java b/src/main/java/org/openepics/names/repository/model/Name.java index 09be7a46..32ed6c29 100644 --- a/src/main/java/org/openepics/names/repository/model/Name.java +++ b/src/main/java/org/openepics/names/repository/model/Name.java @@ -20,6 +20,7 @@ package org.openepics.names.repository.model; import java.io.Serializable; import java.util.Date; +import java.util.Objects; import java.util.UUID; import javax.persistence.Column; @@ -221,6 +222,17 @@ public class Name extends NameStructure implements Serializable { return false; } + @Override + public int hashCode() { + return Objects.hash( + getId(), getVersion(), + getUuid(), getDescription(), getStatus(), isLatest(), isDeleted(), + getRequested(), getRequestedBy(), getRequestedComment(), + getProcessed(), getProcessedBy(), getProcessedComment(), + getSystemgroupUuid(), getSystemUuid(), getSubsystemUuid(), getDevicetypeUuid(), getInstanceIndex(), + getConventionName(), getConventionNameEquivalence()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/repository/model/NameStructure.java b/src/main/java/org/openepics/names/repository/model/NameStructure.java index 1e143c33..c1c6a391 100644 --- a/src/main/java/org/openepics/names/repository/model/NameStructure.java +++ b/src/main/java/org/openepics/names/repository/model/NameStructure.java @@ -232,7 +232,11 @@ public class NameStructure extends Persistable implements Serializable { @Override public int hashCode() { - return Objects.hash(getUuid()); + return Objects.hash( + getId(), getVersion(), + getUuid(), getDescription(), getStatus(), isLatest(), isDeleted(), + getRequested(), getRequestedBy(), getRequestedComment(), + getProcessed(), getProcessedBy(), getProcessedComment()); } } diff --git a/src/main/java/org/openepics/names/repository/model/Persistable.java b/src/main/java/org/openepics/names/repository/model/Persistable.java index 99f23e63..d10763ed 100644 --- a/src/main/java/org/openepics/names/repository/model/Persistable.java +++ b/src/main/java/org/openepics/names/repository/model/Persistable.java @@ -21,6 +21,7 @@ package org.openepics.names.repository.model; import javax.annotation.Nullable; import javax.persistence.*; import java.io.Serializable; +import java.util.Objects; /** * A superclass implementing the properties required by JPA. It that should be extended by all classes that need to be @@ -85,4 +86,9 @@ public class Persistable implements Serializable { return true; } + @Override + public int hashCode() { + return Objects.hash(getId(), getVersion()); + } + } diff --git a/src/main/java/org/openepics/names/repository/model/Structure.java b/src/main/java/org/openepics/names/repository/model/Structure.java index 86003f23..1d63b6b6 100644 --- a/src/main/java/org/openepics/names/repository/model/Structure.java +++ b/src/main/java/org/openepics/names/repository/model/Structure.java @@ -20,6 +20,7 @@ package org.openepics.names.repository.model; import java.io.Serializable; import java.util.Date; +import java.util.Objects; import java.util.UUID; import javax.persistence.Column; @@ -168,4 +169,14 @@ public class Structure extends NameStructure implements Serializable { return false; } + @Override + public int hashCode() { + return Objects.hash( + getId(), getVersion(), + getUuid(), getDescription(), getStatus(), isLatest(), isDeleted(), + getRequested(), getRequestedBy(), getRequestedComment(), + getProcessed(), getProcessedBy(), getProcessedComment(), + getName(), getMnemonic(), getMnemonicEquivalence()); + } + } diff --git a/src/main/java/org/openepics/names/repository/model/Subsystem.java b/src/main/java/org/openepics/names/repository/model/Subsystem.java index d34ac382..f0d526a7 100644 --- a/src/main/java/org/openepics/names/repository/model/Subsystem.java +++ b/src/main/java/org/openepics/names/repository/model/Subsystem.java @@ -19,6 +19,7 @@ package org.openepics.names.repository.model; import java.util.Date; +import java.util.Objects; import java.util.UUID; import javax.persistence.Column; @@ -124,6 +125,17 @@ public class Subsystem extends Structure { return false; } + @Override + public int hashCode() { + return Objects.hash( + getId(), getVersion(), + getUuid(), getDescription(), getStatus(), isLatest(), isDeleted(), + getRequested(), getRequestedBy(), getRequestedComment(), + getProcessed(), getProcessedBy(), getProcessedComment(), + getName(), getMnemonic(), getMnemonicEquivalence(), + getParentUuid()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/repository/model/System.java b/src/main/java/org/openepics/names/repository/model/System.java index deb24e73..b2296ac5 100644 --- a/src/main/java/org/openepics/names/repository/model/System.java +++ b/src/main/java/org/openepics/names/repository/model/System.java @@ -19,6 +19,7 @@ package org.openepics.names.repository.model; import java.util.Date; +import java.util.Objects; import java.util.UUID; import javax.persistence.Column; @@ -124,6 +125,17 @@ public class System extends Structure { return false; } + @Override + public int hashCode() { + return Objects.hash( + getId(), getVersion(), + getUuid(), getDescription(), getStatus(), isLatest(), isDeleted(), + getRequested(), getRequestedBy(), getRequestedComment(), + getProcessed(), getProcessedBy(), getProcessedComment(), + getName(), getMnemonic(), getMnemonicEquivalence(), + getParentUuid()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/repository/model/SystemGroup.java b/src/main/java/org/openepics/names/repository/model/SystemGroup.java index 3428d644..4109cc03 100644 --- a/src/main/java/org/openepics/names/repository/model/SystemGroup.java +++ b/src/main/java/org/openepics/names/repository/model/SystemGroup.java @@ -101,6 +101,11 @@ public class SystemGroup extends Structure { return false; } + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/rest/beans/element/NameElement.java b/src/main/java/org/openepics/names/rest/beans/element/NameElement.java index ce04ff51..b8fe7347 100644 --- a/src/main/java/org/openepics/names/rest/beans/element/NameElement.java +++ b/src/main/java/org/openepics/names/rest/beans/element/NameElement.java @@ -20,6 +20,7 @@ package org.openepics.names.rest.beans.element; import java.io.Serializable; import java.util.Date; +import java.util.Objects; import java.util.UUID; import org.openepics.names.rest.beans.Status; @@ -231,6 +232,16 @@ public class NameElement extends NameElementCommand implements Serializable { return true; } + @Override + public int hashCode() { + return Objects.hash( + getUuid(), getParentsystemstructure(), getParentdevicestructure(), getIndex(), + getDescription(), getComment(), + getSystemstructure(), getDevicestructure(), + getName(), getStatus(), isLatest(), isDeleted(), + getWhen(), getWho()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/rest/beans/element/NameElementCommand.java b/src/main/java/org/openepics/names/rest/beans/element/NameElementCommand.java index ece8e29f..25f24abc 100644 --- a/src/main/java/org/openepics/names/rest/beans/element/NameElementCommand.java +++ b/src/main/java/org/openepics/names/rest/beans/element/NameElementCommand.java @@ -19,6 +19,7 @@ package org.openepics.names.rest.beans.element; import java.io.Serializable; +import java.util.Objects; import java.util.UUID; import io.swagger.v3.oas.annotations.media.Schema; @@ -172,6 +173,13 @@ public class NameElementCommand implements Serializable { return true; } + @Override + public int hashCode() { + return Objects.hash( + getUuid(), getParentsystemstructure(), getParentdevicestructure(), getIndex(), + getDescription(), getComment()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/rest/beans/element/StructureElement.java b/src/main/java/org/openepics/names/rest/beans/element/StructureElement.java index 06e084c3..5f2dc7c1 100644 --- a/src/main/java/org/openepics/names/rest/beans/element/StructureElement.java +++ b/src/main/java/org/openepics/names/rest/beans/element/StructureElement.java @@ -20,6 +20,7 @@ package org.openepics.names.rest.beans.element; import java.io.Serializable; import java.util.Date; +import java.util.Objects; import java.util.UUID; import org.openepics.names.rest.beans.Status; @@ -220,6 +221,15 @@ public class StructureElement extends StructureElementCommand implements Seriali return true; } + @Override + public int hashCode() { + return Objects.hash( + getUuid(), getType(), getParent(), + getName(), getMnemonic(), getDescription(), getComment(), + getMnemonicpath(), getLevel(), getStatus(), isLatest(), isDeleted(), + getWhen(), getWho()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/openepics/names/rest/beans/element/StructureElementCommand.java b/src/main/java/org/openepics/names/rest/beans/element/StructureElementCommand.java index 18a087af..67a9cb31 100644 --- a/src/main/java/org/openepics/names/rest/beans/element/StructureElementCommand.java +++ b/src/main/java/org/openepics/names/rest/beans/element/StructureElementCommand.java @@ -19,6 +19,7 @@ package org.openepics.names.rest.beans.element; import java.io.Serializable; +import java.util.Objects; import java.util.UUID; import org.openepics.names.rest.beans.Type; @@ -186,6 +187,13 @@ public class StructureElementCommand implements Serializable { return true; } + @Override + public int hashCode() { + return Objects.hash( + getUuid(), getType(), getParent(), + getName(), getMnemonic(), getDescription(), getComment()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); -- GitLab