From 54754031e4bc25deb2386e3e53f9ce59a65ec8c1 Mon Sep 17 00:00:00 2001
From: Joze RIHTARSIC <joze.rihtarsic@ext.ec.europa.eu>
Date: Thu, 30 Aug 2018 08:21:08 +0200
Subject: [PATCH] update sonar warnings

---
 .../smp/conversion/ServiceGroupConverter.java | 11 +++++--
 .../conversion/ServiceMetadataConverter.java  |  9 ++++-
 .../ec/edelivery/smp/data/model/DBDomain.java |  1 -
 .../edelivery/smp/data/model/DBOwnership.java |  1 -
 .../smp/data/model/DBServiceGroup.java        |  3 +-
 .../smp/data/model/DBServiceMetadata.java     |  1 -
 .../ec/edelivery/smp/data/ui/DomainRO.java    | 18 ++++++++++
 .../edelivery/smp/data/ui/ServiceGroupRO.java | 33 +++++++++++++++++--
 .../smp/data/ui/ServiceMetadataRO.java        | 21 ++++++++++--
 .../edelivery/smp/data/ui/ServiceResult.java  |  6 ++--
 .../ec/edelivery/smp/data/ui/UserRO.java      | 17 +++++++++-
 11 files changed, 106 insertions(+), 15 deletions(-)

diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceGroupConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceGroupConverter.java
index c7e1b17a2..7a3f18f9a 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceGroupConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceGroupConverter.java
@@ -42,6 +42,13 @@ import static java.nio.charset.StandardCharsets.UTF_8;
  */
 public class ServiceGroupConverter {
 
+    /**
+     * Class has only static members.
+     */
+    private  ServiceGroupConverter() {
+
+    }
+
     private static final String PARSER_DISALLOW_DTD_PARSING_FEATURE = "http://apache.org/xml/features/disallow-doctype-decl";
 
     private static final ThreadLocal<Unmarshaller> jaxbUnmarshaller = ThreadLocal.withInitial( () -> {
@@ -49,12 +56,12 @@ public class ServiceGroupConverter {
             JAXBContext jaxbContext = JAXBContext.newInstance(ServiceGroup.class);
             return jaxbContext.createUnmarshaller();
         }catch(JAXBException ex) {
-            throw new RuntimeException("Could not create ServiceGroup Unmarshaller!");
+            throw new RuntimeException("Could not create ServiceGroup Unmarshaller!", ex);
         }
     } );
 
 
-    private static Unmarshaller getUnmarshaller() throws JAXBException {
+    private static Unmarshaller getUnmarshaller() {
         return jaxbUnmarshaller.get();
     }
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceMetadataConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceMetadataConverter.java
index 7be652de1..226f3693f 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceMetadataConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceMetadataConverter.java
@@ -42,6 +42,13 @@ import static java.nio.charset.StandardCharsets.UTF_8;
  */
 public class ServiceMetadataConverter {
 
+    /**
+     * Class has only static members. Is not ment to create instances  - also SONAR warning.
+     */
+    private  ServiceMetadataConverter() {
+
+    }
+
     private static final String NS = "http://docs.oasis-open.org/bdxr/ns/SMP/2016/05";
     private static final String DOC_SIGNED_SERVICE_METADATA_EMPTY = "<SignedServiceMetadata xmlns=\""+NS+"\"/>";
     private static final String PARSER_DISALLOW_DTD_PARSING_FEATURE = "http://apache.org/xml/features/disallow-doctype-decl";
@@ -55,7 +62,7 @@ public class ServiceMetadataConverter {
         }
     } );
 
-    private static Unmarshaller getUnmarshaller() throws JAXBException {
+    private static Unmarshaller getUnmarshaller() {
         return jaxbUnmarshaller.get();
     }
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBDomain.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBDomain.java
index cfbdf0dc5..2980e89ee 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBDomain.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBDomain.java
@@ -20,7 +20,6 @@ import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.Table;
 
-import java.io.Serializable;
 
 import static eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths.MAX_FREE_TEXT_LENGTH;
 import static eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths.MAX_IDENTIFIER_VALUE_LENGTH;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBOwnership.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBOwnership.java
index e50d6638f..8a505b358 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBOwnership.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBOwnership.java
@@ -16,7 +16,6 @@ package eu.europa.ec.edelivery.smp.data.model;
 import org.hibernate.envers.Audited;
 
 import javax.persistence.*;
-import java.io.Serializable;
 
 @Entity
 @Table (name = "smp_ownership")
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroup.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroup.java
index c21364480..171c788aa 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroup.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroup.java
@@ -16,7 +16,6 @@ package eu.europa.ec.edelivery.smp.data.model;
 import org.hibernate.envers.Audited;
 
 import javax.persistence.*;
-import java.io.Serializable;
 import java.util.HashSet;
 import java.util.Set;
 
@@ -31,7 +30,7 @@ public class DBServiceGroup implements BaseEntity {
     private DBServiceGroupId serviceGroupId;
     private String extension;
     private Set<DBOwnership> ownerships = new HashSet<>();
-    private Set<DBServiceMetadata> serviceMetadatas = new HashSet<DBServiceMetadata>();
+    private Set<DBServiceMetadata> serviceMetadatas = new HashSet<>();
     private DBDomain domain;
 
     public DBServiceGroup() {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceMetadata.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceMetadata.java
index 8c474d6f3..3a157ef69 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceMetadata.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceMetadata.java
@@ -16,7 +16,6 @@ package eu.europa.ec.edelivery.smp.data.model;
 import org.hibernate.envers.Audited;
 
 import javax.persistence.*;
-import java.io.Serializable;
 
 import static javax.persistence.FetchType.EAGER;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java
index 2f21c65c0..eeb03eb29 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java
@@ -3,6 +3,7 @@ package eu.europa.ec.edelivery.smp.data.ui;
 
 import javax.persistence.*;
 import java.io.Serializable;
+import java.util.Objects;
 
 import static eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths.MAX_IDENTIFIER_VALUE_LENGTH;
 import static eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths.MAX_USERNAME_LENGTH;
@@ -16,6 +17,8 @@ import static eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths.MAX_USE
 @Table(name = "smp_domain")
 public class DomainRO implements Serializable {
 
+
+    private static final long serialVersionUID = -9008583888835630560L;
     @Id
     @Column(name = "domainId")
     private String domainId;
@@ -81,4 +84,19 @@ public class DomainRO implements Serializable {
     public void setSignatureCertAlias(String signatureCertAlias) {
         this.signatureCertAlias = signatureCertAlias;
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        DomainRO domainRO = (DomainRO) o;
+        return Objects.equals(domainId, domainRO.domainId) &&
+                Objects.equals(bdmslSmpId, domainRO.bdmslSmpId);
+    }
+
+    @Override
+    public int hashCode() {
+
+        return Objects.hash(domainId, bdmslSmpId);
+    }
 }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupRO.java
index 40a1513e1..3f7dba5df 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupRO.java
@@ -6,6 +6,7 @@ import lombok.ToString;
 
 import javax.persistence.*;
 import java.io.Serializable;
+import java.util.Objects;
 
 /**
  * @author Joze Rihtarsic
@@ -17,6 +18,7 @@ import java.io.Serializable;
 public class ServiceGroupRO implements Serializable {
 
 
+    private static final long serialVersionUID = -7523221767041516157L;
     @EmbeddedId
     ServiceGroupROId serviceGroupROId;
 
@@ -41,10 +43,23 @@ public class ServiceGroupRO implements Serializable {
 
 
 
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        ServiceGroupRO that = (ServiceGroupRO) o;
+        return Objects.equals(serviceGroupROId, that.serviceGroupROId);
+    }
+
+    @Override
+    public int hashCode() {
+
+        return Objects.hash(serviceGroupROId);
+    }
+
     @Embeddable
-    @ToString
-    @EqualsAndHashCode
     public static class ServiceGroupROId implements Serializable {
+        private static final long serialVersionUID = 7895751676689305736L;
         @Column(name = "businessIdentifier")
         private String participantId;
         @Column(name = "businessIdentifierScheme")
@@ -75,5 +90,19 @@ public class ServiceGroupRO implements Serializable {
             this.participantSchema = participanSchema;
         }
 
+        @Override
+        public boolean equals(Object o) {
+            if (this == o) return true;
+            if (o == null || getClass() != o.getClass()) return false;
+            ServiceGroupROId that = (ServiceGroupROId) o;
+            return Objects.equals(participantId, that.participantId) &&
+                    Objects.equals(participantSchema, that.participantSchema);
+        }
+
+        @Override
+        public int hashCode() {
+
+            return Objects.hash(participantId, participantSchema);
+        }
     }
 }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataRO.java
index 1259971a3..4b2cfdd0e 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataRO.java
@@ -6,6 +6,7 @@ import lombok.ToString;
 
 import javax.persistence.*;
 import java.io.Serializable;
+import java.util.Objects;
 
 /**
  * @author Joze Rihtarsic
@@ -17,6 +18,7 @@ import java.io.Serializable;
 public class ServiceMetadataRO implements Serializable {
 
 
+    private static final long serialVersionUID = 67944640449327185L;
     @EmbeddedId
     ServiceMetadataROId serviceMetadataROId;
 
@@ -29,9 +31,8 @@ public class ServiceMetadataRO implements Serializable {
     }
 
     @Embeddable
-    @ToString
-    @EqualsAndHashCode
     public static class ServiceMetadataROId implements Serializable {
+        private static final long serialVersionUID = -123975468926638078L;
         @Column(name = "businessIdentifier")
         private String participantId;
         @Column(name = "businessIdentifierScheme")
@@ -82,5 +83,21 @@ public class ServiceMetadataRO implements Serializable {
         public void setDocumentIdValue(String documentIdValue) {
             this.documentIdValue = documentIdValue;
         }
+
+        @Override
+        public boolean equals(Object o) {
+            if (this == o) return true;
+            if (o == null || getClass() != o.getClass()) return false;
+            ServiceMetadataROId that = (ServiceMetadataROId) o;
+            return Objects.equals(participantId, that.participantId) &&
+                    Objects.equals(participantSchema, that.participantSchema) &&
+                    Objects.equals(documentIdScheme, that.documentIdScheme) &&
+                    Objects.equals(documentIdValue, that.documentIdValue);
+        }
+
+        @Override
+        public int hashCode() {
+            return Objects.hash(participantId, participantSchema, documentIdScheme, documentIdValue);
+        }
     }
 }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceResult.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceResult.java
index 95214753d..eaf5b0345 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceResult.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceResult.java
@@ -11,8 +11,10 @@ import java.util.Map;
  */
 public class  ServiceResult<T> implements Serializable {
 
+    private static final long serialVersionUID = -4971552086560325302L;
+
     private Map<String, Object> filter; //NOSONAR
-    private List<T> serviceEntities;
+    private List<T> serviceEntities; //NOSONAR
 
 
     private Long count;
@@ -29,7 +31,7 @@ public class  ServiceResult<T> implements Serializable {
 
     public List<T> getServiceEntities() {
         if (serviceEntities == null) {
-            serviceEntities = new ArrayList<T>();
+            serviceEntities = new ArrayList<>();
         }
         return serviceEntities;
     }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/UserRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/UserRO.java
index 5dde5143d..0547cec7f 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/UserRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/UserRO.java
@@ -6,6 +6,7 @@ import lombok.ToString;
 
 import javax.persistence.*;
 import java.io.Serializable;
+import java.util.Objects;
 
 import static eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths.MAX_USERNAME_LENGTH;
 
@@ -19,7 +20,7 @@ import static eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths.MAX_USE
 public class UserRO implements Serializable {
 
 
-
+    private static final long serialVersionUID = -4971552086560325302L;
     @Id
     @Column(name = "username")
     private String username;
@@ -61,4 +62,18 @@ public class UserRO implements Serializable {
     public void setAdmin(boolean admin) {
         isAdmin = admin;
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        UserRO userRO = (UserRO) o;
+        return Objects.equals(username, userRO.username);
+    }
+
+    @Override
+    public int hashCode() {
+
+        return Objects.hash(username);
+    }
 }
-- 
GitLab