diff --git a/pom.xml b/pom.xml
index cd4629a8a4d1c60b757ac3b5a821a05f22b37049..883c4561104810e15cf33d7496abc5c3dd42eab2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -121,6 +121,7 @@
         <sonar.coverage.exclusions>
             **/*Entity.java,
             **/*RO.java,
+            **/DB*.java,
             **/*Exception.java,
             **/*Types.java,
             **/*Constants.java,
diff --git a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/DomiSMPResourceExampleExtensionTest.java b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/DomiSMPResourceExampleExtensionTest.java
index 1aa002e618661fdc68b6005d86cbefacb4f1006a..10417d2c51bed662a898b179f40c5f46b4a7cd3b 100644
--- a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/DomiSMPResourceExampleExtensionTest.java
+++ b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/DomiSMPResourceExampleExtensionTest.java
@@ -9,7 +9,7 @@ import org.mockito.Mockito;
 
 import java.util.List;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 
 class DomiSMPResourceExampleExtensionTest {
diff --git a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/def/DomiSMPJsonResourceExampleTest.java b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/def/DomiSMPJsonResourceExampleTest.java
index 9cfed6fa76ce82b16f514a0629ad8cd08d6f0c1f..67bde7942132b31bc928b42bc0d99bc0f4f9f46a 100644
--- a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/def/DomiSMPJsonResourceExampleTest.java
+++ b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/def/DomiSMPJsonResourceExampleTest.java
@@ -10,7 +10,8 @@ import org.mockito.Mockito;
 
 import java.util.List;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class DomiSMPJsonResourceExampleTest {
 
diff --git a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/handler/AbstractHandlerTest.java b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/handler/AbstractHandlerTest.java
index 5985697e38c7ed4a7b084141bbdf0b809be8e9da..34c6c5a911f0cfb983ffccf7e901fe14e789c59d 100644
--- a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/handler/AbstractHandlerTest.java
+++ b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/handler/AbstractHandlerTest.java
@@ -108,8 +108,6 @@ abstract class AbstractHandlerTest {
         Mockito.doReturn(bios).when(requestData).getResourceInputStream();
         Mockito.doReturn(resourceIdentifier).when(mockSmpIdentifierServiceApi).normalizeResourceIdentifier(Mockito.anyString(), Mockito.anyString());
         getTestInstance().validateResource(requestData);
-
-        System.out.println("Generated resource: " + new String(baos.toByteArray()));
     }
 
     abstract AbstractHandler getTestInstance();
diff --git a/smp-resource-extensions/oasis-cppa3-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisCppa3CppHandler.java b/smp-resource-extensions/oasis-cppa3-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisCppa3CppHandler.java
index f3f01712b5b2c7c5d8be1617fb9d2b88678646a5..28ea8a09d49f46a8b2d9cb9a3e58e1653fd36080 100644
--- a/smp-resource-extensions/oasis-cppa3-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisCppa3CppHandler.java
+++ b/smp-resource-extensions/oasis-cppa3-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisCppa3CppHandler.java
@@ -20,7 +20,6 @@ import org.w3c.dom.Document;
 import org.xml.sax.SAXException;
 
 import javax.xml.XMLConstants;
-import javax.xml.bind.JAXBElement;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerConfigurationException;
 import javax.xml.transform.TransformerException;
diff --git a/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/OasisCPPA3ExtensionTest.java b/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/OasisCPPA3ExtensionTest.java
index 216c5792b1afc14d92cbd9e0668659f1925d068b..b7e74c027aa234bdb0f4ba455566de9e0e6e0f0a 100644
--- a/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/OasisCPPA3ExtensionTest.java
+++ b/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/OasisCPPA3ExtensionTest.java
@@ -7,7 +7,7 @@ import org.mockito.Mockito;
 
 import java.util.List;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class OasisCPPA3ExtensionTest {
     OasisCppaCppDocument mockOasisCppaCppDocument = Mockito.mock(OasisCppaCppDocument.class);
diff --git a/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisCppaCppDocumentTest.java b/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisCppaCppDocumentTest.java
index ad2430b6f485a90f8510add210e8d21aad29d765..4985468e8537d55971c4fdb1ce9559c3837a7da1 100644
--- a/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisCppaCppDocumentTest.java
+++ b/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisCppaCppDocumentTest.java
@@ -1,6 +1,5 @@
 package eu.europa.ec.smp.spi.def;
 
-import eu.europa.ec.smp.spi.OasisCPPA3Extension;
 import eu.europa.ec.smp.spi.handler.OasisCppa3CppHandler;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import eu.europa.ec.smp.spi.resource.SubresourceDefinitionSpi;
@@ -11,7 +10,8 @@ import org.mockito.Mockito;
 
 import java.util.List;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class OasisCppaCppDocumentTest {
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/AbstractOasisSMPHandler.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/AbstractOasisSMPHandler.java
index f0ffb70f50430b50e335c1f3e50c9870a855ff34..66bc7466fcb762d17b4607f17b8db3716d35e6d8 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/AbstractOasisSMPHandler.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/AbstractOasisSMPHandler.java
@@ -2,7 +2,6 @@ package eu.europa.ec.smp.spi.handler;
 
 import eu.europa.ec.smp.spi.api.model.RequestData;
 import eu.europa.ec.smp.spi.api.model.ResourceIdentifier;
-import eu.europa.ec.smp.spi.api.model.ResponseData;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import org.apache.commons.lang3.StringUtils;
@@ -10,7 +9,6 @@ import org.apache.commons.lang3.StringUtils;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.List;
 
 /**
  * The abstract class with common methods for implementation of the  ResourceHandlerSpi.
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java
index 5cef9ff847c4c97852bec88753ff2971715f2214..d269d2b61f6948d46b65b1e8e86cea71230031e1 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java
@@ -4,12 +4,11 @@ import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10;
 import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup20;
 import eu.europa.ec.smp.spi.resource.ResourceDefinitionSpi;
 import org.junit.jupiter.api.Test;
-import org.mockito.Mock;
 import org.mockito.Mockito;
 
 import java.util.List;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class OasisSMPExtensionTest {
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java
index 4eb083c284bdab068ccde4716d0f6d71f20a3726..f5c18722adbaebc2cb9c8dc92400d017cce5be4d 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java
@@ -23,7 +23,8 @@ import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
 
 /**
  * Created by gutowpa on 11/04/2017.
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java
index 68812bd907ee5c58aff86ed72d06ae653944a063..7d682685d4421ec18f390b633b1cda3734c24cae 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java
@@ -30,7 +30,6 @@ import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
 import java.io.ByteArrayInputStream;
-import java.util.Arrays;
 
 import static org.junit.Assert.assertThrows;
 import static org.junit.jupiter.api.Assertions.*;
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java
index 60b7b7f692486725ed0cc28b01f3f0ef9dc32ae4..e6fd163d60dba48872e871a0504335aeaad09c97 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java
@@ -10,11 +10,11 @@ import org.mockito.Mockito;
 
 import java.util.List;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class OasisSMPServiceGroup10Test {
 
-    OasisSMPServiceGroup10Handler mockOasisSMPServiceGroup10Handler  = Mockito.mock(OasisSMPServiceGroup10Handler.class);;
+    OasisSMPServiceGroup10Handler mockOasisSMPServiceGroup10Handler  = Mockito.mock(OasisSMPServiceGroup10Handler.class);
     OasisSMPServiceMetadata10 mockOasisSMPServiceMetadata10  = Mockito.mock(OasisSMPServiceMetadata10.class);
 
     OasisSMPServiceGroup10 testInstance = new OasisSMPServiceGroup10(mockOasisSMPServiceGroup10Handler,mockOasisSMPServiceMetadata10 );
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java
index 95981d128a305f563c399450d11dd8faa19b9448..4e7045e66d040954da84d0ba239aa33400985f65 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java
@@ -14,7 +14,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class OasisSMPServiceGroup20Test {
     OasisSMPServiceGroup20Handler mockOasisSMPServiceGroup20Handler = Mockito.mock(OasisSMPServiceGroup20Handler.class);
-    ;
     OasisSMPServiceMetadata20 mockOasisSMPServiceMetadata20 = Mockito.mock(OasisSMPServiceMetadata20.class);
 
     OasisSMPServiceGroup20 testInstance = new OasisSMPServiceGroup20(mockOasisSMPServiceGroup20Handler, mockOasisSMPServiceMetadata20);
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java
index 63a85ce038c15173cd8b716a8d79a7f54e0476f3..5c0f37bafc245e89b0dd0737f50108b58b0bcfc5 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java
@@ -7,7 +7,7 @@ import org.hamcrest.MatcherAssert;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class OasisSMPServiceMetadata10Test {
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java
index ed7db215f05cec423def22fada0cfc434606a867..e921ed4291719b486f60855c2d56d342defc08aa 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java
@@ -2,11 +2,9 @@ package eu.europa.ec.smp.spi.handler;
 
 import eu.europa.ec.smp.spi.api.model.ResourceIdentifier;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
-import eu.europa.ec.smp.spi.validation.ServiceMetadata10Validator;
 import eu.europa.ec.smp.spi.validation.ServiceMetadata20Validator;
 import org.hamcrest.MatcherAssert;
 import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
 
 import static org.junit.Assert.assertThrows;
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/testutils/XmlTestUtils.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/testutils/XmlTestUtils.java
index dbfd05d44a060bba56847f36cd8d0a79bf9dc8fc..17401d976daf54b0c359f4d1fc9f484633f2980e 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/testutils/XmlTestUtils.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/testutils/XmlTestUtils.java
@@ -33,6 +33,7 @@ import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 import java.io.*;
 import java.net.URISyntaxException;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 
@@ -49,7 +50,7 @@ public class XmlTestUtils {
 
     public static String loadDocumentAsString(String docResourcePath) throws IOException, URISyntaxException {
         byte[] value = loadDocumentAsByteArray(docResourcePath);
-        return new String(value, UTF_8);
+        return new String(value, StandardCharsets.UTF_8);
     }
 
     public static Document loadDocument(String docResourcePath) throws ParserConfigurationException, SAXException, IOException {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationToken.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationToken.java
index 8e82b88a321ecfb8dec9e28d699f17df6a610dd7..c85053b374e0d8dcf75216041a3ca18e761037e9 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationToken.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationToken.java
@@ -1,8 +1,8 @@
 package eu.europa.ec.edelivery.smp.auth;
 
+import eu.europa.ec.edelivery.security.utils.SecurityUtils;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
-import eu.europa.ec.edelivery.security.utils.SecurityUtils;
 import org.springframework.security.authentication.AbstractAuthenticationToken;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPUserDetails.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPUserDetails.java
index 4c2adee5507d094ee37a24a7b289cfbea2d5e506..bff5990d95e0c062a42a8b15ab4b1b95151d2925 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPUserDetails.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPUserDetails.java
@@ -23,7 +23,7 @@ public class SMPUserDetails implements UserDetails {
     @Transient
     private final SecurityUtils.Secret sessionSecret;
     private boolean casAuthenticated = false;
-    private List<SMPAuthority> smpAuthorities = new ArrayList<>();
+    private final List<SMPAuthority> smpAuthorities = new ArrayList<>();
 
     public SMPUserDetails(DBUser user, SecurityUtils.Secret sessionSecret, List<SMPAuthority> smpAuthorities) {
         this.user = user;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/UILoginAuthenticationToken.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/UILoginAuthenticationToken.java
index 43ce5a29d5a63ce5e6409243cb832cc75b6fcb60..15e1a19cbaf00a725c57eb512f64d29a358197b5 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/UILoginAuthenticationToken.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/UILoginAuthenticationToken.java
@@ -1,7 +1,5 @@
 package eu.europa.ec.edelivery.smp.auth;
 
-import eu.europa.ec.edelivery.smp.logging.SMPLogger;
-import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import org.springframework.security.authentication.AbstractAuthenticationToken;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPAutomationAuthenticationTypes.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPAutomationAuthenticationTypes.java
index e0ccbeb75c83380eb120584b5cf69d20de68681f..04673eca9a7460c7a9d38e42bbc57e4a7844e10b 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPAutomationAuthenticationTypes.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPAutomationAuthenticationTypes.java
@@ -1,18 +1,18 @@
 package eu.europa.ec.edelivery.smp.auth.enums;
 
 /**
- *  Authentication types for application accounts supporting automated application functionalities. The application accounts
- *  are used for SMP web-service integrations.
+ * Authentication types for application accounts supporting automated application functionalities. The application accounts
+ * are used for SMP web-service integrations.
+ * <p>
+ * Supported authentication types
+ * - PASSWORD: the application username/password (Note:automation-user authentication is different than ui-user
+ * password and it can be used only for web-services!).
+ * - CERTIFICATE: certificate authentication username/password.,
  *
- *  Supported authentication types
- *   - PASSWORD: the application username/password (Note:automation-user authentication is different than ui-user
- *               password and it can be used only for web-services!).
- *   - CERTIFICATE: certificate authentication username/password.,
- *
- *  @author Joze Rihtarsic
- *  @since 4.2
+ * @author Joze Rihtarsic
+ * @since 4.2
  */
 public enum SMPAutomationAuthenticationTypes {
     PASSWORD,
-    CERTIFICATE;
-}
\ No newline at end of file
+    CERTIFICATE
+}
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPUserAuthenticationTypes.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPUserAuthenticationTypes.java
index 7b916df865a8670376016d96858a3afd986174cd..0e2564b95a4b4a71d1f4aee91da3101a7807a25c 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPUserAuthenticationTypes.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPUserAuthenticationTypes.java
@@ -14,5 +14,5 @@ package eu.europa.ec.edelivery.smp.auth.enums;
  */
 public enum SMPUserAuthenticationTypes {
     PASSWORD,
-    SSO;
-}
\ No newline at end of file
+    SSO
+}
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java
index e26a640db0dc239963c939bcafc8ced105947ee1..35796a9fa2a3c19c3410d4d2712066e69168ef10 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java
@@ -4,6 +4,7 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBCertificate;
 import eu.europa.ec.edelivery.smp.data.ui.CertificateRO;
 import org.springframework.core.convert.converter.Converter;
 import org.springframework.stereotype.Component;
+
 import java.time.OffsetDateTime;
 import java.time.ZoneId;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBExtensionToExtensionROConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBExtensionToExtensionROConverter.java
index 534b297b9627545b40892e2e6794faca312b1378..0b8b583a9466ae04930dd8a623bcb7374b95ee64 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBExtensionToExtensionROConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBExtensionToExtensionROConverter.java
@@ -22,7 +22,7 @@ import java.util.stream.Collectors;
 @Component
 public class DBExtensionToExtensionROConverter implements Converter<DBExtension, ExtensionRO> {
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(DBExtensionToExtensionROConverter.class);
-    private ConversionService conversionService;
+    private final ConversionService conversionService;
 
     public DBExtensionToExtensionROConverter( @Lazy ConversionService conversionService) {
         this.conversionService = conversionService;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBResourceDefToResourceDefinitionROConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBResourceDefToResourceDefinitionROConverter.java
index 0f57a0856a5f9d900257edfc3a6e30fca4583a67..dca7b5b36a7252f11aaf4eebbc434fc32d30bf14 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBResourceDefToResourceDefinitionROConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBResourceDefToResourceDefinitionROConverter.java
@@ -22,7 +22,7 @@ import java.util.stream.Collectors;
 @Component
 public class DBResourceDefToResourceDefinitionROConverter implements Converter<DBResourceDef, ResourceDefinitionRO> {
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(DBResourceDefToResourceDefinitionROConverter.class);
-    private ConversionService conversionService;
+    private final ConversionService conversionService;
 
     public DBResourceDefToResourceDefinitionROConverter(@Lazy ConversionService conversionService) {
         this.conversionService = conversionService;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/BaseDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/BaseDao.java
index ac787cf2c160629f8126601da18e0e5ad2521590..402e9d52a87dcba400dd33fd1df574029bf4da9b 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/BaseDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/BaseDao.java
@@ -19,13 +19,13 @@ import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.core.GenericTypeResolver;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.persistence.EntityManager;
 import javax.persistence.NoResultException;
 import javax.persistence.PersistenceContext;
 import javax.persistence.TypedQuery;
 import javax.persistence.criteria.*;
-import org.springframework.transaction.annotation.Transactional;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
@@ -221,7 +221,7 @@ public abstract class BaseDao<E extends BaseEntity> {
                 // get return parameter
                 Object searchValue;
                 try {
-                    searchValue = m.invoke(searchParams, new Object[]{});
+                    searchValue = m.invoke(searchParams);
                 } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
                     LOG.error("Error setting retrieveing search parameters", ex);
                     continue;
@@ -241,7 +241,7 @@ public abstract class BaseDao<E extends BaseEntity> {
                     }
                 } else {
                     try {
-                        cls.getMethod("set" + fieldName, new Class[]{m.getReturnType()});
+                        cls.getMethod("set" + fieldName, m.getReturnType());
                     } catch (NoSuchMethodException | SecurityException ex) {
                         // method does not have setter // ignore other methods
                         LOG.error("Field '" + fieldName + "' does not have a setter!", ex);
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDao.java
index 05a60a1884c4ba8fb2b7cd7c87ce5b5ff5c31bf5..de28acf72a2233800fcd6791673570ba947310cc 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDao.java
@@ -23,11 +23,11 @@ import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.persistence.NoResultException;
 import javax.persistence.NonUniqueResultException;
 import javax.persistence.TypedQuery;
-import org.springframework.transaction.annotation.Transactional;
 import java.time.OffsetDateTime;
 import java.util.List;
 import java.util.Optional;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java
index 65db556e8483536c79c62d06d90185e3830cbaf9..208bd22e4e580723bd023c931c758e569a692802 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java
@@ -19,11 +19,11 @@ import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.persistence.NoResultException;
 import javax.persistence.NonUniqueResultException;
 import javax.persistence.TypedQuery;
-import org.springframework.transaction.annotation.Transactional;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainResourceDefDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainResourceDefDao.java
index 9b73bb22489d85f3aa95869cea60dbaa6cc973ac..a610bc53fbe62c6d4a1516b974f3a94e7e1d4b9f 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainResourceDefDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainResourceDefDao.java
@@ -25,7 +25,6 @@ import java.util.List;
 import java.util.Optional;
 
 import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*;
-import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.PARAM_DOMAIN_CODE;
 import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.INTERNAL_ERROR;
 
 /**
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDao.java
index bb508d13412924f8d43c56f08460ef8a262b532e..990a1fc58eccf12c65107e445757d265615438d5 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDao.java
@@ -14,7 +14,6 @@
 package eu.europa.ec.edelivery.smp.data.dao;
 
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import eu.europa.ec.edelivery.smp.data.model.DBDomainResourceDef;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBResourceFilter;
 import eu.europa.ec.edelivery.smp.data.model.ext.DBResourceDef;
@@ -22,16 +21,13 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
 import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
-import eu.europa.ec.edelivery.smp.services.ui.filters.ResourceFilter;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.persistence.NoResultException;
 import javax.persistence.NonUniqueResultException;
 import javax.persistence.TypedQuery;
-import javax.persistence.criteria.*;
-import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDao.java
index 4d75164c4309f500046a3f9244a8485c5a588d9b..6b844f7c0f188f6194fe36abe3ca6d23e451ab36 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDao.java
@@ -20,11 +20,11 @@ import eu.europa.ec.edelivery.smp.identifiers.Identifier;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.persistence.NoResultException;
 import javax.persistence.NonUniqueResultException;
 import javax.persistence.TypedQuery;
-import org.springframework.transaction.annotation.Transactional;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDefDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDefDao.java
index b7a08ad6b79349dabf9ccdf7baab80a761a63e3f..059277e95c0dd37a156bafd134f720bd2063d04e 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDefDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDefDao.java
@@ -13,22 +13,17 @@
 
 package eu.europa.ec.edelivery.smp.data.dao;
 
-import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import eu.europa.ec.edelivery.smp.data.model.ext.DBExtension;
-import eu.europa.ec.edelivery.smp.data.model.ext.DBResourceDef;
 import eu.europa.ec.edelivery.smp.data.model.ext.DBSubresourceDef;
-import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.persistence.NoResultException;
 import javax.persistence.NonUniqueResultException;
 import javax.persistence.TypedQuery;
-import org.springframework.transaction.annotation.Transactional;
 import java.util.List;
 import java.util.Optional;
 
 import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*;
-import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.CONFIGURATION_ERROR;
 import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.INTERNAL_ERROR;
 
 /**
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/UserDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/UserDao.java
index 50115ee3d258590f3eddb9a94c4f826cafb9352b..76011857db10eeb70a8eeb6285b5dc3fb73b105d 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/UserDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/UserDao.java
@@ -22,11 +22,11 @@ import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.persistence.NoResultException;
 import javax.persistence.NonUniqueResultException;
 import javax.persistence.TypedQuery;
-import org.springframework.transaction.annotation.Transactional;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java
index 49370b4fcaddb91e3a3540ea7f0923314fa1eb82..fc840a401209eeb9688d0f6d7f11177c50c8a66c 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java
@@ -167,16 +167,15 @@ public class DBAlert extends BaseEntity {
 
     @Override
     public String toString() {
-        final StringBuffer sb = new StringBuffer("DBAlert{");
-        sb.append("id=").append(id);
-        sb.append(", username=").append(username);
-        sb.append(", processedTime=").append(processedTime);
-        sb.append(", alertType=").append(alertType);
-        sb.append(", reportingTime=").append(reportingTime);
-        sb.append(", alertStatus=").append(alertStatus);
-        sb.append(", alertLevel=").append(alertLevel);
-        sb.append(", properties=").append(String.join(",", properties.keySet()));
-        sb.append('}');
-        return sb.toString();
+        String sb = "DBAlert{" + "id=" + id +
+                ", username=" + username +
+                ", processedTime=" + processedTime +
+                ", alertType=" + alertType +
+                ", reportingTime=" + reportingTime +
+                ", alertStatus=" + alertStatus +
+                ", alertLevel=" + alertLevel +
+                ", properties=" + String.join(",", properties.keySet()) +
+                '}';
+        return sb;
     }
 }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBGroup.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBGroup.java
index ee038b7a41c6cb5842c289a8f32d8044f3f01d6b..3abc0cdf8fe002b309db88e900466bdb276a43d0 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBGroup.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBGroup.java
@@ -16,14 +16,12 @@ package eu.europa.ec.edelivery.smp.data.model;
 import eu.europa.ec.edelivery.smp.data.dao.utils.ColumnDescription;
 import eu.europa.ec.edelivery.smp.data.enums.VisibilityType;
 import eu.europa.ec.edelivery.smp.data.model.user.DBGroupMember;
-import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember;
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.hibernate.annotations.GenericGenerator;
 import org.hibernate.envers.Audited;
 
 import javax.persistence.*;
-
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBUserDeleteValidation.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBUserDeleteValidation.java
index c855562991763b16acff0ef23a606be16861ec7e..fb7ce4c498883ba1be2cd171ec1f10453d55b9d9 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBUserDeleteValidation.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBUserDeleteValidation.java
@@ -1,11 +1,6 @@
 package eu.europa.ec.edelivery.smp.data.model;
 
 
-import org.hibernate.envers.Audited;
-
-import javax.persistence.*;
-
-
 public class DBUserDeleteValidation {
 
     Long id;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBDocument.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBDocument.java
index b0fc63c1c219e93ba3d8065e71ae577eb4b0b729..03d4c6ab1117d80b698c9bf8d0c9e72758be0777 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBDocument.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBDocument.java
@@ -13,7 +13,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
-import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*;
+import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.QUERY_DOCUMENT_FOR_RESOURCE;
 
 /**
  * Database optimization: load service metadata xml only when needed and
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBSubresource.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBSubresource.java
index 1001f1aca40b72d224e921a96a8838ae6793fa61..be5fa900c921b3572be947cd7957c8e4ad9dc2e6 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBSubresource.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBSubresource.java
@@ -14,7 +14,8 @@
 package eu.europa.ec.edelivery.smp.data.model.doc;
 
 import eu.europa.ec.edelivery.smp.data.dao.utils.ColumnDescription;
-import eu.europa.ec.edelivery.smp.data.model.*;
+import eu.europa.ec.edelivery.smp.data.model.BaseEntity;
+import eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths;
 import eu.europa.ec.edelivery.smp.data.model.ext.DBSubresourceDef;
 import org.hibernate.annotations.GenericGenerator;
 import org.hibernate.envers.Audited;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/ext/DBExtension.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/ext/DBExtension.java
index d9e5821de4736bcd2dc4932556c19ca70dcea54e..79a17159d3bf6dd557ad31f32ef0cd71f8813ef6 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/ext/DBExtension.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/ext/DBExtension.java
@@ -12,7 +12,8 @@ import javax.persistence.*;
 import java.util.ArrayList;
 import java.util.List;
 
-import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*;
+import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.QUERY_EXTENSION_ALL;
+import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.QUERY_EXTENSION_BY_IDENTIFIER;
 
 /**
  * Database table containing registered extensions data/description
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/AlertRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/AlertRO.java
index 473c4b6d0853fdf7560e347bee60a7191c254563..4dfb67f4c13825c014a15a4fd419b371ffe940df 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/AlertRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/AlertRO.java
@@ -26,7 +26,7 @@ public class AlertRO extends BaseRO {
     private AlertStatusEnum alertStatus;
     private String alertStatusDesc;
     private AlertLevelEnum alertLevel;
-    private Map<String, String> alertDetails = new HashMap<>();
+    private final Map<String, String> alertDetails = new HashMap<>();
 
     public String getSid() {
         return sid;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/CertificateRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/CertificateRO.java
index e21af5e13f4682de8cb43a88214401067d4098b7..0507e5fbd3282c6a22bfa1068423e8d966f7a3ba 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/CertificateRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/CertificateRO.java
@@ -26,7 +26,7 @@ public class CertificateRO extends BaseRO {
 
     private boolean isContainingKey;
 
-    private List<String> certificatePolicies = new ArrayList<>();
+    private final List<String> certificatePolicies = new ArrayList<>();
     private String invalidReason;
     private OffsetDateTime validFrom;
     private OffsetDateTime validTo;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DeleteEntityValidation.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DeleteEntityValidation.java
index e6b92cd15655ace2d5b98144720f78a61a2071d8..6772d17ec5838f4e6e965e04507a53a01693cb3a 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DeleteEntityValidation.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DeleteEntityValidation.java
@@ -11,8 +11,8 @@ public class DeleteEntityValidation implements Serializable {
 
     private boolean validOperation;
     private String stringMessage;
-    private List<String> listIds= new ArrayList<>();
-    private List<String> listDeleteNotPermitedIds = new ArrayList<>();
+    private final List<String> listIds= new ArrayList<>();
+    private final List<String> listDeleteNotPermitedIds = new ArrayList<>();
 
     public boolean isValidOperation() {
         return validOperation;
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 c0cddbfcd027681e32907aaeb611573264072def..be5ed1676aadb5d5c3fd32280a1c2756852c7c06 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
@@ -25,8 +25,8 @@ public class DomainRO extends BaseRO {
     private boolean smlRegistered;
     private VisibilityType visibility;
     private String defaultResourceTypeIdentifier;
-    private List<GroupRO> groups = new ArrayList<>();
-    private List<String> resourceDefinitions = new ArrayList<>();
+    private final List<GroupRO> groups = new ArrayList<>();
+    private final List<String> resourceDefinitions = new ArrayList<>();
 
     public String getDomainId() {
         return domainId;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainResourceDefinitionRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainResourceDefinitionRO.java
index c1278c4ac5c96c84d557d99c9e378cb8353aab58..50f072d1c5a98aba5143aebed67894c5b6a11345 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainResourceDefinitionRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainResourceDefinitionRO.java
@@ -1,9 +1,6 @@
 package eu.europa.ec.edelivery.smp.data.ui;
 
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * @author Joze Rihtarsic
  * @since 5.0
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ExtensionRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ExtensionRO.java
index 6a5ffeff0e2713547b49e6e4d68d8d6fffdf6604..7be31c4f90149aa918f49fcb0f319a5148fdffa6 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ExtensionRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ExtensionRO.java
@@ -18,7 +18,7 @@ public class ExtensionRO extends BaseRO {
     private String name;
     private String description;
     private String implementationName;
-    private List<ResourceDefinitionRO> resourceDefinitions = new ArrayList<>();
+    private final List<ResourceDefinitionRO> resourceDefinitions = new ArrayList<>();
 
     public String getExtensionId() {
         return extensionId;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java
index 5f2cdd6168dd06b1dc0de53aa71ce779f02a03d3..36ae72990c0da637fac0ef50030c0e5da4aa6fa0 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java
@@ -17,7 +17,7 @@ public class NavigationTreeNodeRO extends BaseRO {
     private String icon;
     private String tooltip;
     private String routerLink;
-    private List<NavigationTreeNodeRO> children = new ArrayList<>();
+    private final List<NavigationTreeNodeRO> children = new ArrayList<>();
 
     public NavigationTreeNodeRO() {
     }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ParticipantSMLRecord.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ParticipantSMLRecord.java
deleted file mode 100644
index da7ae6614aefb068783870c9bcf437306577e28a..0000000000000000000000000000000000000000
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ParticipantSMLRecord.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package eu.europa.ec.edelivery.smp.data.ui;
-
-import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import eu.europa.ec.edelivery.smp.data.ui.enums.SMLStatusEnum;
-
-import java.io.Serializable;
-
-public class ParticipantSMLRecord implements Serializable {
-
-    private SMLStatusEnum status;
-
-    private String participantIdentifier;
-    private String participantScheme;
-    private DBDomain domain;
-
-    public ParticipantSMLRecord(SMLStatusEnum status, String participantId, String participantScheme, DBDomain domain  ) {
-        this.status = status;
-        this.participantIdentifier = participantId;
-        this.participantScheme = participantScheme;
-        this.domain = domain;
-
-    }
-
-    public SMLStatusEnum getStatus() {
-        return status;
-    }
-
-    public void setStatus(SMLStatusEnum status) {
-        this.status = status;
-    }
-
-    public String getParticipantIdentifier() {
-        return participantIdentifier;
-    }
-
-    public void setParticipantId(String participantId) {
-        this.participantIdentifier = participantId;
-    }
-
-    public String getParticipantScheme() {
-        return participantScheme;
-    }
-
-    public void setParticipantScheme(String participantScheme) {
-        this.participantScheme = participantScheme;
-    }
-
-    public DBDomain getDomain() {
-        return domain;
-    }
-
-    public void setDomain(DBDomain domain) {
-        this.domain = domain;
-    }
-}
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ResourceDefinitionRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ResourceDefinitionRO.java
index 7deeeb2855647f3e2f615cebbd97e08bfd1b34c8..f2420c1201f45fb60d7dba3717a470a2a3636b73 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ResourceDefinitionRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ResourceDefinitionRO.java
@@ -19,7 +19,7 @@ public class ResourceDefinitionRO extends BaseRO {
     private String mimeType;
     private String urlSegment;
 
-    private List<SubresourceDefinitionRO> subresourceDefinitions = new ArrayList<>();
+    private final List<SubresourceDefinitionRO> subresourceDefinitions = new ArrayList<>();
 
     public String getResourceId() {
         return resourceId;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupDomainRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupDomainRO.java
deleted file mode 100644
index 69e12d89ebba743d95fa892f262a5a83a5a3cd29..0000000000000000000000000000000000000000
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupDomainRO.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package eu.europa.ec.edelivery.smp.data.ui;
-
-
-/**
- * @author Joze Rihtarsic
- * @since 4.1
- */
-
-
-public class ServiceGroupDomainRO extends BaseRO {
-
-
-    private static final long serialVersionUID = 9008583888835630014L;
-    private Long id;
-    private Long domainId;
-    String domainCode;
-    String smlSubdomain;
-    boolean smlRegistered;
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Long getDomainId() {
-        return domainId;
-    }
-
-    public void setDomainId(Long domainId) {
-        this.domainId = domainId;
-    }
-
-    public String getDomainCode() {
-        return domainCode;
-    }
-
-    public void setDomainCode(String domainCode) {
-        this.domainCode = domainCode;
-    }
-
-    public String getSmlSubdomain() {
-        return smlSubdomain;
-    }
-
-    public void setSmlSubdomain(String smlSubdomain) {
-        this.smlSubdomain = smlSubdomain;
-    }
-
-    public boolean isSmlRegistered() {
-        return smlRegistered;
-    }
-
-    public void setSmlRegistered(boolean registered) {
-        this.smlRegistered = registered;
-    }
-}
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
deleted file mode 100644
index c01e683848d2536a7f5d125a96554cbefb457c3f..0000000000000000000000000000000000000000
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupRO.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package eu.europa.ec.edelivery.smp.data.ui;
-
-
-import eu.europa.ec.edelivery.smp.data.ui.enums.EntityROStatus;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Joze Rihtarsic
- * @since 4.1
- */
-
-
-public class ServiceGroupRO extends BaseRO {
-
-
-    private static final long serialVersionUID = 9008583888835630015L;
-    private Long id;
-    private String participantIdentifier;
-    private String participantScheme;
-    private boolean smlRegistered = false;
-    private List<UserRO> lstUser = new ArrayList<>();
-    private List<ServiceGroupDomainRO> serviceGroupDomains = new ArrayList<>();
-    // for UI  service groups are  in one list.
-    private List<ServiceMetadataRO> serviceMetadata = new ArrayList<>();
-    private int extensionStatus = EntityROStatus.PERSISTED.getStatusNumber();
-    private String extension;
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getParticipantIdentifier() {
-        return participantIdentifier;
-    }
-
-    public void setParticipantIdentifier(String participantIdentifier) {
-        this.participantIdentifier = participantIdentifier;
-    }
-
-    public String getParticipantScheme() {
-        return participantScheme;
-    }
-
-    public void setParticipantScheme(String participantScheme) {
-        this.participantScheme = participantScheme;
-    }
-
-    public boolean isSmlRegistered() {
-        return smlRegistered;
-    }
-
-    public void setSmlRegistered(boolean smlRegistered) {
-        this.smlRegistered = smlRegistered;
-    }
-
-    public int getExtensionStatus() {
-        return extensionStatus;
-    }
-
-    public void setExtensionStatus(int extensionStatus) {
-        this.extensionStatus = extensionStatus;
-    }
-
-    public String getExtension() {
-        return extension;
-    }
-
-    public void setExtension(String extension) {
-        this.extension = extension;
-    }
-
-    public List<UserRO> getUsers() {
-        return lstUser;
-    }
-
-    public List<ServiceGroupDomainRO> getServiceGroupDomains() {
-        return serviceGroupDomains;
-    }
-
-    public List<ServiceMetadataRO> getServiceMetadata() {
-        return serviceMetadata;
-    }
-}
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupSearchRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupSearchRO.java
index b6b5cf802200ba5febe7215e0d039dd48f80ea2d..8c17560a1453fbd9059bd4554a284ceac02a7e46 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupSearchRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupSearchRO.java
@@ -21,7 +21,7 @@ public class ServiceGroupSearchRO extends BaseRO {
     private String resourceDefUrlSegment;
     private String participantIdentifier;
     private String participantScheme;
-    private List<ServiceMetadataRO> lstServiceMetadata = new ArrayList<>();
+    private final List<ServiceMetadataRO> lstServiceMetadata = new ArrayList<>();
 
 
     public Long getId() {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupValidationRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupValidationRO.java
deleted file mode 100644
index 3d181ac20371fc68eceb5ba3d63022ea4ce334fe..0000000000000000000000000000000000000000
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupValidationRO.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package eu.europa.ec.edelivery.smp.data.ui;
-
-public class ServiceGroupValidationRO extends BaseRO {
-    private static final long serialVersionUID = 9008583888835630017L;
-
-    public static final int ERROR_CODE_OK =0;
-    public static final int ERROR_CODE_SERVICE_GROUP_EXISTS =1;
-    public static final int ERROR_CODE_INVALID_EXTENSION =2;
-
-    Long serviceGroupId;
-    String extension;
-    String errorMessage;
-    String participantScheme;
-    String participantIdentifier;
-    int statusAction = 0;
-
-    int errorCode = ERROR_CODE_OK;
-
-    public Long getServiceGroupId() {
-        return serviceGroupId;
-    }
-
-    public void setServiceGroupId(Long serviceGroupId) {
-        this.serviceGroupId = serviceGroupId;
-    }
-
-    public String getExtension() {
-        return extension;
-    }
-
-    public void setExtension(String extension) {
-        this.extension = extension;
-    }
-
-    public String getErrorMessage() {
-        return errorMessage;
-    }
-
-    public void setErrorMessage(String errorMessage) {
-        this.errorMessage = errorMessage;
-    }
-
-    public int getStatusAction() {
-        return statusAction;
-    }
-
-    public void setStatusAction(int statusAction) {
-        this.statusAction = statusAction;
-    }
-
-    public String getParticipantScheme() {
-        return participantScheme;
-    }
-
-    public void setParticipantScheme(String participantScheme) {
-        this.participantScheme = participantScheme;
-    }
-
-    public String getParticipantIdentifier() {
-        return participantIdentifier;
-    }
-
-    public void setParticipantIdentifier(String participantIdentifier) {
-        this.participantIdentifier = participantIdentifier;
-    }
-
-    public int getErrorCode() {
-        return errorCode;
-    }
-
-    public void setErrorCode(int errorCode) {
-        this.errorCode = errorCode;
-    }
-}
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataValidationRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataValidationRO.java
deleted file mode 100644
index b454ec55128040dd6f2484ba950df28832ed2d7b..0000000000000000000000000000000000000000
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataValidationRO.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package eu.europa.ec.edelivery.smp.data.ui;
-
-/**
- * @author Joze Rihtarsic
- * @since 4.1
- */
-public class ServiceMetadataValidationRO extends BaseRO {
-
-
-    private static final long serialVersionUID = 9008583888835630019L;
-
-    String participantScheme;
-    String participantIdentifier;
-    String documentIdentifierScheme;
-    String documentIdentifier;
-
-    String errorMessage;
-    String xmlContent;
-
-    int statusAction = 0;
-
-    public String getParticipantScheme() {
-        return participantScheme;
-    }
-
-    public void setParticipantScheme(String participantScheme) {
-        this.participantScheme = participantScheme;
-    }
-
-    public String getParticipantIdentifier() {
-        return participantIdentifier;
-    }
-
-    public void setParticipantIdentifier(String participantIdentifier) {
-        this.participantIdentifier = participantIdentifier;
-    }
-
-    public String getDocumentIdentifierScheme() {
-        return documentIdentifierScheme;
-    }
-
-    public void setDocumentIdentifierScheme(String documentIdentifierScheme) {
-        this.documentIdentifierScheme = documentIdentifierScheme;
-    }
-
-    public String getDocumentIdentifier() {
-        return documentIdentifier;
-    }
-
-    public void setDocumentIdentifier(String documentIdentifier) {
-        this.documentIdentifier = documentIdentifier;
-    }
-
-    public String getErrorMessage() {
-        return errorMessage;
-    }
-
-    public void setErrorMessage(String errorMessage) {
-        this.errorMessage = errorMessage;
-    }
-
-    public String getXmlContent() {
-        return xmlContent;
-    }
-
-    public void setXmlContent(String xmlContent) {
-        this.xmlContent = xmlContent;
-    }
-
-    public int getStatusAction() {
-        return statusAction;
-    }
-
-    public void setStatusAction(int statusAction) {
-        this.statusAction = statusAction;
-    }
-}
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java
index 16ae95532fc67a94c982a74ce5281c9e6e4710ff..0336286a1fa1ad36d5ed22e5ec06143e199070c3 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java
@@ -21,7 +21,7 @@ public class SmpConfigRO implements Serializable {
 
     private String passwordValidationRegExp;
     private String passwordValidationRegExpMessage;
-    private List<String> webServiceAuthTypes = new ArrayList<>();
+    private final List<String> webServiceAuthTypes = new ArrayList<>();
 
 
     public boolean isSmlIntegrationOn() {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpInfoRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpInfoRO.java
index e48892502e201aaf80899ea88aee060b6261d4b6..66f0a360b318885b2680be1217ca06761de7d7cd 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpInfoRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpInfoRO.java
@@ -16,7 +16,7 @@ public class SmpInfoRO implements Serializable {
     private String ssoAuthenticationLabel;
     private String ssoAuthenticationURI;
     private String contextPath;
-    private List<String> authTypes = new ArrayList<>();
+    private final List<String> authTypes = new ArrayList<>();
 
     public String getVersion() {
         return version;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/exceptions/ErrorResponseRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/exceptions/ErrorResponseRO.java
index cdc776e9ae99b9013a5c0e236775df350b1b7fae..3974033ba997c463ce92f4ab6e1f1ef84230e724 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/exceptions/ErrorResponseRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/exceptions/ErrorResponseRO.java
@@ -76,11 +76,10 @@ public class ErrorResponseRO {
 
     @Override
     public String toString() {
-        final StringBuffer sb = new StringBuffer("ErrorResponseRO{");
-        sb.append("'businessCode'='").append(businessCode).append('\'');
-        sb.append(", 'errorDescription'='").append(errorDescription).append('\'');
-        sb.append(", 'errorUniqueId'='").append(errorUniqueId).append('\'');
-        sb.append('}');
-        return sb.toString();
+        String sb = "ErrorResponseRO{" + "'businessCode'='" + businessCode + '\'' +
+                ", 'errorDescription'='" + errorDescription + '\'' +
+                ", 'errorUniqueId'='" + errorUniqueId + '\'' +
+                '}';
+        return sb;
     }
-}
\ No newline at end of file
+}
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/BadRequestException.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/BadRequestException.java
index 6fcf1a38a56073b637fbd81e6568512a654028df..a28a76e90dc30081ec10b427cd7d71972629236c 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/BadRequestException.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/BadRequestException.java
@@ -13,13 +13,11 @@
 
 package eu.europa.ec.edelivery.smp.exceptions;
 
-import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode;
-
 /**
  * Created by migueti on 13/01/2017.
  */
 public class BadRequestException extends RuntimeException {
-    private ErrorBusinessCode errorBusinessCode;
+    private final ErrorBusinessCode errorBusinessCode;
 
     public BadRequestException(ErrorBusinessCode errorBusinessCode, String sMsg) {
         super(sMsg);
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorBusinessCode.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorBusinessCode.java
index 13081b04cfa403539c25e680938e6a4f8fd309dc..f43458a3d68a79d78353d0eab3f29433e9f39c04 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorBusinessCode.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorBusinessCode.java
@@ -28,5 +28,5 @@ public enum ErrorBusinessCode {
     NOT_FOUND,
     USER_NOT_FOUND,
     INVALID_INPUT_DATA,
-    TECHNICAL;
+    TECHNICAL
 }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/SMPRuntimeException.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/SMPRuntimeException.java
index fda9563605eada8e8ae87286097d337ad940ce14..264565b0d9a6f1c1af9581f043cce27072abf612 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/SMPRuntimeException.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/SMPRuntimeException.java
@@ -4,7 +4,7 @@ package eu.europa.ec.edelivery.smp.exceptions;
  *
  */
 public class SMPRuntimeException  extends RuntimeException  {
-    private ErrorCode errorCode;
+    private final ErrorCode errorCode;
 
     public SMPRuntimeException(ErrorCode errorCode, Object ... args) {
         super(errorCode.getMessage(args));
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/identifiers/AbstractIdentifierFormatter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/identifiers/AbstractIdentifierFormatter.java
index 3cdb57fadbc95754372fc8ae070498820051f840..ea8b442888c7780f26eb3e2a72bbdce461779967 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/identifiers/AbstractIdentifierFormatter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/identifiers/AbstractIdentifierFormatter.java
@@ -259,7 +259,7 @@ public abstract class AbstractIdentifierFormatter<T> {
         if (this.formatterTypes == null) {
             this.formatterTypes = new ArrayList<>();
         }
-        this.formatterTypes.addAll(Arrays.asList(formatterTypes));;
+        this.formatterTypes.addAll(Arrays.asList(formatterTypes));
     }
 
     public List<FormatterType> getFormatterTypes() {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/security/ResourceGuard.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/security/ResourceGuard.java
index ec76779bf0db9252cd136eee26275f4f67264f53..74d3ec329c7960c65a0febccd12f9510d6a6f5ca 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/security/ResourceGuard.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/security/ResourceGuard.java
@@ -19,8 +19,6 @@ import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import eu.europa.ec.edelivery.smp.servlet.ResourceAction;
 import org.springframework.stereotype.Service;
 
-import java.util.Collections;
-
 /**
  * Service implements logic if user can activate action on the resource
  */
@@ -82,40 +80,21 @@ public class ResourceGuard {
         DBDomain domain = group.getDomain();
         DBUser dbuser = user == null ? null : user.getUser();
         // if domain is internal check if user is member of domain, or any internal resources, groups
-        if (domain.getVisibility() == VisibilityType.PRIVATE &&
-                (dbuser == null ||
-                        !(domainMemberDao.isUserDomainMember(dbuser, domain)
-                                || groupMemberDao.isUserAnyDomainGroupResourceMember(dbuser, domain)
-                                || resourceMemberDao.isUserAnyDomainResourceMember(dbuser, domain)))
+        if ((resource.getVisibility() == null || domain.getVisibility() == VisibilityType.PRIVATE)
+                && (dbuser == null ||
+                !(domainMemberDao.isUserDomainMember(dbuser, domain)
+                        || groupMemberDao.isUserAnyDomainGroupResourceMember(dbuser, domain)
+                        || resourceMemberDao.isUserAnyDomainResourceMember(dbuser, domain)))
         ) {
             LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is not authorized to read internal domain [{}] resources", user, domain);
             return false;
         }
-        // if group is internal check if user is member of group, or any group resources,
-        if (group.getVisibility() == VisibilityType.PRIVATE &&
-                (dbuser == null ||
-                        !(groupMemberDao.isUserGroupMember(dbuser, Collections.singletonList(group))
-                                || resourceMemberDao.isUserAnyGroupResourceMember(dbuser, group))
-                )) {
-            LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is not authorized to read internal group [{}] resources", user, domain);
-            return false;
-        }
 
         // if resource is public anybody can see it
         if (resource.getVisibility() == VisibilityType.PUBLIC) {
             LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] authorized to read public resource [{}]", user, resource);
             return true;
         }
-        if (dbuser == null) {
-            LOG.debug(SMPLogger.SECURITY_MARKER, "Anonymous user [{}] is not authorized to read resource [{}]", user, resource);
-            return false;
-        }
-
-        if (resource.getVisibility() == null || resource.getVisibility() == VisibilityType.PRIVATE) {
-            boolean isResourceMember = resourceMemberDao.isUserResourceMember(user.getUser(), resource);
-            LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] authorized: [{}] to read private resource [{}]", user, isResourceMember, resource);
-            return isResourceMember;
-        }
         LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is not authorized to read resource [{}]", user, resource);
         return false;
     }
@@ -160,11 +139,6 @@ public class ResourceGuard {
 
     }
 
-    public boolean canCreate(SMPUserDetails user, DBSubresource subresource) {
-        LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is trying to create subresource [{}]", user, subresource);
-        return canUpdate(user, subresource);
-    }
-
     public boolean canDelete(SMPUserDetails user, DBResource resource, DBDomain domain) {
         LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is trying to delete resource [{}]", user, resource);
         // same as for create
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/CRLVerifierService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/CRLVerifierService.java
index 0fcdc3558951529d82eade5bb82245bbf2c5ee1e..1d5ec305cd936c1b5d223c72a30eb690e22d9845 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/CRLVerifierService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/CRLVerifierService.java
@@ -257,7 +257,7 @@ public class CRLVerifierService implements ICRLVerifierService {
             return false;
         }
 
-        for (String parameter : Arrays.asList(parameters)) {
+        for (String parameter : parameters) {
 
             if (StringUtils.isBlank(parameter)) {
                 return false;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationService.java
index 1de3d8e465d6263b37c07ce12b9e754e5675730e..f54e5c7eddfeaf47f3e1438939dc080df87c40dc 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationService.java
@@ -15,7 +15,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
+
 import java.util.Map;
+
 import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.CONFIGURATION_ERROR;
 import static eu.europa.ec.edelivery.smp.logging.SMPMessageCode.*;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/mail/MailService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/mail/MailService.java
index 8965eaafad938f8d87a83f67037835f3f27a9995..44e3fd4c37f0007d1d4eebca8f86fd7c544b370f 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/mail/MailService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/mail/MailService.java
@@ -35,8 +35,8 @@ public class MailService {
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(MailService.class);
 
-    private Configuration freemarkerConfig;
-    private JavaMailSenderImpl javaMailSender;
+    private final Configuration freemarkerConfig;
+    private final JavaMailSenderImpl javaMailSender;
 
     public MailService(Configuration freemarkerConfig, JavaMailSenderImpl javaMailSender) {
         this.freemarkerConfig = freemarkerConfig;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/spi/data/SpiResponseData.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/spi/data/SpiResponseData.java
index bb52492414ec1f1e4d9ffe613766a662e0852075..fd5ffd9f98ea009e8db1241e54a6544b23461cd6 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/spi/data/SpiResponseData.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/spi/data/SpiResponseData.java
@@ -1,9 +1,6 @@
 package eu.europa.ec.edelivery.smp.services.spi.data;
 
-import eu.europa.ec.smp.spi.api.model.ResourceIdentifier;
 import eu.europa.ec.smp.spi.api.model.ResponseData;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
 
 import java.io.ByteArrayOutputStream;
 import java.io.OutputStream;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainService.java
index a64af55725d027271146489f2fb2ded8de5a6235..a60788bfe6ff272fc88afed12ce5a46eb7904c61 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainService.java
@@ -38,14 +38,14 @@ public class UIDomainService extends UIServiceBase<DBDomain, DomainRO> {
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(UIDomainService.class);
 
 
-    private DomainDao domainDao;
-    private DomainMemberDao domainMemberDao;
-    private ResourceDao resourceDao;
-    private ResourceDefDao resourceDefDao;
-    private DomainResourceDefDao domainResourceDefDao;
-    private ConversionService conversionService;
-    private GroupDao groupDao;
-    private GroupMemberDao groupMemberDao;
+    private final DomainDao domainDao;
+    private final DomainMemberDao domainMemberDao;
+    private final ResourceDao resourceDao;
+    private final ResourceDefDao resourceDefDao;
+    private final DomainResourceDefDao domainResourceDefDao;
+    private final ConversionService conversionService;
+    private final GroupDao groupDao;
+    private final GroupMemberDao groupMemberDao;
 
 
     public UIDomainService(ConversionService conversionService,
@@ -102,11 +102,11 @@ public class UIDomainService extends UIServiceBase<DBDomain, DomainRO> {
     public void createDomainData(DomainRO data) {
         if (StringUtils.isBlank(data.getDomainCode())){
             throw new SMPRuntimeException(ErrorCode.INVALID_DOMAIN_DATA, "Domain code must not be empty!");
-        };
+        }
 
         if (domainDao.getDomainByCode(data.getDomainCode()).isPresent()){
             throw new SMPRuntimeException(ErrorCode.INVALID_DOMAIN_DATA, "Domain with code ["+data.getDomainCode()+"] already exists!");
-        };
+        }
         DBDomain domain = new DBDomain();
         domain.setDomainCode(data.getDomainCode());
         domain.setDefaultResourceTypeIdentifier(data.getDefaultResourceTypeIdentifier());
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIKeystoreService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIKeystoreService.java
index c438fa91b2bceedb8334c30f0334ef9d6561eeec..59d03b59258e74cb41ce39a00799d03f8cff0513 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIKeystoreService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIKeystoreService.java
@@ -7,16 +7,15 @@ import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
-import eu.europa.ec.edelivery.smp.services.ICRLVerifierService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.exception.ExceptionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.convert.ConversionService;
 import org.springframework.stereotype.Service;
 
 import javax.net.ssl.KeyManager;
 import javax.net.ssl.KeyManagerFactory;
 import java.io.*;
+import java.nio.file.Files;
 import java.security.*;
 import java.security.cert.Certificate;
 import java.security.cert.CertificateException;
@@ -36,8 +35,8 @@ public class UIKeystoreService extends BasicKeystoreService {
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(UIKeystoreService.class);
 
-    private ConversionService conversionService;
-    private ConfigurationService configurationService;
+    private final ConversionService conversionService;
+    private final ConfigurationService configurationService;
 
     public UIKeystoreService(ConversionService conversionService, ConfigurationService configurationService) {
         super(null);
@@ -45,9 +44,9 @@ public class UIKeystoreService extends BasicKeystoreService {
         this.configurationService = configurationService;
     }
 
-    private Map<String, Key> keystoreKeys = new HashMap<>();
-    private Map<String, X509Certificate> keystoreCertificates = new HashMap<>();
-    private List<CertificateRO> certificateROList = new ArrayList<>();
+    private final Map<String, Key> keystoreKeys = new HashMap<>();
+    private final Map<String, X509Certificate> keystoreCertificates = new HashMap<>();
+    private final List<CertificateRO> certificateROList = new ArrayList<>();
 
     private KeyManager[] keyManagers;
 
@@ -71,7 +70,7 @@ public class UIKeystoreService extends BasicKeystoreService {
 
         KeyStore keyStore = loadKeystore(keystoreFile, keystoreSecToken);
         if (keyStore == null) {
-            LOG.error("Keystore: [{}] is not loaded! Check the keystore and the configuration!",keystoreFile.getAbsolutePath());
+            LOG.error("Keystore: [{}] is not loaded! Check the keystore and the configuration!", keystoreFile.getAbsolutePath());
             return;
         }
         // init key managers for TLS
@@ -132,14 +131,17 @@ public class UIKeystoreService extends BasicKeystoreService {
 
     private KeyStore loadKeystore(File keyStoreFile, String keystoreSecToken) {
         // Load the KeyStore.
-        if (keyStoreFile != null && !keyStoreFile.exists()) {
-            LOG.error("Keystore file '{}' does not exists!", keyStoreFile.getAbsolutePath());
+        if (keyStoreFile == null) {
+            LOG.error("Keystore file is not defined!");
+            return null;
+        }
+        if (!keyStoreFile.exists()) {
+            LOG.error("Keystore file '[{}]' does not exists!", keyStoreFile);
             return null;
         }
-
 
         KeyStore keyStore;
-        try (InputStream keystoreInputStream = new FileInputStream(keyStoreFile)) {
+        try (InputStream keystoreInputStream = Files.newInputStream(keyStoreFile.toPath())) {
             String type = StringUtils.defaultIfEmpty(configurationService.getKeystoreType(), "JKS");
             LOG.info("Load keystore [{}] with type [{}].", keyStoreFile, type);
             keyStore = KeyStore.getInstance(type);
@@ -195,7 +197,7 @@ public class UIKeystoreService extends BasicKeystoreService {
         }
 
         if (keystoreKeys.isEmpty()) {
-            throw new SMPRuntimeException(ErrorCode.CONFIGURATION_ERROR, "Could not retrieve key: " + keyAlias + " from empty keystore!" + configurationService.getKeystoreFile());
+            throw new SMPRuntimeException(ErrorCode.CONFIGURATION_ERROR, "Could not retrieve key: [" + keyAlias + "] from empty keystore: [" + configurationService.getKeystoreFile() +"]!");
         }
 
 
@@ -236,8 +238,8 @@ public class UIKeystoreService extends BasicKeystoreService {
     /**
      * Import keys smp keystore
      *
-     * @param newKeystore
-     * @param password
+     * @param newKeystore  new keystore file to import
+     * @param password    password for new keystore file
      */
     public List<CertificateRO> importKeys(KeyStore newKeystore, String password) throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException, IOException, CertificateException {
 
@@ -257,16 +259,16 @@ public class UIKeystoreService extends BasicKeystoreService {
     /**
      * Delete keys smp keystore
      *
-     * @param alias
+     * @param alias alias of the key to delete from keystore
      */
     public X509Certificate deleteKey(String alias) throws NoSuchAlgorithmException, KeyStoreException, IOException, CertificateException {
         String keystoreSecToken = configurationService.getKeystoreCredentialToken();
         KeyStore keyStore = loadKeystore(configurationService.getKeystoreFile(), keystoreSecToken);
 
-        if (keyStore == null || !keyStore.containsAlias(alias)){
+        if (keyStore == null || !keyStore.containsAlias(alias)) {
             return null;
         }
-        X509Certificate certificate = (X509Certificate)keyStore.getCertificate(alias);
+        X509Certificate certificate = (X509Certificate) keyStore.getCertificate(alias);
         keyStore.deleteEntry(alias);
         // store keystore
         storeKeystore(keyStore);
@@ -278,10 +280,10 @@ public class UIKeystoreService extends BasicKeystoreService {
      * Store keystore
      *
      * @param keyStore to store
-     * @throws IOException
-     * @throws CertificateException
-     * @throws NoSuchAlgorithmException
-     * @throws KeyStoreException
+     * @throws IOException if the keystore can not be persisted
+     * @throws CertificateException if keystore cannot be stored
+     * @throws NoSuchAlgorithmException if keystore type algorithm is not supported
+     * @throws KeyStoreException if keystore cannot be stored
      */
     private void storeKeystore(KeyStore keyStore) throws IOException, CertificateException, NoSuchAlgorithmException, KeyStoreException {
         File keystoreFilePath = configurationService.getKeystoreFile();
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyService.java
index 17426bbc01e5cb38525df4cc6561bf3e7e709c69..b6d4ec470a71117fd9a0992a7d66972eb2651780 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyService.java
@@ -2,13 +2,13 @@ package eu.europa.ec.edelivery.smp.services.ui;
 
 import eu.europa.ec.edelivery.smp.config.SMPEnvironmentProperties;
 import eu.europa.ec.edelivery.smp.config.enums.SMPEnvPropertyEnum;
+import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger;
 import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
 import eu.europa.ec.edelivery.smp.data.model.DBConfiguration;
 import eu.europa.ec.edelivery.smp.data.ui.PropertyRO;
 import eu.europa.ec.edelivery.smp.data.ui.PropertyValidationRO;
 import eu.europa.ec.edelivery.smp.data.ui.ServiceResultProperties;
-import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
@@ -27,8 +27,8 @@ import java.util.Optional;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import static eu.europa.ec.edelivery.smp.cron.CronTriggerConfig.TRIGGER_BEAN_PROPERTY_REFRESH;
 import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SMP_CLUSTER_ENABLED;
+import static eu.europa.ec.edelivery.smp.cron.CronTriggerConfig.TRIGGER_BEAN_PROPERTY_REFRESH;
 import static org.apache.commons.lang3.time.DateFormatUtils.ISO_8601_EXTENDED_DATETIME_FORMAT;
 
 /**
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchService.java
index d5f38fd79a546266daed65e70e53e6d602a05e08..554d5eb3a87a0459f7d48720ba7bdd749b0ca3c0 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchService.java
@@ -102,7 +102,6 @@ public class UIResourceSearchService extends UIServiceBase<DBResource, ServiceGr
             smdro.setDocumentIdentifier(subresource.getIdentifierValue());
             smdro.setDocumentIdentifierScheme(subresource.getIdentifierScheme());
             serviceGroupRo.getServiceMetadata().add(smdro);
-
         });
 
         return serviceGroupRo;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceService.java
index 5e6844e99e4ce7da522cf75a4fef188697abdd41..8a12cc1e1529d52decb71b5125d309a1ec63269b 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceService.java
@@ -1,7 +1,9 @@
 package eu.europa.ec.edelivery.smp.services.ui;
 
 import eu.europa.ec.edelivery.smp.conversion.IdentifierService;
-import eu.europa.ec.edelivery.smp.data.dao.*;
+import eu.europa.ec.edelivery.smp.data.dao.ResourceDao;
+import eu.europa.ec.edelivery.smp.data.dao.SubresourceDao;
+import eu.europa.ec.edelivery.smp.data.dao.SubresourceDefDao;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBDocument;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBSubresource;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
index 0ce0c73c7bd53c0ee9029a6105bdf8b099ed644a..fac78825f1f8e9e1ee978c19c042dc942b35bda7 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
@@ -34,7 +34,6 @@ import java.security.cert.Certificate;
 import java.security.cert.*;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-import java.time.OffsetDateTime;
 import java.util.*;
 import java.util.regex.Pattern;
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java
index 2ec17d2b745cb7d66fc575d8c1c09c475b92b622..d58089891f7fe6c18240b300e0536629597f85f9 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java
@@ -49,12 +49,12 @@ public class UIUserService extends UIServiceBase<DBUser, UserRO> {
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(UIUserService.class);
 
-    private UserDao userDao;
+    private final UserDao userDao;
     CredentialDao credentialDao;
-    private ConfigurationService configurationService;
-    private ConversionService conversionService;
+    private final ConfigurationService configurationService;
+    private final ConversionService conversionService;
 
-    private UITruststoreService truststoreService;
+    private final UITruststoreService truststoreService;
 
     public UIUserService(UserDao userDao,
                          CredentialDao credentialDao,
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/sml/SmlConnector.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/sml/SmlConnector.java
index cecc91f2b157b1ce8d6f67721689e8d2333293cc..2804ed719a08ba3a3c2565f1eac1941e04f7a12d 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/sml/SmlConnector.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/sml/SmlConnector.java
@@ -120,7 +120,7 @@ public class SmlConnector implements ApplicationContextAware {
         } catch (NotFoundFault e) {
             return processSMLErrorMessage(e, normalizedParticipantId);
         } catch (Exception e) {
-            LOG.error(e.getClass().getName() + "" + e.getMessage(), e);
+            LOG.error(e.getClass().getName() + e.getMessage(), e);
             throw new SMPRuntimeException(ErrorCode.SML_INTEGRATION_EXCEPTION, e, ExceptionUtils.getRootCauseMessage(e));
         }
     }
@@ -193,7 +193,7 @@ public class SmlConnector implements ApplicationContextAware {
         } catch (BadRequestFault e) {
             processSMLErrorMessage(e, domain);
         } catch (Exception e) {
-            LOG.error(e.getClass().getName() + "" + e.getMessage(), e);
+            LOG.error(e.getClass().getName() + e.getMessage(), e);
             throw new SMPRuntimeException(ErrorCode.SML_INTEGRATION_EXCEPTION, e, ExceptionUtils.getRootCauseMessage(e));
         }
         // if not error is thrown - the registration is done OK.
@@ -256,7 +256,7 @@ public class SmlConnector implements ApplicationContextAware {
         } catch (NotFoundFault e) {
             return processSMLErrorMessage(e, normalizedParticipantId);
         } catch (Exception e) {
-            LOG.error(e.getClass().getName() + "" + e.getMessage(), e);
+            LOG.error(e.getClass().getName() + e.getMessage(), e);
             throw new SMPRuntimeException(ErrorCode.SML_INTEGRATION_EXCEPTION, e, ExceptionUtils.getRootCauseMessage(e));
         }
     }
@@ -273,7 +273,7 @@ public class SmlConnector implements ApplicationContextAware {
         } catch (NotFoundFault e) {
             processSMLErrorMessage(e, domain);
         } catch (Exception e) {
-            LOG.error(e.getClass().getName() + "" + e.getMessage(), e);
+            LOG.error(e.getClass().getName() + e.getMessage(), e);
             throw new SMPRuntimeException(ErrorCode.SML_INTEGRATION_EXCEPTION, e, ExceptionUtils.getRootCauseMessage(e));
         }
     }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/PropertyUtils.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/PropertyUtils.java
index 47d7875b44ad45674b2b2851b938a6f9b506d360..8a3c2063a718818acd430dc29916a6fec5208ffc 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/PropertyUtils.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/PropertyUtils.java
@@ -31,7 +31,7 @@ public class PropertyUtils {
     private static final String REG_EXP_VALUE_SEPARATOR = "\\|";
     private static final String REG_EXP_MAP_SEPARATOR = ":";
 
-    private static UrlValidator urlValidator = new UrlValidator(new String[]{"http", "https"}, UrlValidator.ALLOW_LOCAL_URLS);
+    private static final UrlValidator urlValidator = new UrlValidator(new String[]{"http", "https"}, UrlValidator.ALLOW_LOCAL_URLS);
 
 
     public static Object parseProperty(SMPPropertyEnum prop, String value, File rootFolder) {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SessionSecurityUtils.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SessionSecurityUtils.java
index 0bc9fb999aa8793ec5a8ac98b109f816216d2fe3..55c05034fe2def18fa114076a72af29705347909 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SessionSecurityUtils.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SessionSecurityUtils.java
@@ -67,12 +67,12 @@ public class SessionSecurityUtils {
         SecurityUtils.Secret secret = getAuthenticationSecret();
         if (secret == null) {
             // try to convert to long value
-            return new Long(id);
+            return Long.valueOf(id);
         }
         String decVal = SecurityUtils.decryptUrlSafe(secret, id);
         int indexOfSeparator = decVal.indexOf('#');
         String value = indexOfSeparator > -1 ? decVal.substring(0, indexOfSeparator) : decVal;
-        return new Long(value);
+        return Long.valueOf(value);
     }
 
     public static Authentication getSessionAuthentication() {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SmpUrlBuilder.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SmpUrlBuilder.java
index f7229c9131258b1907d1dca4bfba6d79df1e8fc3..f8bde695867dbfa5cd324f5d783a9cab4899fd1f 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SmpUrlBuilder.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SmpUrlBuilder.java
@@ -27,7 +27,6 @@ import org.springframework.web.util.UriComponentsBuilder;
 import org.springframework.web.util.UrlPathHelper;
 
 import javax.servlet.http.HttpServletRequest;
-import java.net.URI;
 
 /**
  * This class provides tools to generate SMP's URL in responses. The client can use provided URL for another call to the SMP.
@@ -49,7 +48,7 @@ public class SmpUrlBuilder {
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(SmpUrlBuilder.class);
 
-    private ConfigurationService configurationService;
+    private final ConfigurationService configurationService;
 
 
     public SmpUrlBuilder(ConfigurationService configurationService) {
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/SmlIntegrationConfiguration.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/SmlIntegrationConfiguration.java
index 054c48018579106b19be4bef7a12155077395371..123646df62a8940fa19b0c594d22cad5371c9fae 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/SmlIntegrationConfiguration.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/SmlIntegrationConfiguration.java
@@ -2,8 +2,6 @@ package eu.europa.ec.edelivery.smp.config;
 
 import eu.europa.ec.bdmsl.ws.soap.*;
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import org.mockito.ArgumentMatchers;
-import org.mockito.BDDMockito;
 import org.mockito.Mockito;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Primary;
@@ -16,8 +14,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.BDDMockito.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.BDDMockito.willThrow;
 import static org.springframework.beans.factory.config.ConfigurableBeanFactory.SCOPE_PROTOTYPE;
 
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPExtensionInitializerTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPExtensionInitializerTest.java
index 0223d2052351249cb825e4531c72f4af5e54ff20..122721ce26b9d24d6ec67c066840f4d78b63b460 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPExtensionInitializerTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPExtensionInitializerTest.java
@@ -1,11 +1,7 @@
 package eu.europa.ec.edelivery.smp.config.init;
 
-import eu.europa.ec.edelivery.smp.config.SMPDatabaseConfig;
 import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
 import eu.europa.ec.edelivery.smp.data.dao.ExtensionDao;
-import eu.europa.ec.edelivery.smp.services.AbstractServiceTest;
-import eu.europa.ec.smp.spi.OasisSMPExtension;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.ComponentScan;
@@ -13,7 +9,7 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.transaction.annotation.Transactional;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 
 @ContextConfiguration( classes = {SMPExtensionInitializerTest.OasisSMPExtensionConfig.class}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPKeystoreConfBuilderTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPKeystoreConfBuilderTest.java
index 60fe605941c37d6fd327bad3a7d69ac6e4bbb54c..a0276f209d33f4d90e0ad2a9c926ddf27e940096 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPKeystoreConfBuilderTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPKeystoreConfBuilderTest.java
@@ -1,19 +1,16 @@
 package eu.europa.ec.edelivery.smp.config.init;
 
 
-
 import eu.europa.ec.edelivery.security.utils.SecurityUtils;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
 import java.io.File;
-import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.security.KeyStore;
 
 import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.*;
-import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.TRUSTSTORE_FILENAME;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class SMPKeystoreConfBuilderTest {
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverterTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverterTest.java
index 9c7db51b3f1a71fb5ac5a4314acdeacf68ea643a..85ca31d4c0e64bafb09658fca28846fdeb16278e 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverterTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverterTest.java
@@ -8,15 +8,12 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBCredential;
 import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
 import eu.europa.ec.edelivery.smp.data.ui.UserRO;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.platform.commons.util.StringUtils;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
-import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.springframework.core.convert.ConversionService;
 
 import java.time.OffsetDateTime;
 import java.util.List;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/IdentifierServiceTests.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/IdentifierServiceTests.java
index cb0c29d5d29f76c3f0b3581fa36cae858eacd05c..ffbe10d07a86a367e54baded344b213a4f52d2e9 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/IdentifierServiceTests.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/IdentifierServiceTests.java
@@ -25,7 +25,8 @@ import java.util.Arrays;
 import java.util.Collection;
 
 import static java.util.Arrays.asList;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
 
 /**
  * Created by gutowpa on 06/03/2017.
@@ -56,12 +57,12 @@ public class IdentifierServiceTests {
     @Parameterized.Parameter(3)
     public String expectedValue;
 
-    private IdentifierService testInstance = new IdentifierService(Mockito.mock(ConfigurationService.class));
+    private final IdentifierService testInstance = new IdentifierService(Mockito.mock(ConfigurationService.class));
 
     @Before
     public void init() {
-        testInstance.configureDocumentIdentifierFormatter(asList(new String[]{"case-SENSITIVE-scheme-1", "Case-SENSITIVE-Scheme-2"}));
-        testInstance.configureParticipantIdentifierFormatter(asList(new String[]{"case-sensitive-scheme-1", "Case-SENSITIVE-Scheme-2"}), false, null);
+        testInstance.configureDocumentIdentifierFormatter(asList("case-SENSITIVE-scheme-1", "Case-SENSITIVE-Scheme-2"));
+        testInstance.configureParticipantIdentifierFormatter(asList("case-sensitive-scheme-1", "Case-SENSITIVE-Scheme-2"), false, null);
     }
 
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverterTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverterTest.java
index b85908b636585fac6a162c7a2713890c20578cf2..dd0860e88a70fd98c34671aaefd2b54efdddde36 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverterTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverterTest.java
@@ -9,8 +9,6 @@ import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.springframework.core.convert.ConversionService;
 
-import static org.assertj.core.api.Assertions.assertThat;
-
 /**
  * @author Sebastian-Ion TINCU
  */
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractBaseDao.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractBaseDao.java
index 688d0c90da722024614c3c2c027cbf998b479ead..76f40a0f8dfca2d838a07930f9a57dff184f2edb 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractBaseDao.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractBaseDao.java
@@ -1,12 +1,7 @@
 package eu.europa.ec.edelivery.smp.data.dao;
 
 import eu.europa.ec.edelivery.smp.config.SMPDatabaseConfig;
-import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import eu.europa.ec.edelivery.smp.data.model.DBDomainResourceDef;
-import eu.europa.ec.edelivery.smp.data.model.ext.DBResourceDef;
-import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.apache.commons.io.FileUtils;
-import org.junit.Before;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.annotation.DirtiesContext;
@@ -19,8 +14,6 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 
 import static eu.europa.ec.edelivery.smp.config.enums.SMPEnvPropertyEnum.*;
-import static eu.europa.ec.edelivery.smp.testutil.TestConstants.TEST_DOMAIN_CODE_1;
-import static eu.europa.ec.edelivery.smp.testutil.TestConstants.TEST_SML_SUBDOMAIN_CODE_1;
 
 /**
  * @author Joze Rihtarsic
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractJunit5BaseDao.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractJunit5BaseDao.java
index 5c06e1be41b7627855021141e424207fd4135306..4f1b49a3db2a8d9e353d3e45573f89f822048201 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractJunit5BaseDao.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractJunit5BaseDao.java
@@ -1,16 +1,15 @@
 package eu.europa.ec.edelivery.smp.data.dao;
 
 import eu.europa.ec.edelivery.smp.config.SMPDatabaseConfig;
+import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.services.AbstractServiceTest;
 import org.apache.commons.io.FileUtils;
 import org.junit.jupiter.api.extension.ExtendWith;
-import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.jdbc.Sql;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import java.io.IOException;
 import java.nio.file.Path;
@@ -32,10 +31,14 @@ import static eu.europa.ec.edelivery.smp.config.enums.SMPEnvPropertyEnum.*;
         executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)
 public abstract class AbstractJunit5BaseDao {
 
+    @Autowired
+    protected ConfigurationDao configurationDao;
+
     @Autowired
     protected TestUtilsDao testUtilsDao;
+
     public static final String BUILD_FOLDER = "target";
-    public static final Path SECURITY_PATH= Paths.get(BUILD_FOLDER, "smp");
+    public static final Path SECURITY_PATH = Paths.get(BUILD_FOLDER, "smp");
     public static final String DATABASE_URL = "jdbc:h2:file:./target/DomiSmpTestDb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE;AUTO_SERVER=TRUE;";
     public static final String DATABASE_USERNAME = "smp";
     public static final String DATABASE_PASS = "smp";
@@ -63,4 +66,10 @@ public abstract class AbstractJunit5BaseDao {
         FileUtils.copyDirectory(resourceDirectory.toFile(), SECURITY_PATH.toFile());
     }
 
+
+    public void setDatabaseProperty(SMPPropertyEnum prop, String value) {
+        configurationDao.setPropertyToDatabase(prop, value, "Test property");
+        configurationDao.reloadPropertiesFromDatabase();
+    }
+
 }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractResourceDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractResourceDaoTest.java
index 8619ee2160ade882bf9f769ed8ce2d9d3a8d74db..0f9e3c54b2343969c715f662d3f9811f76355e8e 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractResourceDaoTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractResourceDaoTest.java
@@ -1,6 +1,8 @@
 package eu.europa.ec.edelivery.smp.data.dao;
 
-import eu.europa.ec.edelivery.smp.data.model.*;
+import eu.europa.ec.edelivery.smp.data.model.DBDomain;
+import eu.europa.ec.edelivery.smp.data.model.DBDomainResourceDef;
+import eu.europa.ec.edelivery.smp.data.model.DBGroup;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
 import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember;
 import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
@@ -8,7 +10,6 @@ import eu.europa.ec.edelivery.smp.testutil.TestConstants;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.junit.Before;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Optional;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AlertDaoIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AlertDaoIntegrationTest.java
index a1d25f4091d89eef2894f1311a114c48c95938e4..00cd8b3d92f23a62859c9d68cc2bcc1c91fbe848 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AlertDaoIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AlertDaoIntegrationTest.java
@@ -2,7 +2,6 @@ package eu.europa.ec.edelivery.smp.data.dao;
 
 import eu.europa.ec.edelivery.smp.data.model.DBAlert;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AuditIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AuditIntegrationTest.java
index 10059d2473aafa5659032f7e84ca9a8f9b090e86..e856c8deae0c13dc35504c8a07837f6275dad6d6 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AuditIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AuditIntegrationTest.java
@@ -14,8 +14,9 @@ package eu.europa.ec.edelivery.smp.data.dao;
 
 import eu.europa.ec.edelivery.smp.data.enums.CredentialTargetType;
 import eu.europa.ec.edelivery.smp.data.enums.CredentialType;
-import eu.europa.ec.edelivery.smp.data.enums.VisibilityType;
-import eu.europa.ec.edelivery.smp.data.model.*;
+import eu.europa.ec.edelivery.smp.data.model.BaseEntity;
+import eu.europa.ec.edelivery.smp.data.model.DBAlert;
+import eu.europa.ec.edelivery.smp.data.model.DBDomain;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBSubresource;
 import eu.europa.ec.edelivery.smp.data.model.user.DBCertificate;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/BaseDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/BaseDaoTest.java
index fde66a67f7a35997bc9bf82aac35506f5ebbc7a8..9d3e78d163cdd27b997423d21e8f62851e25a019 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/BaseDaoTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/BaseDaoTest.java
@@ -1,17 +1,16 @@
 package eu.europa.ec.edelivery.smp.data.dao;
 
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
-import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import javax.persistence.EntityManager;
-import javax.persistence.Parameter;
 import javax.persistence.PersistenceContext;
-import javax.persistence.criteria.*;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
 import java.util.Collections;
 import java.util.List;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDAOImplTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDAOImplTest.java
index 99909a9f8021a7aada6a0f06d464fd1fe8fdf1b6..9d5fe297846f4d0e6c660f67304f779ce589000d 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDAOImplTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDAOImplTest.java
@@ -414,11 +414,11 @@ public class ConfigurationDAOImplTest extends AbstractBaseDao {
         String newTestPassword = UUID.randomUUID().toString();
         String newDBTestPassword = newTestPassword;
         configurationDao.setPropertyToDatabase(SMPPropertyEnum.KEYSTORE_PASSWORD,
-                newDBTestPassword + "", "");
+                newDBTestPassword, "");
         configurationDao.setPropertyToDatabase(SMPPropertyEnum.TRUSTSTORE_PASSWORD,
-                newDBTestPassword + "", "");
+                newDBTestPassword, "");
         configurationDao.setPropertyToDatabase(SMPPropertyEnum.HTTP_PROXY_PASSWORD,
-                newDBTestPassword + "", "");
+                newDBTestPassword, "");
 
         configurationDao.reloadPropertiesFromDatabase();
 
@@ -440,7 +440,7 @@ public class ConfigurationDAOImplTest extends AbstractBaseDao {
         assertEquals(newTestPassword, configurationDao.getCachedPropertyValue(SMPPropertyEnum.HTTP_PROXY_PASSWORD));
 
         // test decrypt
-        File encryptionKey = (File) configurationDao.getCachedPropertyValue(SMPPropertyEnum.ENCRYPTION_FILENAME);
+        File encryptionKey = configurationDao.getCachedPropertyValue(SMPPropertyEnum.ENCRYPTION_FILENAME);
         assertEquals(newTestPassword, configurationDao.decryptString(SMPPropertyEnum.KEYSTORE_PASSWORD, dbKeystorePassword, encryptionKey));
         assertEquals(newTestPassword, configurationDao.decryptString(SMPPropertyEnum.TRUSTSTORE_PASSWORD, dbTruststorePassword, encryptionKey));
         assertEquals(newTestPassword, configurationDao.decryptString(SMPPropertyEnum.HTTP_PROXY_PASSWORD, dbProxyPassword, encryptionKey));
@@ -485,7 +485,7 @@ public class ConfigurationDAOImplTest extends AbstractBaseDao {
 
         configurationDao.contextRefreshedEvent();
         PropertyUpdateListener listener = Mockito.mock(PropertyUpdateListener.class);
-        Mockito.doReturn(Arrays.asList(SMP_ALERT_BATCH_SIZE)).when(listener).handledProperties();
+        Mockito.doReturn(Collections.singletonList(SMP_ALERT_BATCH_SIZE)).when(listener).handledProperties();
         Mockito.doNothing().when(listener).updateProperties(Mockito.anyMap());
         ArgumentCaptor<Map<SMPPropertyEnum, Object>> argCaptor = ArgumentCaptor.forClass(Map.class);
         configurationDao.updateListener("testListener", listener);
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDaoIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDaoIntegrationTest.java
index 9b22b3e18d9b28ffb03f76fb54485fc989868033..0f1a8280d07b267d4d61f2660c2d95e0cfd16ed6 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDaoIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDaoIntegrationTest.java
@@ -7,8 +7,6 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBCredential;
 import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
 import eu.europa.ec.edelivery.smp.testutil.TestConstants;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.junit.Assert;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoIntegrationTest.java
index 08034e8154805f0b644e042c48e5cd5c15ea40c2..d54bc1eeb2476c1a673166866486d99cc72f4eed 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoIntegrationTest.java
@@ -1,24 +1,19 @@
 package eu.europa.ec.edelivery.smp.data.dao;
 
-import eu.europa.ec.edelivery.smp.data.model.*;
-import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
+import eu.europa.ec.edelivery.smp.data.model.DBDomain;
 import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
 import eu.europa.ec.edelivery.smp.testutil.TestConstants;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.junit.Before;
-import org.junit.Rule;
 import org.junit.Test;
-import org.junit.rules.ExpectedException;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.Collections;
-import java.util.List;
 import java.util.Optional;
 
 import static org.junit.Assert.*;
 
 /**
- *  Purpose of class is to test all resource methods with database.
+ * Purpose of class is to test all resource methods with database.
  *
  * @author Joze Rihtarsic
  * @since 4.1
@@ -67,7 +62,7 @@ public class DomainDaoIntegrationTest extends AbstractBaseDao {
     public void getTheOnlyDomainNoDomain() {
 
         // execute
-        IllegalStateException exception = assertThrows(IllegalStateException.class, ()->testInstance.getTheOnlyDomain());
+        IllegalStateException exception = assertThrows(IllegalStateException.class, () -> testInstance.getTheOnlyDomain());
         assertEquals(ErrorCode.NO_DOMAIN.getMessage(), exception.getMessage());
     }
 
@@ -85,7 +80,7 @@ public class DomainDaoIntegrationTest extends AbstractBaseDao {
 
         // test
         Optional<DBDomain> res = testInstance.getTheOnlyDomain();
-        assertTrue(!res.isPresent());
+        assertFalse(res.isPresent());
     }
 
     @Test
@@ -170,7 +165,7 @@ public class DomainDaoIntegrationTest extends AbstractBaseDao {
         // set
         testUtilsDao.createSubresources();
         DBDomain d = testUtilsDao.getD1();
-        Long cnt  = testInstance.getResourceCountForDomain(d.getId());
+        Long cnt = testInstance.getResourceCountForDomain(d.getId());
 
         assertEquals(1, cnt.intValue());
     }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoTest.java
index 9d433f3f1021763a127838d97595192c86391e76..317829b0af634b91453395e8d6affbb133e15b7b 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoTest.java
@@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 import java.util.List;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 /**
  * The group of resources with shared resource management rights. The user with group admin has rights to create/delete
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoMembershipIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoMembershipIntegrationTest.java
index 9addd96b9757d53a1a5788a8d26e87c8d82ea97d..0ba25fa2610adbe4f4b420b89311da418c544495 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoMembershipIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoMembershipIntegrationTest.java
@@ -6,8 +6,8 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember;
 import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
 import eu.europa.ec.edelivery.smp.testutil.TestConstants;
 import org.junit.Test;
-
 import org.springframework.transaction.annotation.Transactional;
+
 import java.util.Optional;
 
 import static org.junit.Assert.*;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoTest.java
index b2010dcf791c5f4781fff1d2f5ec59a430bf0d21..83804441ff424675c187a326aa6245439b3e9fdf 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoTest.java
@@ -16,8 +16,8 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-
 import org.springframework.transaction.annotation.Transactional;
+
 import java.util.List;
 import java.util.Optional;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDefDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDefDaoTest.java
index f2bb6de27a9ad453b106895c9ad5e3b3bacda900..d09cc0d418185dbbabe90751fe60f4739ec2ecce 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDefDaoTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDefDaoTest.java
@@ -1,6 +1,5 @@
 package eu.europa.ec.edelivery.smp.data.dao;
 
-import eu.europa.ec.edelivery.smp.data.model.ext.DBExtension;
 import eu.europa.ec.edelivery.smp.data.model.ext.DBResourceDef;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.junit.Before;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceMemberDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceMemberDaoTest.java
index 2754131d0c33d206d51c969b184fd5dc919627ee..584888a02d25ab07c7b0372aecab6ab761dcfa0e 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceMemberDaoTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceMemberDaoTest.java
@@ -4,8 +4,6 @@ import eu.europa.ec.edelivery.smp.data.enums.MembershipRoleType;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
 import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember;
 import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
-import eu.europa.ec.edelivery.smp.testutil.TestConstants;
-import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.junit.Before;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/TestUtilsDao.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/TestUtilsDao.java
index 5b6ca57d5d95f598a8af07002aaeb12b39595a7d..b2e4749253bcc47a464c884cf193ab6093df51ff 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/TestUtilsDao.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/TestUtilsDao.java
@@ -20,10 +20,10 @@ import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.bcrypt.BCrypt;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
-import org.springframework.transaction.annotation.Transactional;
 
 import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*;
 import static eu.europa.ec.edelivery.smp.testutil.TestDBUtils.*;
@@ -609,6 +609,15 @@ public class TestUtilsDao {
     }
 
 
+    @Transactional
+    public <E> E find(Class<E> clazz, Object id) {
+        LOG.debug("find entity: [{}] for type [{}]", id, clazz);
+        return memEManager.find(clazz, id);
+    }
+
+
+
+
     public void clear() {
         memEManager.clear();
     }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/UserDaoIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/UserDaoIntegrationTest.java
index 8ca074ee21db1ebd17330d763404c2300a990c03..60a880694d2d73682bb5344015d5febda010edb2 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/UserDaoIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/UserDaoIntegrationTest.java
@@ -7,10 +7,7 @@ import eu.europa.ec.edelivery.smp.testutil.TestConstants;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.hamcrest.CoreMatchers;
 import org.hamcrest.MatcherAssert;
-import org.junit.Ignore;
-import org.junit.Rule;
 import org.junit.Test;
-import org.junit.rules.ExpectedException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPMySQL5InnoDBDialectTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPMySQL5InnoDBDialectTest.java
index 0156f38f92176effbf3cdda856ebd37539c1c40c..9733d71cf26f1f91acb8fe0bd6953875743f121b 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPMySQL5InnoDBDialectTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPMySQL5InnoDBDialectTest.java
@@ -4,7 +4,6 @@ import org.junit.Test;
 
 import java.sql.Types;
 
-import static org.junit.Assert.*;
 import static org.junit.Assert.assertEquals;
 
 public class SMPMySQL5InnoDBDialectTest {
@@ -25,4 +24,4 @@ public class SMPMySQL5InnoDBDialectTest {
         assertEquals("varchar(65535)  CHARACTER SET utf8 COLLATE utf8_bin", testInstance.getTypeName(Types.VARCHAR, 65535,0,0));
 
     }
-}
\ No newline at end of file
+}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGeneratorTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGeneratorTest.java
index 9e772a48a3fc4e9db79521b9d911eac621162611..e45d672e61991a630dfd9c9f81abcf263ba47fe5 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGeneratorTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGeneratorTest.java
@@ -1,9 +1,7 @@
 package eu.europa.ec.edelivery.smp.data.dao.utils;
 
-import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import junitparams.JUnitParamsRunner;
 import junitparams.Parameters;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -12,19 +10,17 @@ import org.junit.runner.RunWith;
 import java.io.File;
 import java.io.IOException;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
 
 @RunWith(JUnitParamsRunner.class)
 public class SMPSchemaGeneratorTest {
 
-    private static final String DIALECT_ORACLE="org.hibernate.dialect.Oracle10gDialect";
-    private static final String DIALECT_MYSQL_INNO5="org.hibernate.dialect.MySQL5InnoDBDialect";
+    private static final String DIALECT_ORACLE = "org.hibernate.dialect.Oracle10gDialect";
+    private static final String DIALECT_MYSQL_INNO5 = "org.hibernate.dialect.MySQL5InnoDBDialect";
 
-    protected static String ENTITY_PACKAGES= "eu.europa.ec.edelivery.smp.data.model,eu.europa.ec.edelivery.smp.data.model.user,eu.europa.ec.edelivery.smp.data.model.doc,eu.europa.ec.edelivery.smp.data.model.ext";
+    protected static String ENTITY_PACKAGES = "eu.europa.ec.edelivery.smp.data.model,eu.europa.ec.edelivery.smp.data.model.user,eu.europa.ec.edelivery.smp.data.model.doc,eu.europa.ec.edelivery.smp.data.model.ext";
 
 
     private static final Object[] dialectTestCases() {
@@ -55,16 +51,16 @@ public class SMPSchemaGeneratorTest {
         File fDrop = new File("target/oracle10g-drop.ddl");
         f.delete(); // delete if exists
         fDrop.delete(); // delete if exists
-        assertTrue(!f.exists());
-        assertTrue(!fDrop.exists());
+        assertFalse(f.exists());
+        assertFalse(fDrop.exists());
 
 
         testInstance.createDDLScript(folder, dialect, lstPackages, version);
 
         assertTrue(f.exists());
-        assertTrue(f.length()>0);
+        assertTrue(f.length() > 0);
         assertTrue(fDrop.exists());
-        assertTrue(fDrop.length()>0);
+        assertTrue(fDrop.length() > 0);
     }
 
     @Test
@@ -122,11 +118,12 @@ public class SMPSchemaGeneratorTest {
 
         testInstance.getAllEntityClasses("eu.not.exists");
     }
+
     @Test
     public void getAllEntityClasses() throws ClassNotFoundException {
 
         // given when
-        List<Class> result =  testInstance.getAllEntityClasses("eu.europa.ec.edelivery.smp.data.model");
+        List<Class> result = testInstance.getAllEntityClasses("eu.europa.ec.edelivery.smp.data.model");
 
         assertEquals(10, result.size());
     }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/ui/databind/SMPAuthorityDeserializerTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/ui/databind/SMPAuthorityDeserializerTest.java
index 70f337365e29adc663459518fff7c1327b134fc5..981c5f49c8dcd67434c7b3f997a517ef8c17f31d 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/ui/databind/SMPAuthorityDeserializerTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/ui/databind/SMPAuthorityDeserializerTest.java
@@ -3,7 +3,6 @@ package eu.europa.ec.edelivery.smp.data.ui.databind;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import eu.europa.ec.edelivery.smp.data.ui.UserRO;
 import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import java.io.IOException;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/identifiers/ParticipantIdentifierFormatterParseTests.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/identifiers/ParticipantIdentifierFormatterParseTests.java
index 4cdd7142dab33ec4f027a7ed5d3898489a6c7259..546372d0bede9f075587a875658ee4d43ac5b170 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/identifiers/ParticipantIdentifierFormatterParseTests.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/identifiers/ParticipantIdentifierFormatterParseTests.java
@@ -7,7 +7,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-
 import java.util.Arrays;
 import java.util.Collection;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/DomainGuardTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/DomainGuardTest.java
index 13ea2e83cf4064e78b4adea6da2fa9f3f39949bb..0365092530f0fedb61bcb14342c3fd0f5393067c 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/DomainGuardTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/DomainGuardTest.java
@@ -2,7 +2,9 @@ package eu.europa.ec.edelivery.smp.security;
 
 import eu.europa.ec.edelivery.smp.auth.SMPUserDetails;
 import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
+import eu.europa.ec.edelivery.smp.data.enums.VisibilityType;
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
+import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.servlet.ResourceAction;
 import eu.europa.ec.edelivery.smp.servlet.ResourceRequest;
@@ -23,7 +25,7 @@ class DomainGuardTest extends AbstractJunit5BaseDao {
     DomainGuard testInstance;
 
     ResourceRequest resourceRequest = Mockito.mock(ResourceRequest.class);
-    SMPUserDetails user = Mockito.mock(SMPUserDetails.class);
+    SMPUserDetails userDetails = Mockito.mock(SMPUserDetails.class);
 
     @BeforeEach
     public void prepareDatabase() {
@@ -37,7 +39,7 @@ class DomainGuardTest extends AbstractJunit5BaseDao {
     void testResolveAndAuthorizeForDomainInvalidRequestMissingAction() {
 
         SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
-                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user));
+                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails));
 
         assertThat(result.getMessage(), containsString("Invalid request"));
     }
@@ -46,44 +48,44 @@ class DomainGuardTest extends AbstractJunit5BaseDao {
     void testResolveAndAuthorizeForDomainDeleteInvalidRequestNotUser() {
         when(resourceRequest.getAction()).thenReturn(ResourceAction.DELETE);
         AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class,
-                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user));
+                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails));
 
         assertThat(result.getMessage(), containsString("User is not authorized for the domain!"));
     }
 
     @Test
     void testResolveAndAuthorizeForDomainDeleteInvalidRequestUserNotAuthorized() {
-        when(user.getUser()).thenReturn(testUtilsDao.getUser3());
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser3());
         when(resourceRequest.getAction()).thenReturn(ResourceAction.DELETE);
         AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class,
-                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user));
+                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails));
 
         assertThat(result.getMessage(), containsString("User is not authorized for the domain!"));
     }
 
     @Test
     void testResolveAndAuthorizeForDomainCreateInvalidRequestUserNotAuthorized() {
-        when(user.getUser()).thenReturn(testUtilsDao.getUser3());
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser3());
         when(resourceRequest.getAction()).thenReturn(ResourceAction.CREATE_UPDATE);
         AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class,
-                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user));
+                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails));
 
         assertThat(result.getMessage(), containsString("User is not authorized for the domain!"));
     }
 
     @Test
     void testResolveAndAuthorizeForDomainDeleteUserAuthorized() {
-        when(user.getUser()).thenReturn(testUtilsDao.getUser1());
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1());
         when(resourceRequest.getAction()).thenReturn(ResourceAction.DELETE);
-        DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, user);
+        DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails);
         assertNotNull(domain);
     }
 
     @Test
     void testResolveAndAuthorizeForDomainDeleteCreateAuthorized() {
-        when(user.getUser()).thenReturn(testUtilsDao.getUser1());
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1());
         when(resourceRequest.getAction()).thenReturn(ResourceAction.CREATE_UPDATE);
-        DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, user);
+        DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails);
         assertNotNull(domain);
     }
 
@@ -91,7 +93,7 @@ class DomainGuardTest extends AbstractJunit5BaseDao {
     void testResolveAndAuthorizeForDomainCreateInvalidRequestNotUser() {
         when(resourceRequest.getAction()).thenReturn(ResourceAction.CREATE_UPDATE);
         AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class,
-                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user));
+                () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails));
 
         assertThat(result.getMessage(), containsString("User is not authorized for the domain!"));
     }
@@ -99,16 +101,37 @@ class DomainGuardTest extends AbstractJunit5BaseDao {
     @Test
     void testResolveAndAuthorizeForDomainNoUserOK() {
         when(resourceRequest.getAction()).thenReturn(ResourceAction.READ);
-        DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, user);
+        DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails);
         assertNotNull(domain);
     }
 
     @Test
     void testResolveAndAuthorizeForDomain() {
-        when(user.getUser()).thenReturn(testUtilsDao.getUser1());
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1());
         when(resourceRequest.getAction()).thenReturn(ResourceAction.READ);
-        DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, user);
+        DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails);
         assertNotNull(domain);
     }
 
+    @Test
+    void testCanReadPrivateDomainAnonimous() {
+        DBDomain domain = Mockito.mock(DBDomain.class);
+        when(domain.getVisibility()).thenReturn(VisibilityType.PRIVATE);
+        when(userDetails.getUser()).thenReturn(null);
+        boolean result = testInstance.canRead(userDetails, domain);
+        assertFalse(result);
+    }
+
+    @Test
+    void testCanReadPrivateDomainUnAuthorized() {
+        DBDomain domain = Mockito.mock(DBDomain.class);
+        DBUser user = Mockito.mock(DBUser.class);
+        when(domain.getVisibility()).thenReturn(VisibilityType.PRIVATE);
+        when(userDetails.getUser()).thenReturn(user);
+        when(user.getId()).thenReturn(-100L);
+        when(domain.getId()).thenReturn(-100L);
+        // then user is not authorized to read the domain
+        boolean result = testInstance.canRead(userDetails, domain);
+        assertFalse(result);
+    }
 }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/ResourceGuardTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/ResourceGuardTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..18865ac0e4f77fec8db04e664c20793d4347181a
--- /dev/null
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/ResourceGuardTest.java
@@ -0,0 +1,104 @@
+package eu.europa.ec.edelivery.smp.security;
+
+import eu.europa.ec.edelivery.smp.auth.SMPUserDetails;
+import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
+import eu.europa.ec.edelivery.smp.data.enums.VisibilityType;
+import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
+import eu.europa.ec.edelivery.smp.servlet.ResourceAction;
+import eu.europa.ec.edelivery.smp.servlet.ResourceRequest;
+import org.hamcrest.CoreMatchers;
+import org.hamcrest.MatcherAssert;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
+import org.mockito.Mockito;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.when;
+
+class ResourceGuardTest extends AbstractJunit5BaseDao {
+
+    @Autowired
+    ResourceGuard testInstance;
+
+    ResourceRequest resourceRequest = Mockito.mock(ResourceRequest.class);
+    SMPUserDetails userDetails = Mockito.mock(SMPUserDetails.class);
+
+    @BeforeEach
+    public void prepareDatabase() {
+        testUtilsDao.clearData();
+        testUtilsDao.createSubresources();
+        testUtilsDao.creatDomainMemberships();
+        testUtilsDao.createGroupMemberships();
+        testUtilsDao.createResourceMemberships();
+    }
+
+    @ParameterizedTest
+    @ValueSource(strings = {"READ", "CREATE_UPDATE", "DELETE"})
+    void testUserIsNotAuthorizedForActionOK(ResourceAction action) {
+        // given - user is authorized - see  the createResourceMemberships
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1());
+        boolean result1 = testInstance.userIsNotAuthorizedForAction(userDetails, action, testUtilsDao.getResourceD1G1RD1(), testUtilsDao.getD1());
+        boolean result = testInstance.userIsAuthorizedForAction(userDetails, action, testUtilsDao.getResourceD1G1RD1(), testUtilsDao.getD1());
+
+        assertTrue(result);
+        assertEquals(result1, !result);
+    }
+
+    @ParameterizedTest
+    @ValueSource(strings = {"READ", "DELETE"})
+    void testUserIsAuthorizedForActionOK(ResourceAction action) {
+        // given - user is authorized - see  the createResourceMemberships
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1());
+        boolean result = testInstance.userIsAuthorizedForAction(userDetails, action, testUtilsDao.getSubresourceD1G1RD1_S1());
+        // then
+        assertTrue(result);
+    }
+
+    @ParameterizedTest
+    @ValueSource(strings = {"CREATE_UPDATE"})
+    void testUserIsAuthorizedForActionNotSupported(ResourceAction action) {
+        // given - user is authorized - see  the createResourceMemberships
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1());
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                () -> testInstance.userIsAuthorizedForAction(userDetails, action, testUtilsDao.getSubresourceD1G1RD1_S1()));
+
+        // then
+        MatcherAssert.assertThat(result.getMessage(), CoreMatchers.containsString("Action not supported"));
+    }
+
+    @Test
+    void testCanReadResourceForPrivateDomainOK() {
+        // given - user is authorized - see  the createResourceMemberships
+        testUtilsDao.getD1().setVisibility(VisibilityType.PRIVATE);
+
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1());
+        boolean result = testInstance.canRead(userDetails, testUtilsDao.getSubresourceD1G1RD1_S1());
+        // then
+        assertTrue(result);
+    }
+
+    @Test
+    void testCanReadResourceForPrivateDomainNotMember() {
+        // given
+        testUtilsDao.getD1().setVisibility(VisibilityType.PRIVATE);
+
+        when(userDetails.getUser()).thenReturn(testUtilsDao.getUser2());
+        boolean result = testInstance.canRead(userDetails, testUtilsDao.getSubresourceD1G1RD1_S1());
+        // then
+        assertFalse(result);
+    }
+
+    @Test
+    void testCanReadResourceForPrivateDomainAnonymous() {
+        // given
+        testUtilsDao.getD1().setVisibility(VisibilityType.PRIVATE);
+
+        when(userDetails.getUser()).thenReturn(null);
+        boolean result = testInstance.canRead(userDetails, testUtilsDao.getSubresourceD1G1RD1_S1());
+        // then
+        assertFalse(result);
+    }
+}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AlertServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AlertServiceTest.java
index 93530708ec640bcdf7ee8ecfdf9cea89166a42d4..70f6ea13f07d5b2fa7bc5c60e48914bbebf1de14 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AlertServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AlertServiceTest.java
@@ -4,7 +4,6 @@ import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger;
 import eu.europa.ec.edelivery.smp.data.dao.AlertDao;
 import eu.europa.ec.edelivery.smp.data.dao.CredentialDao;
 import eu.europa.ec.edelivery.smp.data.dao.UserDao;
-import eu.europa.ec.edelivery.smp.data.enums.CredentialType;
 import eu.europa.ec.edelivery.smp.data.model.DBAlert;
 import eu.europa.ec.edelivery.smp.data.model.user.DBCredential;
 import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
@@ -17,7 +16,6 @@ import eu.europa.ec.edelivery.smp.services.mail.prop.CredentialSuspendedProperti
 import eu.europa.ec.edelivery.smp.services.mail.prop.CredentialVerificationFailedProperties;
 import eu.europa.ec.edelivery.smp.services.mail.prop.CredentialsExpirationProperties;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mockito;
@@ -420,7 +418,7 @@ public class AlertServiceTest {
         // test to contain all properties
         for (String prop : templateProperties) {
 
-            assertTrue(prop, model.getModel().keySet().contains(prop));
+            assertTrue(prop, model.getModel().containsKey(prop));
         }
         assertEquals(templateProperties.size(), model.getModel().size());
     }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceAllGetMethodsTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceAllGetMethodsTest.java
index fd918d2874e3885ec1e9d3ac9b8d37010378afba..2d68515086bb639999c0f4ffb210867a4e5be6b5 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceAllGetMethodsTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceAllGetMethodsTest.java
@@ -1,7 +1,7 @@
 package eu.europa.ec.edelivery.smp.services;
 
-import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
 import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
+import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
 import eu.europa.ec.edelivery.smp.data.ui.enums.AlertLevelEnum;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.commons.lang3.reflect.MethodUtils;
@@ -16,8 +16,10 @@ import java.util.*;
 import java.util.regex.Pattern;
 
 import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.*;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 
 @RunWith(Parameterized.class)
 public class ConfigurationServiceAllGetMethodsTest {
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceTest.java
index bbddb8f2c80fce851b4528988314387e8093fbed..87a136a1eeba1bbe98906c7348fa1a8e6dff06d2 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceTest.java
@@ -6,8 +6,10 @@ import org.junit.Test;
 import java.net.MalformedURLException;
 import java.net.URL;
 
-import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.*;
-import static org.junit.Assert.*;
+import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SSO_CAS_SMP_USER_DATA_URL_PATH;
+import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SSO_CAS_URL;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialServiceTest.java
index 0eb49a7182439f6ed3bd477ea9d986d1b2f36d6f..525a889b3adf0eed5bfcead10d4efe41a780e72b 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialServiceTest.java
@@ -3,42 +3,54 @@ package eu.europa.ec.edelivery.smp.services;
 
 import eu.europa.ec.edelivery.security.PreAuthenticatedCertificatePrincipal;
 import eu.europa.ec.edelivery.security.utils.X509CertificateUtils;
+import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
+import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
 import eu.europa.ec.edelivery.smp.data.model.user.DBCredential;
 import eu.europa.ec.edelivery.smp.testutil.TestConstants;
 import eu.europa.ec.edelivery.smp.testutil.X509CertificateTestUtils;
+import org.hamcrest.CoreMatchers;
 import org.hamcrest.MatcherAssert;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.authentication.AuthenticationServiceException;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.core.Authentication;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.util.ReflectionTestUtils;
 
 import java.io.IOException;
 import java.math.BigInteger;
 import java.security.cert.X509Certificate;
 import java.time.OffsetDateTime;
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.List;
 
-import static org.junit.Assert.*;
+import static eu.europa.ec.edelivery.smp.services.ui.UITruststoreServiceIntegrationTest.*;
+import static org.junit.jupiter.api.Assertions.*;
 
 
-@RunWith(SpringRunner.class)
-@ContextConfiguration(classes = {CredentialService.class})
-public class CredentialServiceTest extends AbstractServiceIntegrationTest {
+public class CredentialServiceTest extends AbstractJunit5BaseDao {
 
     @Autowired
     CredentialService testInstance;
+    @Autowired
+    ConfigurationService configurationService;
+    @Autowired
+    ConfigurationDao configurationDao;
 
-    @Before
+    ConfigurationService spyConfigurationService;
+
+    @BeforeEach
     public void beforeMethods() throws IOException {
         testUtilsDao.clearData();
         testUtilsDao.createUsers();
         resetKeystore();
         configurationDao.reloadPropertiesFromDatabase();
+
+        spyConfigurationService = Mockito.spy(configurationService);
+        ReflectionTestUtils.setField(testInstance, "configurationService", spyConfigurationService);
     }
 
     @Test
@@ -66,7 +78,6 @@ public class CredentialServiceTest extends AbstractServiceIntegrationTest {
     }
 
     @Test
-    @Ignore
     public void authenticateByUsernamePasswordTestBadPassword() {
         // given
         String username = TestConstants.USERNAME_1;
@@ -264,4 +275,40 @@ public class CredentialServiceTest extends AbstractServiceIntegrationTest {
         // then
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.startsWith("Login failed"));
     }
+
+
+    @Test
+    public void testValidateCertificatePolicyLegacyMatchOk() {
+        String certID = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE:000111";
+        Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL))
+                .when(spyConfigurationService).getAllowedCertificatePolicies();
+        List<String> certPolicies = Collections.singletonList(CERTIFICATE_POLICY_QCP_NATURAL);
+        testInstance.validateCertificatePolicyMatchLegacy(certID, certPolicies);
+    }
+
+    @Test
+    public void testValidateCertificatePolicyLegacyMatchMatchEmpty() {
+        String certID = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE:000111";
+        Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL))
+                .when(spyConfigurationService).getAllowedCertificatePolicies();
+        List<String> certPolicies = Collections.emptyList();
+
+        AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class,
+                () -> testInstance.validateCertificatePolicyMatchLegacy(certID, certPolicies));
+        MatcherAssert.assertThat(result.getMessage(), CoreMatchers.startsWith("Certificate [" + certID + "] does not have CertificatePolicy extension."));
+    }
+
+    @Test
+    public void testValidateCertificatePolicyLegacyMatchMismatch() {
+        String certID = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE:000111";
+        Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL))
+                .when(spyConfigurationService).getAllowedCertificatePolicies();
+        List<String> certPolicies = Collections.singletonList(CERTIFICATE_POLICY_QCP_LEGAL_QSCD);
+
+        AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class,
+                () -> testInstance.validateCertificatePolicyMatchLegacy(certID, certPolicies));
+        MatcherAssert.assertThat(result.getMessage(), CoreMatchers.startsWith("Certificate policy verification failed."));
+    }
+
+
 }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialValidatorServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialValidatorServiceTest.java
index 135ae84ba79398cfc73daa894a461a7cec0d2d0b..a828d9d5caa384118120b4e56f751a536ac10f05 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialValidatorServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialValidatorServiceTest.java
@@ -2,7 +2,6 @@ package eu.europa.ec.edelivery.smp.services;
 
 import eu.europa.ec.edelivery.smp.data.dao.CredentialDao;
 import eu.europa.ec.edelivery.smp.data.model.user.DBCredential;
-import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
 import eu.europa.ec.edelivery.smp.utils.HttpUtils;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java
deleted file mode 100644
index 9943f3786af7d9f892040ec76e3145d3849cce2c..0000000000000000000000000000000000000000
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Copyright 2018 European Commission | CEF eDelivery
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- *
- * You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and limitations under the Licence.
- */
-
-package eu.europa.ec.edelivery.smp.services;
-
-import eu.europa.ec.bdmsl.ws.soap.BadRequestFault;
-import eu.europa.ec.bdmsl.ws.soap.InternalErrorFault;
-import eu.europa.ec.bdmsl.ws.soap.NotFoundFault;
-import eu.europa.ec.bdmsl.ws.soap.UnauthorizedFault;
-import eu.europa.ec.edelivery.smp.config.SmlIntegrationConfiguration;
-import eu.europa.ec.edelivery.smp.conversion.IdentifierService;
-import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import eu.europa.ec.edelivery.smp.data.model.DBDomainResourceDef;
-import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
-import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
-import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
-import eu.europa.ec.edelivery.smp.sml.SmlConnector;
-import eu.europa.ec.edelivery.smp.testutil.TestConstants;
-import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
-import org.apache.commons.lang3.exception.ExceptionUtils;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.util.ReflectionTestUtils;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.xml.ws.http.HTTPException;
-import java.io.IOException;
-import java.util.regex.Pattern;
-
-import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*;
-import static org.junit.Assert.*;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.verify;
-
-/**
- * Purpose of class is to test ServiceGroupService base methods
- *
- * @author Joze Rihtarsic
- * @since 4.1
- */
-@RunWith(SpringRunner.class)
-@ContextConfiguration(classes = {SmlIntegrationConfiguration.class,
-        SmlConnector.class, DomainService.class})
-public class DomainServiceSMLTest extends AbstractServiceIntegrationTest {
-
-    @Rule
-    public ExpectedException expectedExeption = ExpectedException.none();
-
-    @Autowired
-    IdentifierService identifierService;
-    @Autowired
-    SmlIntegrationConfiguration integrationMock;
-    @Autowired
-    SmlConnector smlConnector;
-    @Autowired
-    private SMLIntegrationService smlIntegrationService;
-
-
-    @Autowired
-    protected DomainService testInstance;
-
-    @Before
-    public void prepareDatabase() throws IOException {
-
-        smlConnector = Mockito.spy(smlConnector);
-        Mockito.doNothing().when(smlConnector).configureClient(any(), any(), any());
-
-        ReflectionTestUtils.setField(smlIntegrationService,"smlConnector",smlConnector);
-        ReflectionTestUtils.setField(testInstance,"smlIntegrationService",smlIntegrationService);
-
-        ReflectionTestUtils.setField(smlIntegrationService,"identifierService",identifierService);
-        identifierService.configureParticipantIdentifierFormatter(null,false, Pattern.compile(".*"));
-
-        resetKeystore();
-        setDatabaseProperty(SMPPropertyEnum.SML_PHYSICAL_ADDRESS, "0.0.0.0");
-        setDatabaseProperty(SMPPropertyEnum.SML_LOGICAL_ADDRESS, "http://localhost/smp");
-        setDatabaseProperty(SMPPropertyEnum.SML_URL, "http://localhost/edelivery-sml");
-        setDatabaseProperty(SMPPropertyEnum.SML_ENABLED, "true");
-
-        integrationMock.reset();
-        prepareDatabaseForSingleDomainEnv(false);
-
-    }
-
-    @Test
-    public void getDomainForBlankCodeForSingleDomain() {
-
-        // given
-        assertEquals(1, domainDao.getAllDomains().size());
-
-        //Only one domain is in database - get domain should return the one.
-        DBDomain dmn = testInstance.getDomain(null);
-        assertEquals(TEST_DOMAIN_CODE_1, dmn.getDomainCode());
-        dmn = testInstance.getDomain("");
-        assertEquals(TEST_DOMAIN_CODE_1, dmn.getDomainCode());
-        dmn = testInstance.getDomain(" ");
-        assertEquals(TEST_DOMAIN_CODE_1, dmn.getDomainCode());
-    }
-
-    @Test
-    public void getDomainForBlankCodeForMultipleDomain() {
-        // given
-        DBDomain testDomain02 = TestDBUtils.createDBDomain(TEST_DOMAIN_CODE_2);
-        domainDao.persistFlushDetach(testDomain02);
-        assertEquals(2, domainDao.getAllDomains().size());
-        expectedExeption.expect(SMPRuntimeException.class);
-        expectedExeption.expectMessage(ErrorCode.MISSING_DOMAIN.getMessage());
-
-        // when-then
-        //Multiple domains in database - get domain should return the SMPRuntimeException.
-        testInstance.getDomain(null);
-    }
-
-
-    @Test
-    public void registerDomainAndParticipantsOK() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault {
-        /* given (init database - check setup)
-         * Domain: TEST_DOMAIN_CODE_1
-         * Users: USERNAME_1, USER_CERT_2
-         * ServiceGroup1: TEST_SG_ID_1, TEST_SG_SCHEMA_1
-         *    - Domain: TEST_DOMAIN_CODE_1
-         * ServiceGroup2: TEST_SG_ID_2, TEST_SG_SCHEMA_2
-         *    - Domain: TEST_DOMAIN_CODE_1
-         *    - Owners: USERNAME_1
-         *    - Metadata: /
-         *  ServiceGroup3: TEST_SG_ID_NO_SCHEME, null
-         *    - Domain: TEST_DOMAIN_CODE_1
-         *    - Owners: USERNAME_1, USER_CERT_2
-         *    - Metadata: /
-
-        DBDomain testDomain01 = domainDao.getDomainByCode(TestConstants.TEST_DOMAIN_CODE_1).get();
-        DBDomainResourceDef serviceGroupDomain = serviceGroupDao.findServiceGroupDomain(
-                TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get();
-        DBDomainResourceDef serviceGroupDomain2 = serviceGroupDao
-                .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get();
-        DBDomainResourceDef serviceGroupDomain3 = serviceGroupDao
-                .findServiceGroupDomain(TEST_SG_ID_NO_SCHEME, null, TEST_DOMAIN_CODE_1).get();
-        assertFalse(testDomain01.isSmlRegistered());
-        assertFalse(serviceGroupDomain.isSmlRegistered());
-        assertFalse(serviceGroupDomain2.isSmlRegistered());
-        assertFalse(serviceGroupDomain3.isSmlRegistered());
-
-        // when
-        testInstance.registerDomainAndParticipants(testDomain01);
-
-        // then
-        serviceGroupDomain = serviceGroupDao.findServiceGroupDomain(
-                TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get();
-        serviceGroupDomain2 = serviceGroupDao
-                .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get();
-        serviceGroupDomain3 = serviceGroupDao
-                .findServiceGroupDomain(TEST_SG_ID_NO_SCHEME, null, TEST_DOMAIN_CODE_1).get();
-
-        assertTrue(testDomain01.isSmlRegistered());
-        assertTrue(serviceGroupDomain.isSmlRegistered());
-        assertTrue(serviceGroupDomain2.isSmlRegistered());
-        assertTrue(serviceGroupDomain3.isSmlRegistered());
-
-        // one sml domain create and two participant create was called
-        assertEquals(1, integrationMock.getSmpManagerClientMocks().size());
-        verify(integrationMock.getSmpManagerClientMocks().get(0)).create(any());
-        Mockito.verifyNoMoreInteractions(integrationMock.getSmpManagerClientMocks().toArray());
-
-        assertEquals(3, integrationMock.getParticipantManagmentClientMocks().size());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(1)).create(any());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(2)).create(any());
-        Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
-
-
-    }
-
-    @Test
-    public void registerDomainAndParticipantsFailed() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault {
-/*
-        DBDomain testDomain01 = domainDao.getDomainByCode(TestConstants.TEST_DOMAIN_CODE_1).get();
-        DBDomainResourceDef serviceGroupDomain = serviceGroupDao.findServiceGroupDomain(
-                TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get();
-        DBDomainResourceDef serviceGroupDomain2 = serviceGroupDao
-                .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get();
-
-        assertFalse(testDomain01.isSmlRegistered());
-        assertFalse(serviceGroupDomain.isSmlRegistered());
-        assertFalse(serviceGroupDomain2.isSmlRegistered());
-        integrationMock.setThrowExceptionAfterParticipantCallCount(1);
-
-
-        // when
-        try {
-            testInstance.registerDomainAndParticipants(testDomain01);
-            fail("Testcase should throw an error with code 400");
-        } catch (Exception ex) {
-            ex.printStackTrace();
-            assertEquals(400, ((HTTPException) ExceptionUtils.getRootCause(ex)).getStatusCode());
-       }
-
-
-        // then
-        serviceGroupDomain = serviceGroupDao.findServiceGroupDomain(
-                TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get();
-        serviceGroupDomain2 = serviceGroupDao
-                .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get();
-        assertTrue(testDomain01.isSmlRegistered());
-        assertTrue(serviceGroupDomain.isSmlRegistered());
-        assertFalse(serviceGroupDomain2.isSmlRegistered());
-
-        // one sml domain create and two participant create was called
-        assertEquals(1, integrationMock.getSmpManagerClientMocks().size());
-        verify(integrationMock.getSmpManagerClientMocks().get(0)).create(any());
-        Mockito.verifyNoMoreInteractions(integrationMock.getSmpManagerClientMocks().toArray());
-
-        // only first succeeded
-        assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any());
-        Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
-*/
-    }
-
-    @Test
-    @Transactional
-    public void unregisterDomainAndParticipantsFromSmlOK() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault {
-        /* given (init database - check setup)
-         * Domain: TEST_DOMAIN_CODE_1
-         * Users: USERNAME_1, USER_CERT_2
-         * ServiceGroup1: TEST_SG_ID_1, TEST_SG_SCHEMA_1
-         *    - Domain: TEST_DOMAIN_CODE_1
-         *    - Owners: USERNAME_1, USER_CERT_2
-         *    - Metadata:
-         *          - TEST_DOC_ID_1, TEST_DOC_SCHEMA_1
-         *
-         *
-         * ServiceGroup2: TEST_SG_ID_2, TEST_SG_SCHEMA_2
-         *    - Domain: TEST_DOMAIN_CODE_1
-         *    - Owners: USERNAME_1
-         *    - Metadata: /
-
-        DBDomain testDomain01 = domainDao.getDomainByCode(TestConstants.TEST_DOMAIN_CODE_1).get();
-        DBDomainResourceDef serviceGroupDomain = serviceGroupDao.findServiceGroupDomain(
-                TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get();
-        DBDomainResourceDef serviceGroupDomain2 = serviceGroupDao
-                .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get();
-        testDomain01.setSmlRegistered(true);
-        serviceGroupDomain.setSmlRegistered(true);
-        serviceGroupDomain2.setSmlRegistered(true);
-        serviceGroupDao.updateServiceGroupDomain(serviceGroupDomain);
-        serviceGroupDao.updateServiceGroupDomain(serviceGroupDomain2);
-
-        // when
-        testInstance.unregisterDomainAndParticipantsFromSml(testDomain01);
-
-        // then
-        serviceGroupDomain = serviceGroupDao.findServiceGroupDomain(
-                TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get();
-        serviceGroupDomain2 = serviceGroupDao
-                .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get();
-        assertFalse(testDomain01.isSmlRegistered());
-        assertFalse(serviceGroupDomain.isSmlRegistered());
-        assertFalse(serviceGroupDomain2.isSmlRegistered());
-
-        // one sml domain create and two participant create was called
-        assertEquals(1, integrationMock.getSmpManagerClientMocks().size());
-        verify(integrationMock.getSmpManagerClientMocks().get(0)).delete(testDomain01.getSmlSmpId());
-        Mockito.verifyNoMoreInteractions(integrationMock.getSmpManagerClientMocks().toArray());
-
-        assertEquals(2, integrationMock.getParticipantManagmentClientMocks().size());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(0)).delete(any());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(1)).delete(any());
-        Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
-    */
-    }
-
-}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..e4aa39de038a3b519c8470bcdef293f401e64c39
--- /dev/null
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceTest.java
@@ -0,0 +1,200 @@
+/*
+ * Copyright 2018 European Commission | CEF eDelivery
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ *
+ * You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and limitations under the Licence.
+ */
+
+package eu.europa.ec.edelivery.smp.services;
+
+import eu.europa.ec.edelivery.smp.config.SmlIntegrationConfiguration;
+import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
+import eu.europa.ec.edelivery.smp.conversion.IdentifierService;
+import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
+import eu.europa.ec.edelivery.smp.data.dao.DomainDao;
+import eu.europa.ec.edelivery.smp.data.model.DBDomain;
+import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
+import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
+import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
+import eu.europa.ec.edelivery.smp.sml.SmlConnector;
+import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
+import org.hamcrest.CoreMatchers;
+import org.hamcrest.MatcherAssert;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.NullSource;
+import org.junit.jupiter.params.provider.ValueSource;
+import org.mockito.Mockito;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.util.ReflectionTestUtils;
+
+import java.io.IOException;
+import java.util.regex.Pattern;
+
+import static eu.europa.ec.edelivery.smp.testutil.TestConstants.TEST_DOMAIN_CODE_1;
+import static eu.europa.ec.edelivery.smp.testutil.TestConstants.TEST_DOMAIN_CODE_2;
+import static org.junit.Assert.*;
+import static org.mockito.ArgumentMatchers.any;
+
+/**
+ * Purpose of class is to test ServiceGroupService base methods
+ *
+ * @author Joze Rihtarsic
+ * @since 4.1
+ */
+
+public class DomainServiceTest extends AbstractJunit5BaseDao {
+
+    @Autowired
+    IdentifierService identifierService;
+    @Autowired
+    SmlIntegrationConfiguration integrationMock;
+    @Autowired
+    SmlConnector smlConnector;
+    @Autowired
+    private SMLIntegrationService smlIntegrationService;
+
+
+    @Autowired
+    protected DomainDao domainDao;
+
+    @Autowired
+    protected DomainService testInstance;
+
+
+    @BeforeEach
+    public void prepareDatabase() throws IOException {
+        smlConnector = Mockito.spy(smlConnector);
+        Mockito.doNothing().when(smlConnector).configureClient(any(), any(), any());
+
+        ReflectionTestUtils.setField(smlIntegrationService, "smlConnector", smlConnector);
+        ReflectionTestUtils.setField(testInstance, "smlIntegrationService", smlIntegrationService);
+
+        ReflectionTestUtils.setField(smlIntegrationService, "identifierService", identifierService);
+        identifierService.configureParticipantIdentifierFormatter(null, false, Pattern.compile(".*"));
+
+        resetKeystore();
+        setDatabaseProperty(SMPPropertyEnum.SML_PHYSICAL_ADDRESS, "0.0.0.0");
+        setDatabaseProperty(SMPPropertyEnum.SML_LOGICAL_ADDRESS, "http://localhost/smp");
+        setDatabaseProperty(SMPPropertyEnum.SML_URL, "http://localhost/edelivery-sml");
+        setDatabaseProperty(SMPPropertyEnum.SML_ENABLED, "true");
+
+        integrationMock.reset();
+
+
+    }
+
+    @ParameterizedTest
+    @NullSource
+    @ValueSource(strings = {"", " "})
+    public void getDomainForBlankCodeForSingleDomain(String searchCode) {
+
+        // given
+        DBDomain testDomain01 = testUtilsDao.createDomain(TEST_DOMAIN_CODE_1);
+        assertEquals(1, domainDao.getAllDomains().size());
+
+        //Only one domain is in database - get domain should return the one.
+        DBDomain dmn = testInstance.getDomain(searchCode);
+        assertEquals(testDomain01.getDomainCode(), dmn.getDomainCode());
+    }
+
+    @Test
+    public void getDomainForBlankCodeForMultipleDomain() {
+        // given
+        DBDomain testDomain01 = testUtilsDao.createDomain(TEST_DOMAIN_CODE_1);
+        DBDomain testDomain02 = TestDBUtils.createDBDomain(TEST_DOMAIN_CODE_2);
+        domainDao.persistFlushDetach(testDomain02);
+        assertEquals(2, domainDao.getAllDomains().size());
+
+        // when-then
+        //Multiple domains in database - get domain should return the SMPRuntimeException.
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                () -> testInstance.getDomain(null));
+
+        assertEquals(ErrorCode.MISSING_DOMAIN, result.getErrorCode());
+    }
+
+    @Test
+    public void getDomainForBlankCodeForMultipleDomainNotExists() {
+        // given
+        DBDomain testDomain01 = testUtilsDao.createDomain(TEST_DOMAIN_CODE_1);
+        DBDomain testDomain02 = TestDBUtils.createDBDomain(TEST_DOMAIN_CODE_2);
+        domainDao.persistFlushDetach(testDomain02);
+        assertEquals(2, domainDao.getAllDomains().size());
+        String searchDomain = "DomainCodeNotExists";
+
+        // when-then
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                () -> testInstance.getDomain(searchDomain));
+
+        assertEquals(ErrorCode.DOMAIN_NOT_EXISTS, result.getErrorCode());
+    }
+
+    @Test
+    public void getDomainForInvalidCode() {
+        // given
+        DBDomain testDomain01 = testUtilsDao.createDomain(TEST_DOMAIN_CODE_1);
+        DBDomain testDomain02 = TestDBUtils.createDBDomain(TEST_DOMAIN_CODE_2);
+        domainDao.persistFlushDetach(testDomain02);
+        assertEquals(2, domainDao.getAllDomains().size());
+        String searchDomain = "s2###Q23@#";
+
+        // when-then
+        //Multiple domains in database - get domain should return the SMPRuntimeException.
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                () -> testInstance.getDomain(searchDomain));
+        assertEquals(ErrorCode.INVALID_DOMAIN_CODE, result.getErrorCode());
+        MatcherAssert.assertThat(result.getMessage(),
+                CoreMatchers.containsString("Provided Domain Code '" + searchDomain + "' does not match required pattern"));
+    }
+
+    @Test
+    public void testRegisterDomainAndParticipantsOK() {
+        // given
+        testUtilsDao.clearData();
+        testUtilsDao.createResources();
+        DBDomain testDomain = testUtilsDao.getD1();
+        DBResource testResource = testUtilsDao.getResourceD1G1RD1();
+        assertFalse(testDomain.isSmlRegistered());
+        assertFalse(testResource.isSmlRegistered());
+
+        // when
+        testInstance.registerDomainAndParticipants(testDomain);
+
+        // then
+        // update resource because testResource is detached
+        DBResource dbUpdatedResource = testUtilsDao.find(DBResource.class, testResource.getId());
+
+        assertTrue(testDomain.isSmlRegistered());
+        assertTrue(dbUpdatedResource.isSmlRegistered());
+    }
+
+    @Test
+    public void testUnRegisterDomainAndParticipantsOK() {
+        // given
+        testUtilsDao.clearData();
+        testUtilsDao.createResources();
+        DBDomain testDomain = testUtilsDao.getD1();
+        testInstance.registerDomainAndParticipants(testDomain);
+        DBResource dbUpdatedResource = testUtilsDao.find(DBResource.class, testUtilsDao.getResourceD1G1RD1().getId());
+
+        assertTrue(testDomain.isSmlRegistered());
+        assertTrue(dbUpdatedResource.isSmlRegistered());
+
+        // when
+        testInstance.unregisterDomainAndParticipantsFromSml(testDomain);
+
+        // then
+        dbUpdatedResource = testUtilsDao.find(DBResource.class, dbUpdatedResource.getId());
+        assertFalse(testDomain.isSmlRegistered());
+        assertFalse(dbUpdatedResource.isSmlRegistered());
+    }
+
+}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorServiceTest.java
index 3b3603a8b927f7d47861a77696e61e1da25ced3e..2771ccafe93b992e39b0780ca0cb733f87bc1b0e 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorServiceTest.java
@@ -4,11 +4,8 @@ import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.smp.spi.PayloadValidatorSpi;
 import eu.europa.ec.smp.spi.exceptions.PayloadValidatorSpiException;
-import org.hamcrest.CoreMatchers;
-import org.hamcrest.MatcherAssert;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.springframework.util.MimeTypeUtils;
 
@@ -17,7 +14,8 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Optional;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
 
 public class PayloadValidatorServiceTest {
 
@@ -41,9 +39,9 @@ public class PayloadValidatorServiceTest {
 
     @Test
     public void validateUploadedContent() throws PayloadValidatorSpiException {
-        PayloadValidatorSpi validatorSpi1  = Mockito.mock(PayloadValidatorSpi.class);
-        PayloadValidatorSpi validatorSpi2  = Mockito.mock(PayloadValidatorSpi.class);
-        PayloadValidatorService testInstance = new PayloadValidatorService(Optional.of(Arrays.asList(validatorSpi1,validatorSpi2)));
+        PayloadValidatorSpi validatorSpi1 = Mockito.mock(PayloadValidatorSpi.class);
+        PayloadValidatorSpi validatorSpi2 = Mockito.mock(PayloadValidatorSpi.class);
+        PayloadValidatorService testInstance = new PayloadValidatorService(Optional.of(Arrays.asList(validatorSpi1, validatorSpi2)));
         InputStream inputStream = Mockito.mock(InputStream.class);
         String mimeType = MimeTypeUtils.APPLICATION_JSON.getType();
 
@@ -55,7 +53,7 @@ public class PayloadValidatorServiceTest {
         ArgumentCaptor<InputStream> streamCapture2 = ArgumentCaptor.forClass(InputStream.class);
         ArgumentCaptor<String> mimeTypeCapture2 = ArgumentCaptor.forClass(String.class);
         Mockito.verify(validatorSpi1, Mockito.times(1)).validatePayload(streamCapture1.capture(), mimeTypeCapture1.capture());
-        Mockito.verify(validatorSpi2,Mockito.times(1)).validatePayload(streamCapture2.capture(), mimeTypeCapture2.capture());
+        Mockito.verify(validatorSpi2, Mockito.times(1)).validatePayload(streamCapture2.capture(), mimeTypeCapture2.capture());
 
         assertEquals(inputStream, streamCapture1.getValue());
         assertEquals(inputStream, streamCapture2.getValue());
@@ -65,12 +63,12 @@ public class PayloadValidatorServiceTest {
 
     @Test
     public void validateUploadedContentThrowException() throws PayloadValidatorSpiException {
-        PayloadValidatorSpi validatorSpi1  = Mockito.mock(PayloadValidatorSpi.class);
-        PayloadValidatorService testInstance = new PayloadValidatorService(Optional.of(Arrays.asList(validatorSpi1)));
+        PayloadValidatorSpi validatorSpi1 = Mockito.mock(PayloadValidatorSpi.class);
+        PayloadValidatorService testInstance = new PayloadValidatorService(Optional.of(Collections.singletonList(validatorSpi1)));
         InputStream inputStream = Mockito.mock(InputStream.class);
         String mimeType = MimeTypeUtils.APPLICATION_JSON.getType();
         PayloadValidatorSpiException spiException = new PayloadValidatorSpiException("TestError");
-        Mockito.doThrow(spiException).when(validatorSpi1).validatePayload(Mockito.any(),Mockito.any());
+        Mockito.doThrow(spiException).when(validatorSpi1).validatePayload(Mockito.any(), Mockito.any());
 
 
         SMPRuntimeException smpRuntimeException =
@@ -81,4 +79,4 @@ public class PayloadValidatorServiceTest {
         assertEquals("Invalid request [Upload payload]. Error: Content validation failed!", smpRuntimeException.getMessage());
 
     }
-}
\ No newline at end of file
+}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceNoSMLIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceNoSMLIntegrationTest.java
index 1ab14d9ed973f2316df410c73bad00903d08037f..07a0066585739588ff28e5f297d46b897834586e 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceNoSMLIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceNoSMLIntegrationTest.java
@@ -14,18 +14,16 @@
 package eu.europa.ec.edelivery.smp.services;
 
 import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
-import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
-import org.junit.*;
-import org.junit.rules.ExpectedException;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.transaction.annotation.Transactional;
 
-import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*;
-
 /**
  * Purpose of class is to test ServiceGroupService base methods
  *
@@ -46,7 +44,7 @@ public class SMLIntegrationServiceNoSMLIntegrationTest extends AbstractServiceIn
         configurationDao.refreshProperties();
 
 
-        testUtilsDao.clearData();;
+        testUtilsDao.clearData();
         testUtilsDao.createResources();
     }
 
@@ -78,7 +76,7 @@ public class SMLIntegrationServiceNoSMLIntegrationTest extends AbstractServiceIn
     public void registerParticipant() {
 
         DBDomain testDomain01 = testUtilsDao.getD1();
-        DBResource resource =   testUtilsDao.getResourceD1G1RD1();
+        DBResource resource = testUtilsDao.getResourceD1G1RD1();
         // nothing is expected to be thrown
         testInstance.registerParticipant(resource, testDomain01);
     }
@@ -87,7 +85,7 @@ public class SMLIntegrationServiceNoSMLIntegrationTest extends AbstractServiceIn
     public void unregisterParticipant() {
 
         DBDomain testDomain01 = testUtilsDao.getD1();
-        DBResource resource =   testUtilsDao.getResourceD1G1RD1();
+        DBResource resource = testUtilsDao.getResourceD1G1RD1();
         // nothing is expected to be thrown
         testInstance.unregisterParticipant(resource, testDomain01);
     }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java
index e1f7492c1e19dd826eefdafd7077943de11d9bd5..e1d448a572e53a2b3bdd92641d7bc13a5b764f7a 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java
@@ -21,13 +21,9 @@ import eu.europa.ec.edelivery.smp.config.SmlIntegrationConfiguration;
 import eu.europa.ec.edelivery.smp.conversion.IdentifierService;
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
 import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
-import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.sml.SmlConnector;
 import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
 import org.junit.Test;
-import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,9 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.regex.Pattern;
 
-import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
 
@@ -117,7 +111,7 @@ public class SMLIntegrationServiceTest extends AbstractServiceIntegrationTest {
         // when
         testInstance.unRegisterDomain(testDomain01);
 
-        assertTrue(!testDomain01.isSmlRegistered());
+        assertFalse(testDomain01.isSmlRegistered());
         assertEquals(1, integrationMock.getSmpManagerClientMocks().size());
         verify(integrationMock.getSmpManagerClientMocks().get(0)).delete(testDomain01.getSmlSmpId());
         Mockito.verifyNoMoreInteractions(integrationMock.getSmpManagerClientMocks().toArray());
@@ -139,90 +133,4 @@ public class SMLIntegrationServiceTest extends AbstractServiceIntegrationTest {
         Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
 
     }
-/*
-    @Test
-    public void registerParticipantNullScheme() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault {
-        /* given (init database - check setup)
-         * Domain: TEST_DOMAIN_CODE_1
-         * Users: USERNAME_1, USER_CERT_2
-         * ServiceGroup1: TEST_SG_ID_NO_SCHEME, null
-         *    - Domain: TEST_DOMAIN_CODE_1
-         *
-        // when
-        testInstance.registerParticipant(TEST_SG_ID_NO_SCHEME, null, TEST_DOMAIN_CODE_1);
-
-        //then -- expect on call
-        assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any());
-        Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
-    }
-
-    /**
-
-
-    @Test
-    public void unRegisterParticipant() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault {
-        /* given (init database - check setup)
-         * Domain: TEST_DOMAIN_CODE_1
-         * Users: USERNAME_1, USER_CERT_2
-         * ServiceGroup1: TEST_SG_ID_1, TEST_SG_SCHEMA_1
-         *    - Domain: TEST_DOMAIN_CODE_1
-         *
-        // when
-        testInstance.registerParticipant(TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1);
-
-        //then -- expect on call
-        assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any());
-        Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
-
-    }
-
-    @Test
-    public void registerParticipant_NotExists() {
-        expectedExeption.expect(SMPRuntimeException.class);
-        String notExistsId = TEST_SG_ID_1 + "NotExists";
-        expectedExeption.expectMessage("ServiceGroup not found (part. id: '" + TEST_SG_ID_1 + "NotExists', part. sch.: '" + TEST_SG_SCHEMA_1 + "')!");
-
-        // when
-        testInstance.registerParticipant(notExistsId, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1);
-    }
-
-    @Test
-    public void registerParticipant_NotOnDomain() {
-        expectedExeption.expect(SMPRuntimeException.class);
-        expectedExeption.expectMessage("Service group not registered for domain (domain: " + TEST_DOMAIN_CODE_2 + ", part. id: '" + TEST_SG_ID_1 + "', part. sch.: '" + TEST_SG_SCHEMA_1 + "')!");
-
-        // when
-        testInstance.registerParticipant(TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_2);
-    }
-
-*/
-    /*
-    @Test
-    public void registerParticipantToSML() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault {
-        DBDomain testDomain01 = domainDao.getDomainByCode(TEST_DOMAIN_CODE_1).get();
-        // when
-        testInstance.registerParticipantToSML(TEST_SG_ID_1, TEST_SG_SCHEMA_1, testDomain01);
-
-        //then -- expect on call
-        assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any());
-        Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
-    }
-
-    @Test
-    public void unregisterParticipantFromSML() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault {
-        DBDomain testDomain01 = domainDao.getDomainByCode(TEST_DOMAIN_CODE_1).get();
-        testDomain01.setSmlRegistered(true);
-        // when
-        testInstance.unregisterParticipantFromSML(TEST_SG_ID_1, TEST_SG_SCHEMA_1, testDomain01);
-
-        //then -- expect on call
-        assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size());
-        verify(integrationMock.getParticipantManagmentClientMocks().get(0)).delete(any());
-        Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
-    }
-
-     */
 }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceMetadataSignerTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceMetadataSignerTest.java
index 8fb40d6ca459a8a84391440292f91b3af4f63f14..f5d5517d6bb3cdc7a975649e52dea8b5a70c8168 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceMetadataSignerTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceMetadataSignerTest.java
@@ -13,12 +13,14 @@
 
 package eu.europa.ec.edelivery.smp.services;
 
+import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
 import eu.europa.ec.edelivery.smp.services.spi.SmpXmlSignatureService;
 import eu.europa.ec.edelivery.smp.services.ui.UIKeystoreService;
 import eu.europa.ec.edelivery.smp.testutil.SignatureUtil;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
@@ -31,16 +33,16 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 
 
-import static javax.xml.crypto.dsig.DigestMethod.SHA256;
-import static org.apache.xml.security.signature.XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256;
-
-
 /**
- * Created by rodrfla on 20/02/2017.
+ * metadata tests signatures
+ *
+ * @author Flavio Santos
+ * @author Joze Rihtarsic
+ * @since 3.0
+
  */
-@Ignore
 @ContextConfiguration(classes = { SmpXmlSignatureService.class})
-public class ServiceMetadataSignerTest extends AbstractServiceIntegrationTest{
+public class ServiceMetadataSignerTest extends AbstractJunit5BaseDao{
 
     Path resourceDirectory = Paths.get("src", "test", "resources",  "keystores");
 
@@ -52,24 +54,24 @@ public class ServiceMetadataSignerTest extends AbstractServiceIntegrationTest{
     @Autowired
     private SmpXmlSignatureService signer;
 
-    @Before
+    @BeforeEach
     public void setup(){
         configurationService = Mockito.spy(configurationService);
         ReflectionTestUtils.setField(uiKeystoreService,"configurationService",configurationService);
         ReflectionTestUtils.setField(signer,"uiKeystoreService",uiKeystoreService);
 
         // set keystore properties
-        File keystoreFile = new File(resourceDirectory.toFile(), "smp-keystore.jks");
+        File keystoreFile = new File(resourceDirectory.toAbsolutePath().toFile(), "smp-keystore-all-keys.p12");
         Mockito.doReturn( keystoreFile).when(configurationService).getKeystoreFile();
         Mockito.doReturn( resourceDirectory.toFile()).when(configurationService).getSecurityFolder();
         Mockito.doReturn("test123").when(configurationService).getKeystoreCredentialToken();
+        Mockito.doReturn("PKCS12").when(configurationService).getKeystoreType();
         uiKeystoreService.refreshData();
     }
-/*
-    private Document loadAndSignDocumentForDefault() throws Exception {
-        Document documentToSign = loadDocument("/input/SignedServiceMetadata_withoutSignature.xml");
-        signer.sign(documentToSign, null, ALGO_ID_SIGNATURE_RSA_SHA256, SHA256);
 
+    private Document loadAndSignDocumentForDefault(String alias) throws Exception {
+        Document documentToSign = SignatureUtil.loadDocument("/input/SignedServiceMetadata_withoutSignature.xml");
+        signer.sign(documentToSign, alias, null, null);
         return documentToSign;
     }
 
@@ -78,43 +80,25 @@ public class ServiceMetadataSignerTest extends AbstractServiceIntegrationTest{
         SignatureUtil.validateSignature(smpSigPointer);
     }
 
-
     private Element loadAndSignDocumentForAdmin(String filePath) throws Exception {
-        Document response = loadDocument(filePath);
-        Element smNode = SignatureUtil.findFirstElementByName(response, "ServiceMetadata");
-        Document docUnwrapped = SignatureUtil.buildDocWithGivenRoot(smNode);
-        Element adminSignature = SignatureUtil.findServiceInfoSig(docUnwrapped);
-
+        Document response = SignatureUtil.loadDocument(filePath);
+        Element adminSignature = SignatureUtil.findServiceInfoSig(response);
         return adminSignature;
     }
 
-    @Test
-    public void testDefaultSignatureOk() throws Exception {
-        Document document = loadAndSignDocumentForDefault();
+    @ParameterizedTest
+    @ValueSource(strings = {"sample_key",
+            "smp_ecdsa_nist-b409",
+            "smp_eddsa_25519",
+            "smp_eddsa_448"})
+    public void testSignatureAndDefaultAlgorithmeDefinitionOk(String alias) throws Exception {
+        Document document = loadAndSignDocumentForDefault(alias);
         validateSignatureForDefault(document);
     }
 
-    @Test(expected = Exception.class)
-    public void testDefaultSignatureNotOk() throws Exception {
-        Document document = loadAndSignDocumentForDefault();
-        String documentStr = SignatureUtil.marshall(document);
-        documentStr = documentStr.replace("<Process>", "<Process><DummyElement></DummyElement>");
-        validateSignatureForDefault(SignatureUtil.parseDocument(documentStr));
-    }
-
     @Test
     public void testAdminSignatureOk() throws Exception {
         Element adminSignature = loadAndSignDocumentForAdmin("/expected_output/PUT_ServiceMetadata_request.xml");
-
-        SignatureUtil.validateSignature(adminSignature);
-    }
-
-    @Test(expected = Exception.class)
-    public void testAdminSignatureNotOk() throws Exception {
-        Element adminSignature = loadAndSignDocumentForAdmin("/expected_output/PUT_ServiceMetadata_request_not_valid.xml");
-
         SignatureUtil.validateSignature(adminSignature);
     }
-*/
-
 }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/mail/MailServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/mail/MailServiceTest.java
index 3e63f9be2973bfcde58c77c61d294fd82106317f..4fd5b8ee0a9443b652140b2c56160ffbcb364943 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/mail/MailServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/mail/MailServiceTest.java
@@ -5,7 +5,6 @@ import eu.europa.ec.edelivery.smp.data.ui.enums.AlertTypeEnum;
 import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest;
 import eu.europa.ec.edelivery.smp.services.mail.prop.TestMailProperties;
 import eu.europa.ec.edelivery.smp.testutil.MockAlertBeans;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java
index abd79d399c4ee44b1137dce6b26ea9065aa5276f..df3024ec9e6113e5612bc4cccbb4393cbaf75e56 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java
@@ -1,40 +1,27 @@
 package eu.europa.ec.edelivery.smp.services.resource;
 
-import eu.europa.ec.edelivery.smp.config.SMPDatabaseConfig;
-import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
 import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
-import eu.europa.ec.edelivery.smp.services.AbstractServiceTest;
-import eu.europa.ec.edelivery.smp.services.ConfigurationService;
 import eu.europa.ec.edelivery.smp.servlet.ResourceRequest;
 import eu.europa.ec.edelivery.smp.servlet.ResourceResponse;
-import eu.europa.ec.smp.spi.api.model.RequestData;
-import eu.europa.ec.smp.spi.api.model.ResourceIdentifier;
-import eu.europa.ec.smp.spi.api.model.ResponseData;
 import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10;
 import eu.europa.ec.smp.spi.def.OasisSMPServiceMetadata10;
 import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup10Handler;
 import eu.europa.ec.smp.spi.handler.OasisSMPServiceMetadata10Handler;
 import eu.europa.ec.smp.spi.validation.ServiceMetadata10Validator;
-import org.apache.commons.io.FileUtils;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
-import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
-import org.springframework.web.util.WebUtils;
 
 import javax.servlet.http.HttpServletRequest;
-import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
 import static org.junit.Assert.assertTrue;
-import static org.junit.jupiter.api.Assertions.*;
 
 // add SPI examples to the context
 @ContextConfiguration(classes = {OasisSMPServiceGroup10.class,
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceResolverServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceResolverServiceTest.java
index f99a013b25af1486d60e497e32d52d54aa89dccf..fc8faa41b30f11897baa3601dc0b1b6444a62b76 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceResolverServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceResolverServiceTest.java
@@ -112,7 +112,7 @@ public class ResourceResolverServiceTest extends AbstractServiceIntegrationTest
 
 
     public static ResourceRequest createResourceRequest(DBResource resource) {
-        return new ResourceRequest(ResourceAction.READ, null, Arrays.asList(resource.getIdentifierScheme() + "::" + resource.getIdentifierValue()), null);
+        return new ResourceRequest(ResourceAction.READ, null, Collections.singletonList(resource.getIdentifierScheme() + "::" + resource.getIdentifierValue()), null);
     }
 
     public static ResourceRequest createResourceRequest(DBSubresource subresource) {
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIAlertServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIAlertServiceIntegrationTest.java
index 6ec81a26f65182eb0696a52f95b32ebd0c13bf81..406d771b447dc5ca1acd850dcc288b332a405771 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIAlertServiceIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIAlertServiceIntegrationTest.java
@@ -6,7 +6,6 @@ import eu.europa.ec.edelivery.smp.data.ui.ServiceResult;
 import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest;
 import eu.europa.ec.edelivery.smp.services.CredentialsAlertService;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java
index a4d2df8e4e68b11d6dcb352506c22aaf9a6d47a0..d11546d65692122360dfcfd46c21cda0a771cb73 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java
@@ -7,10 +7,6 @@ import eu.europa.ec.edelivery.smp.data.ui.DocumentRo;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest;
 import eu.europa.ec.edelivery.smp.services.resource.ResourceHandlerService;
-import eu.europa.ec.edelivery.smp.services.resource.ResourceResolverService;
-import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
-import eu.europa.ec.smp.spi.api.SmpDataServiceApi;
-import eu.europa.ec.smp.spi.api.SmpIdentifierServiceApi;
 import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10;
 import eu.europa.ec.smp.spi.def.OasisSMPServiceMetadata10;
 import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup10Handler;
@@ -23,7 +19,8 @@ import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
 
 @ContextConfiguration(classes = {UIDocumentService.class, ConversionTestConfig.class, ResourceHandlerService.class,
         OasisSMPServiceGroup10.class, OasisSMPServiceGroup10Handler.class, OasisSMPServiceMetadata10.class, OasisSMPServiceMetadata10Handler.class, ServiceMetadata10Validator.class,})
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainPublicServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainPublicServiceTest.java
index c0785254230a7bc788b4010ea0ccc3c29dbcfed7..bdf4022a801f3449a182e2557b87a9bb793212c3 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainPublicServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainPublicServiceTest.java
@@ -4,7 +4,6 @@ import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
 import eu.europa.ec.edelivery.smp.data.ui.*;
 import eu.europa.ec.edelivery.smp.exceptions.BadRequestException;
 import org.hamcrest.MatcherAssert;
-import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,7 +11,8 @@ import org.springframework.test.context.ContextConfiguration;
 
 import java.util.List;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 @ContextConfiguration(classes = UIDomainPublicService.class)
 class UIDomainPublicServiceTest   extends AbstractJunit5BaseDao {
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceIntegrationTest.java
index 548ba4128bfd699a8c1cf0c6e61e2ed0bbcc5bef..2233a769406db1fad96fecf734d7b7f3910fcc3f 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceIntegrationTest.java
@@ -6,9 +6,7 @@ import eu.europa.ec.edelivery.smp.data.ui.DomainRO;
 import eu.europa.ec.edelivery.smp.data.ui.ServiceResult;
 import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
-import org.junit.Rule;
 import org.junit.Test;
-import org.junit.rules.ExpectedException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceTest.java
index 01f7b3b311a46b36dc4a83dffb985774f2183051..da622512dda645580258f4e908c2be0a6e07803c 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceTest.java
@@ -1,13 +1,9 @@
 package eu.europa.ec.edelivery.smp.services.ui;
 
 import eu.europa.ec.edelivery.smp.data.dao.DomainDao;
-import eu.europa.ec.edelivery.smp.data.enums.MembershipRoleType;
 import eu.europa.ec.edelivery.smp.data.enums.VisibilityType;
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember;
 import eu.europa.ec.edelivery.smp.data.ui.DomainRO;
-import eu.europa.ec.edelivery.smp.data.ui.MemberRO;
-import eu.europa.ec.edelivery.smp.data.ui.ServiceResult;
 import eu.europa.ec.edelivery.smp.services.AbstractServiceTest;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicServiceTest.java
index e0d0f8a6eed2e175eb89244e6326bc6928ad809d..98fbc3a00caf1d4ee18495c5cb46740f4666ee29 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicServiceTest.java
@@ -2,7 +2,6 @@ package eu.europa.ec.edelivery.smp.services.ui;
 
 import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
 import eu.europa.ec.edelivery.smp.data.dao.GroupMemberDao;
-import eu.europa.ec.edelivery.smp.data.dao.ResourceMemberDao;
 import eu.europa.ec.edelivery.smp.data.enums.MembershipRoleType;
 import eu.europa.ec.edelivery.smp.data.enums.VisibilityType;
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyServiceIntegrationTest.java
index 210c5ee1fb0e2da12e1f315098933c36993aa826..6f0f0c12808601aa71ee927d68f92787f7ca5647 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyServiceIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyServiceIntegrationTest.java
@@ -1,16 +1,15 @@
 package eu.europa.ec.edelivery.smp.services.ui;
 
+import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger;
 import eu.europa.ec.edelivery.smp.data.model.DBConfiguration;
 import eu.europa.ec.edelivery.smp.data.ui.PropertyRO;
 import eu.europa.ec.edelivery.smp.data.ui.PropertyValidationRO;
 import eu.europa.ec.edelivery.smp.data.ui.ServiceResultProperties;
-import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest;
 import org.apache.commons.lang3.StringUtils;
 import org.hamcrest.CoreMatchers;
 import org.hamcrest.MatcherAssert;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -19,9 +18,9 @@ import org.springframework.test.context.ContextConfiguration;
 import java.util.Collections;
 import java.util.Map;
 
-import static eu.europa.ec.edelivery.smp.cron.CronTriggerConfig.TRIGGER_BEAN_PROPERTY_REFRESH;
 import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SMP_CLUSTER_ENABLED;
 import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SMP_PROPERTY_REFRESH_CRON;
+import static eu.europa.ec.edelivery.smp.cron.CronTriggerConfig.TRIGGER_BEAN_PROPERTY_REFRESH;
 import static org.junit.Assert.*;
 
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchServiceTest.java
index a6ee9e3eacbff929f1a8fe48eab150dd8119aa53..6f16b4b23670e64577c7af02b8c0793a5f9eb0e0 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchServiceTest.java
@@ -1,27 +1,24 @@
 package eu.europa.ec.edelivery.smp.services.ui;
 
-import eu.europa.ec.edelivery.smp.config.ConversionTestConfig;
+import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
 import eu.europa.ec.edelivery.smp.data.ui.ServiceGroupSearchRO;
 import eu.europa.ec.edelivery.smp.data.ui.ServiceResult;
-import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest;
 import eu.europa.ec.edelivery.smp.services.ui.filters.ResourceFilter;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 
-@ContextConfiguration(classes = {UIResourceSearchService.class, ConversionTestConfig.class})
-public class UIResourceSearchServiceTest extends AbstractServiceIntegrationTest {
+public class UIResourceSearchServiceTest extends AbstractJunit5BaseDao {
 
 
     @Autowired
     protected UIResourceSearchService testInstance;
 
-    @Before
+    @BeforeEach
     public void prepareDatabase() {
         // setup initial data!
         testUtilsDao.clearData();
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceServiceTest.java
index bac7784cce12a1ca7dec89c7b8fd54627a88e12b..d155b545731be667c9edc7e5d7c81daf1941313f 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceServiceTest.java
@@ -164,14 +164,68 @@ public class UIResourceServiceTest extends AbstractJunit5BaseDao {
         assertEquals(VisibilityType.PRIVATE, result.getVisibility());
     }
 
+
     @Test
-    public void testDeleteResourceFromGroup() {
+    public void testUpdateResourceForGroupGroupNotFound() {
+        // given
+        DBResource dbResource = testUtilsDao.getResourceD1G1RD1();
+        ResourceRO testResource = TestROUtils.createResource(dbResource.getIdentifierValue(), dbResource.getIdentifierScheme(), dbResource.getDomainResourceDef().getResourceDef().getIdentifier());
+        assertNotEquals(dbResource.getVisibility(), VisibilityType.PRIVATE);
+        testResource.setVisibility(VisibilityType.PRIVATE);
+
+        // when
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                ()-> testInstance.updateResourceForGroup(testResource, dbResource.getId(),
+                        -1000L, testUtilsDao.getD1().getId()));
+        // then
+        assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode());
+        assertThat(result.getMessage(), containsString("Group does not exist!"));
+    }
+
+    @Test
+    public void testUpdateResourceForGroupNotBelongToDomain() {
+        // given
+        DBResource dbResource = testUtilsDao.getResourceD1G1RD1();
+        ResourceRO testResource = TestROUtils.createResource(dbResource.getIdentifierValue(), dbResource.getIdentifierScheme(), dbResource.getDomainResourceDef().getResourceDef().getIdentifier());
+        assertNotEquals(dbResource.getVisibility(), VisibilityType.PRIVATE);
+        testResource.setVisibility(VisibilityType.PRIVATE);
+
+        // when
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                ()-> testInstance.updateResourceForGroup(testResource, dbResource.getId(),
+                        testUtilsDao.getGroupD2G1().getId(), testUtilsDao.getD1().getId()));
+        // then
+        assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode());
+        assertThat(result.getMessage(), containsString("Group does not belong to the given domain!"));
+    }
+
+
+    @Test
+    public void testUpdateResourceForGroupResourceDefNotFound() {
+        // given
+        String defIdNotExist = UUID.randomUUID().toString();
+        DBResource dbResource = testUtilsDao.getResourceD1G1RD1();
+        ResourceRO testResource = TestROUtils.createResource(dbResource.getIdentifierValue(), dbResource.getIdentifierScheme(), defIdNotExist);
+        assertNotEquals(dbResource.getVisibility(), VisibilityType.PRIVATE);
+        testResource.setVisibility(VisibilityType.PRIVATE);
+
+        // when
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                ()-> testInstance.updateResourceForGroup(testResource, dbResource.getId(),
+                testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId()));
+        // then
+        assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode());
+        assertThat(result.getMessage(), containsString("Resource definition ["+defIdNotExist+"] does not exist!"));
+    }
+
+    @Test
+    public void testDeleteResourceFromGroupOK() {
         // given
         ResourceRO testResource = TestROUtils.createResource(UUID.randomUUID().toString(), TEST_SG_SCHEMA_1,
                 testUtilsDao.getDomainResourceDefD1R1().getResourceDef().getIdentifier());
         ResourceRO result = testInstance.createResourceForGroup(testResource, testUtilsDao.getGroupD1G1().getId(),
                 testUtilsDao.getD1().getId(), testUtilsDao.getUser1().getId());
-        Long resourceId = new Long(result.getResourceId());
+        Long resourceId = Long.valueOf(result.getResourceId());
         assertNotNull(resourceDao.find(resourceId));
         // when
         testInstance.deleteResourceFromGroup(resourceId, testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId());
@@ -179,6 +233,47 @@ public class UIResourceServiceTest extends AbstractJunit5BaseDao {
         assertNull(resourceDao.find(resourceId));
     }
 
+
+    @Test
+    public void testDeleteResourceFromGroupResourceNotExists() {
+        // given
+        // when
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                ()-> testInstance.deleteResourceFromGroup(-1000L, testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId()));
+        // then
+        assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode());
+        assertThat(result.getMessage(), containsString("Resource does not exist!"));
+    }
+
+
+    @Test
+    public void testDeleteResourceFromGroupResourceNotBelongToGroup() {
+        // given
+        // when
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                ()-> testInstance.deleteResourceFromGroup(testUtilsDao.getResourceD2G1RD1().getId(), testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId()));
+        // then
+        assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode());
+        assertThat(result.getMessage(), containsString("Resource does not belong to the group!"));
+    }
+
+    @Test
+    public void testDeleteResourceFromGroup() {
+        // given
+        ResourceRO testResource = TestROUtils.createResource(UUID.randomUUID().toString(), TEST_SG_SCHEMA_1,
+                testUtilsDao.getDomainResourceDefD1R1().getResourceDef().getIdentifier());
+        ResourceRO resourceRO = testInstance.createResourceForGroup(testResource, testUtilsDao.getGroupD1G1().getId(),
+                testUtilsDao.getD1().getId(), testUtilsDao.getUser1().getId());
+        Long resourceId = Long.valueOf(resourceRO.getResourceId());
+        assertNotNull(resourceDao.find(resourceId));
+        // when
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                ()-> testInstance.deleteResourceFromGroup(resourceId, testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD2().getId()));
+        // then
+        assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode());
+        assertThat(result.getMessage(), containsString("Group does not belong to the given domain!"));
+    }
+
     @Test
     public void testGetResourceMembers() {
         // given
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceServiceTest.java
index 7863821bf856a5fba4959254feaa6538091dab76..0b48d1080af060e392c67bd612c786afbefff224 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceServiceTest.java
@@ -2,15 +2,10 @@ package eu.europa.ec.edelivery.smp.services.ui;
 
 import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
 import eu.europa.ec.edelivery.smp.data.ui.SubresourceRO;
-import eu.europa.ec.edelivery.smp.exceptions.BadRequestException;
-import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode;
 import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
-import org.hamcrest.MatcherAssert;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.CsvSource;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java
index a92b6e9e3393d9d595cc2cffe92d296a840de14f..551b4f23cb229267938f69c736406e59057b3124 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java
@@ -393,7 +393,7 @@ public class UITruststoreServiceIntegrationTest extends AbstractServiceIntegrati
                 OffsetDateTime.now().plusYears(1),
                 Collections.emptyList()
         );
-        Mockito.doReturn(Arrays.asList("InvalidKeyTest")).when(configurationService).getAllowedCertificateKeyTypes();
+        Mockito.doReturn(Collections.singletonList("InvalidKeyTest")).when(configurationService).getAllowedCertificateKeyTypes();
         // add as trusted certificate
         testInstance.addCertificate(UUID.randomUUID().toString(), certificate);
 
@@ -478,7 +478,7 @@ public class UITruststoreServiceIntegrationTest extends AbstractServiceIntegrati
     @Test
     public void testValidateCertificatePolicyLegacyMatchOk() throws Exception {
         String certSubject = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE";
-        X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(certSubject, BigInteger.TEN, Arrays.asList(CERTIFICATE_POLICY_QCP_NATURAL));
+        X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(certSubject, BigInteger.TEN, Collections.singletonList(CERTIFICATE_POLICY_QCP_NATURAL));
         Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL)).when(configurationService).getAllowedCertificatePolicies();
         testInstance.validateCertificatePolicyMatchLegacy(certificate);
     }
@@ -497,7 +497,7 @@ public class UITruststoreServiceIntegrationTest extends AbstractServiceIntegrati
     @Test
     public void testValidateCertificatePolicyLegacyMatchMismatch() throws Exception {
         String certSubject = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE";
-        X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(certSubject, BigInteger.TEN, Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL_QSCD));
+        X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(certSubject, BigInteger.TEN, Collections.singletonList(CERTIFICATE_POLICY_QCP_LEGAL_QSCD));
         Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL)).when(configurationService).getAllowedCertificatePolicies();
 
         CertificateException result = assertThrows(CertificateException.class,
@@ -507,7 +507,7 @@ public class UITruststoreServiceIntegrationTest extends AbstractServiceIntegrati
 
     @Test
     public void validateCertificateNotUsed() throws CertificateException {
-        String certId = "cn=test" + UUID.randomUUID().toString() + ",o=test,c=eu:123456";
+        String certId = "cn=test" + UUID.randomUUID() + ",o=test,c=eu:123456";
         CertificateRO certificateRO = new CertificateRO();
         certificateRO.setCertificateId(certId);
         // when
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java
index 9d4c18fbc93f24a0cf5facb02516d9c2c0ac2b62..6e26f1a3aa210d803f082467d6c5a1636b335293 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java
@@ -58,7 +58,7 @@ public class UITruststoreServiceTest {
 
     @Test
     public void validateCertificateNotUsedOk() throws CertificateException {
-        String certId = "cn=test" + UUID.randomUUID().toString() + ",o=test,c=eu:123456";
+        String certId = "cn=test" + UUID.randomUUID() + ",o=test,c=eu:123456";
         CertificateRO certificateRO = new CertificateRO();
         certificateRO.setCertificateId(certId);
         doReturn(Optional.empty()).when(userDao).findUserByCertificateId(ArgumentMatchers.anyString());
@@ -73,7 +73,7 @@ public class UITruststoreServiceTest {
 
     @Test
     public void validateCertificateNotUsedIsUsed() {
-        String certId = "cn=test" + UUID.randomUUID().toString() + ",o=test,c=eu:123456";
+        String certId = "cn=test" + UUID.randomUUID() + ",o=test,c=eu:123456";
         CertificateRO certificateRO = new CertificateRO();
         certificateRO.setCertificateId(certId);
         doReturn(Optional.of(new DBUser())).when(userDao).findUserByCertificateId(ArgumentMatchers.anyString());
@@ -405,7 +405,7 @@ public class UITruststoreServiceTest {
     /**
      * This method is not a tests is it done for generating the  tests Soapui certificates
      *
-     * @throws Exception
+     * @throws Exception  if an error occurs
      */
     @Test
     @Disabled
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java
index 598ec7fe0d46ac1a25484a3a636c42cd07a5891e..4a8dd464ab88b848c1d698b71c44c3e80a8fd59d 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java
@@ -32,6 +32,7 @@ import java.math.BigInteger;
 import java.util.List;
 import java.util.Optional;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 import static eu.europa.ec.edelivery.smp.testutil.SMPAssert.assertEqualDates;
 import static org.junit.jupiter.api.Assertions.*;
@@ -150,6 +151,23 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao {
         assertFalse(rmUsr2.isPresent());
     }
 
+    @Test
+    public void testValidateDeleteRequest() {
+        // given
+        insertDataObjects(15);
+        ServiceResult<UserRO> urTest = testInstance.getTableList(-1, -1, null, null, null);
+        assertEquals(15, urTest.getServiceEntities().size());
+        List<String> listUserIds = urTest.getServiceEntities().stream().map(UserRO::getUserId).collect(Collectors.toList());
+        DeleteEntityValidation deleteEntityValidation = new DeleteEntityValidation();
+        deleteEntityValidation.getListIds().addAll(listUserIds);
+        // when
+        DeleteEntityValidation result =  testInstance.validateDeleteRequest(deleteEntityValidation);
+        // then
+        assertNotNull(result);
+        assertEquals(listUserIds.size(), result.getListIds().size());
+        assertEquals(0, result.getListDeleteNotPermitedIds().size());
+    }
+
     @Test
     public void testUpdateUserPasswordNotMatchReqExpression() {
         long authorizedUserId = 1L;
@@ -214,6 +232,27 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao {
         testInstance.updateUserPassword(authorizedUserId, userToUpdateId, authorizedPassword, newPassword);
     }
 
+    @Test
+    public void testUpdateUserPasswordByAdminUserNotExists() {
+        // system admin
+        DBUser user = TestDBUtils.createDBUserByUsername(UUID.randomUUID().toString());
+        user.setApplicationRole(ApplicationRoleType.SYSTEM_ADMIN);
+        DBCredential credential = TestDBUtils.createDBCredentialForUser(user, null, null, null);
+        credential.setValue(BCrypt.hashpw("userPassword", BCrypt.gensalt()));
+        userDao.persistFlushDetach(user);
+        credentialDao.persistFlushDetach(credential);
+
+        long authorizedUserId = user.getId();
+        long userToUpdateId =-1000L;
+        String authorizedPassword = "userPassword";
+        String newPassword = "TTTTtttt1111$$$$$";
+
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                () -> testInstance.updateUserPassword(authorizedUserId,userToUpdateId, authorizedPassword, newPassword));
+
+        MatcherAssert.assertThat(result.getMessage(), CoreMatchers.containsString("Invalid request [UserId]. Error: Can not find user id to update"));
+    }
+
     @Test
     public void testAdminUpdateUserdataOK() {
         DBUser user = TestDBUtils.createDBUserByUsername(UUID.randomUUID().toString());
@@ -259,6 +298,18 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao {
         assertEqualDates(accessToken.getGeneratedOn(), accessToken.getCredential().getActiveFrom());
     }
 
+    @Test
+    public void testCreateAccessTokenForUserUserNotExists() {
+        CredentialRO credentialRO = new CredentialRO();
+        credentialRO.setCredentialType(CredentialType.ACCESS_TOKEN);
+        credentialRO.setDescription("test description");
+
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                () -> testInstance.createAccessTokenForUser(-100L, credentialRO));
+
+        MatcherAssert.assertThat(result.getMessage(), CoreMatchers.containsString("Invalid request [UserId]. Error: Can not find user id!"));
+    }
+
     @Test
     public void testStoreCertificateCredentialForUser() throws Exception {
         DBUser user = TestDBUtils.createDBUserByUsername(UUID.randomUUID().toString());
@@ -280,6 +331,21 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao {
         assertEquals(credentialRO.getDescription(), result.getDescription());
     }
 
+    @Test
+    public void testStoreCertificateCredentialForUserUserNotExists() throws Exception {
+        CertificateRO certificateRO = TestROUtils.createCertificateRO("CN=Test,OU=Test,O=Test,L=Test,ST=Test,C=EU", BigInteger.TEN);
+
+        CredentialRO credentialRO = new CredentialRO();
+        credentialRO.setCredentialType(CredentialType.CERTIFICATE);
+        credentialRO.setDescription("test description");
+        credentialRO.setCertificate(certificateRO);
+
+        SMPRuntimeException result = assertThrows(SMPRuntimeException.class,
+                () -> testInstance.storeCertificateCredentialForUser(-100L, credentialRO));
+
+        MatcherAssert.assertThat(result.getMessage(), CoreMatchers.containsString("Invalid request [UserId]. Error: Can not find user id!"));
+    }
+
     @Test
     public void testUpdateUserProfile() {
         DBUser user = TestDBUtils.createDBUserByUsername(UUID.randomUUID().toString());
@@ -339,7 +405,7 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao {
         credentialRO.setCertificate(certificateRO);
         credentialRO = testInstance.storeCertificateCredentialForUser(user.getId(), credentialRO);
         // the credential id for the test is not encrypted and we can use "Long parsing".
-        CredentialRO result = testInstance.getUserCertificateCredential(user.getId(), new Long(credentialRO.getCredentialId()));
+        CredentialRO result = testInstance.getUserCertificateCredential(user.getId(), Long.valueOf(credentialRO.getCredentialId()));
 
         assertNotNull(result);
         assertEquals(credentialRO.getCredentialId(), result.getCredentialId());
@@ -361,7 +427,7 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao {
         assertEquals(1, result.size());
         assertEquals(credentialRO.getDescription(), result.get(0).getDescription());
         // the credential id for the test is not encrypted and we can use "Long parsing".
-        testInstance.deleteUserCredentials(user.getId(), new Long(result.get(0).getCredentialId()), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API);
+        testInstance.deleteUserCredentials(user.getId(), Long.valueOf(result.get(0).getCredentialId()), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API);
 
         result = testInstance.getUserCredentials(user.getId(), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API);
         assertNotNull(result);
@@ -386,7 +452,7 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao {
         credentialRO2.setCredentialType(CredentialType.ACCESS_TOKEN);
         credentialRO2.setDescription("test description 2");
         // the credential id for the test is not encrypted and we can use "Long parsing".
-        testInstance.updateUserCredentials(user.getId(), new Long(result.get(0).getCredentialId()), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API, credentialRO2);
+        testInstance.updateUserCredentials(user.getId(), Long.valueOf(result.get(0).getCredentialId()), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API, credentialRO2);
 
         result = testInstance.getUserCredentials(user.getId(), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API);
         assertNotNull(result);
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/servlet/ResourceResponseTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/servlet/ResourceResponseTest.java
index f5ab899f6e76052d101b526f6b2bae31a503bb4a..c9c15143ee70d748948138a16e4a9d2ca268db28 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/servlet/ResourceResponseTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/servlet/ResourceResponseTest.java
@@ -4,10 +4,9 @@ import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
 import javax.servlet.http.HttpServletResponse;
-
 import java.io.IOException;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class ResourceResponseTest {
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlClientFactoryAuthenticationByClientCertHttpHeader.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlClientFactoryAuthenticationByClientCertHttpHeader.java
index b714eccb3b7f6d6500809b2e3404b2b69c80a5bb..5c85a08582bac5e53ca2cdf0c93464d6142cad34 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlClientFactoryAuthenticationByClientCertHttpHeader.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlClientFactoryAuthenticationByClientCertHttpHeader.java
@@ -37,7 +37,8 @@ import java.net.URL;
 import java.util.List;
 import java.util.Map;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  * Created by gutowpa on 08/01/2018.
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java
index e57ec7eb95a10a68f2954a270ee0aa0e61cefef3..30fdb600997ba42c9eb8ee6015e2b2da262d483c 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java
@@ -21,7 +21,6 @@ import eu.europa.ec.bdmsl.ws.soap.UnauthorizedFault;
 import eu.europa.ec.edelivery.smp.config.SmlIntegrationConfiguration;
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
-import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest;
 import eu.europa.ec.edelivery.smp.services.AbstractServiceTest;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
 import org.junit.Before;
@@ -30,11 +29,8 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.jupiter.api.Assertions;
 import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.test.util.ReflectionTestUtils;
 
 import java.util.UUID;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/DBAssertion.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/DBAssertion.java
index cc9582a6e6a2c654f78a02404023386425121616..c4dff31cae72d380460c1b01f67d65c2f97476d7 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/DBAssertion.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/DBAssertion.java
@@ -6,11 +6,9 @@ import eu.europa.ec.edelivery.smp.data.model.doc.DBResource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Arrays;
 import java.util.Optional;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
 
 /**
  * Purpose of class is to test database data. Class is created as a bean so that
@@ -39,15 +37,15 @@ public class DBAssertion {
     @Transactional
     public void assertServiceGroupExtensionEqual(String partId, String partSchema, byte[] expectedExt) {
         byte[] ext = getExtensionForServiceGroup(partId, partSchema);
-        assertTrue(Arrays.equals(expectedExt, ext));
+        assertArrayEquals(expectedExt, ext);
     }
 
     @Transactional
     public byte[] getExtensionForServiceGroup(String partId, String partSchema) {
         DBResource sg = serviceGroupDao.findServiceGroup(partId, partSchema).get();
-        DBDocumentVersion currentVersion =  sg.getDocument()!=null && !sg.getDocument().getDocumentVersions().isEmpty()?
-        sg.getDocument().getDocumentVersions().stream().filter(res -> res.getVersion() == sg.getDocument().getCurrentVersion()).findFirst().orElse(null)  :null;
-        return currentVersion!=null? currentVersion.getContent():null;
+        DBDocumentVersion currentVersion = sg.getDocument() != null && !sg.getDocument().getDocumentVersions().isEmpty() ?
+                sg.getDocument().getDocumentVersions().stream().filter(res -> res.getVersion() == sg.getDocument().getCurrentVersion()).findFirst().orElse(null) : null;
+        return currentVersion != null ? currentVersion.getContent() : null;
     }
 
     @Transactional
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/MockAlertBeans.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/MockAlertBeans.java
index 4fe62d0f26c153904f017ebfb1836aeab0c4a8c1..2a4d1ab77246eeecc755a0de51c1c7248c699ed7 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/MockAlertBeans.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/MockAlertBeans.java
@@ -17,5 +17,5 @@ public class MockAlertBeans {
     @Primary
     public JavaMailSenderImpl getJavaMailSender(){
         return javaMailSender;
-    };
+    }
 }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/SignatureUtil.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/SignatureUtil.java
index 1d27d6100b0bb0bdab7cfd0e460805df0962f623..e33a7e13fe3490d39651b2de39a88b195daa6765 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/SignatureUtil.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/SignatureUtil.java
@@ -20,7 +20,6 @@ import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
-
 import javax.xml.crypto.MarshalException;
 import javax.xml.crypto.dsig.*;
 import javax.xml.crypto.dsig.dom.DOMSignContext;
@@ -30,6 +29,8 @@ import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory;
 import javax.xml.crypto.dsig.keyinfo.X509Data;
 import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
 import javax.xml.crypto.dsig.spec.TransformParameterSpec;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerException;
@@ -37,6 +38,7 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 import java.io.*;
+import java.nio.charset.StandardCharsets;
 import java.security.*;
 import java.security.cert.CertificateException;
 import java.security.cert.X509Certificate;
@@ -61,9 +63,16 @@ public class SignatureUtil {
     private static KeyStore.PrivateKeyEntry privateKeyEntry;
     private static KeyInfo keyInfo;
 
+    private static XMLSignatureFactory getDomSigFactory() {
+        // According to Javadoc, only static methods of this factory are thread-safe
+        // We cannot share and re-use the same instance in every place
+        // set apache santuario xmlsec signature factory
+        return XMLSignatureFactory.getInstance("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
+    }
+
     private static void setupSigner(String keystoreResPath, String keystorePass, String keyPairAlias, String keyPairPass) throws KeyStoreException, CertificateException, NoSuchAlgorithmException, UnrecoverableEntryException, IOException {
         // Initialize all stuff needed for signing: Load keys from keystore and prepare signature factory
-        sigFactory = XMLSignatureFactory.getInstance("DOM");
+        sigFactory = getDomSigFactory();
         KeyStore ks = KeyStore.getInstance("JKS");
         InputStream keystoreStream = SignatureUtil.class.getResourceAsStream(keystoreResPath);
         ks.load(keystoreStream, keystorePass.toCharArray());
@@ -102,7 +111,7 @@ public class SignatureUtil {
     }
 
     public static void validateSignature(Element sigPointer) throws Exception {
-        XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM");
+        XMLSignatureFactory fac = getDomSigFactory();
 
         // Create a DOMValidateContext and specify a KeySelector and document context.
         DOMValidateContext valContext = new DOMValidateContext(new X509KeySelector(), sigPointer);
@@ -122,7 +131,7 @@ public class SignatureUtil {
         }
 
         // Check core validation status.
-        if (coreValidity == false) {
+        if (!coreValidity) {
             printErrorDetails(valContext, signature);
             throw new Exception("+++ Signature not valild +++");
         } else {
@@ -135,7 +144,7 @@ public class SignatureUtil {
         System.err.println("Signature failed core validation");
         boolean sv = signature.getSignatureValue().validate(valContext);
         System.out.println("signature validation status: " + sv);
-        if (sv == false) {
+        if (!sv) {
             // Check the validation status of each Reference.
             Iterator i1 = signature.getSignedInfo().getReferences().iterator();
             for (int j = 0; i1.hasNext(); j++) {
@@ -164,7 +173,6 @@ public class SignatureUtil {
     }
 
 
-
     public static Element findServiceInfoSig(Document doc) throws ParserConfigurationException, SAXException, IOException {
         Element extension = findExtensionInServiceInformation(doc);
         return findSignatureByParentNode(extension);
@@ -180,7 +188,6 @@ public class SignatureUtil {
     }
 
 
-
     public static Element findExtensionInServiceInformation(Document doc) throws ParserConfigurationException, SAXException, IOException {
         Element serviceInformation = findFirstElementByName(doc, "ServiceInformation");
 
@@ -198,6 +205,19 @@ public class SignatureUtil {
         return extension;
     }
 
+    public static Document loadDocument(String docResourcePath) throws ParserConfigurationException, SAXException, IOException {
+        InputStream inputStreamm = SignatureUtil.class.getResourceAsStream(docResourcePath);
+        return getDocumentBuilder().parse(inputStreamm);
+    }
+
+
+    public static DocumentBuilder getDocumentBuilder() throws ParserConfigurationException {
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+        dbf.setNamespaceAware(true);
+        return dbf.newDocumentBuilder();
+    }
+
+
     public static Element findFirstElementByName(Document doc, String elementName) {
         NodeList elements = doc.getElementsByTagNameNS(OASIS_NS, elementName);
         return (Element) elements.item(0);
@@ -213,7 +233,7 @@ public class SignatureUtil {
 
     public static String loadDocumentAsString(String docResourcePath) throws IOException {
         InputStream inputStream = SignatureUtil.class.getResourceAsStream(docResourcePath);
-        return org.apache.commons.io.IOUtils.toString(inputStream, "UTF-8");
+        return org.apache.commons.io.IOUtils.toString(inputStream, StandardCharsets.UTF_8);
     }
 
 }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestDBUtils.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestDBUtils.java
index b49a633f9d0495024ff506186d881e696223a5a3..c3ea243b3224d73e599659eba3a91906e207205c 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestDBUtils.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestDBUtils.java
@@ -20,12 +20,11 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
 import eu.europa.ec.edelivery.smp.data.ui.enums.AlertLevelEnum;
 import eu.europa.ec.edelivery.smp.data.ui.enums.AlertStatusEnum;
 import eu.europa.ec.edelivery.smp.data.ui.enums.AlertTypeEnum;
-import org.apache.commons.lang3.StringUtils;
 
 import java.time.OffsetDateTime;
 import java.util.UUID;
 
-import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*;
+import static eu.europa.ec.edelivery.smp.testutil.TestConstants.SIMPLE_EXTENSION_XML;
 
 public class TestDBUtils {
 
@@ -40,10 +39,10 @@ public class TestDBUtils {
     }
 
     public static DBGroup createDBGroup(String groupName) {
-        return  createDBGroup(groupName, VisibilityType.PUBLIC);
+        return createDBGroup(groupName, VisibilityType.PUBLIC);
     }
 
-    public static DBGroup createDBGroup(String groupName, VisibilityType visibility){
+    public static DBGroup createDBGroup(String groupName, VisibilityType visibility) {
         DBGroup group = new DBGroup();
         group.setGroupName(groupName);
         group.setGroupDescription(anyString());
@@ -54,7 +53,7 @@ public class TestDBUtils {
     public static DBExtension createDBExtension(String identifier) {
         DBExtension entity = new DBExtension();
         entity.setIdentifier(identifier);
-        entity.setImplementationName(identifier+"Name");
+        entity.setImplementationName(identifier + "Name");
         entity.setName(anyString());
         entity.setDescription(anyString());
         entity.setVersion(anyString());
@@ -82,7 +81,7 @@ public class TestDBUtils {
     }
 
     public static DBResourceDef createDBResourceDef(String identifier) {
-       return createDBResourceDef(identifier, anyString());
+        return createDBResourceDef(identifier, anyString());
     }
 
     public static DBAlert createDBAlert(String username) {
@@ -177,7 +176,7 @@ public class TestDBUtils {
     public static DBDocumentVersion createDBDocumentVersion(String id, String sch) {
         DBDocumentVersion docuVersion = new DBDocumentVersion();
         docuVersion.setContent(("<ServiceGroup xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\">" +
-                "<ParticipantIdentifier scheme=\""+sch+"\">"+id+"</ParticipantIdentifier>" +
+                "<ParticipantIdentifier scheme=\"" + sch + "\">" + id + "</ParticipantIdentifier>" +
                 "<ServiceMetadataReferenceCollection />" +
                 "</ServiceGroup>").getBytes());
         return docuVersion;
@@ -186,8 +185,8 @@ public class TestDBUtils {
     public static DBDocumentVersion createDBDocumentVersion(String id, String sch, String docId, String docSch) {
         DBDocumentVersion docuVersion = new DBDocumentVersion();
         docuVersion.setContent(("<ServiceMetadata xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\"><ServiceInformation>" +
-                "<ParticipantIdentifier scheme=\""+sch+"\">"+id+"</ParticipantIdentifier>" +
-                "<DocumentIdentifier scheme=\""+docSch+"\">"+docId+"</DocumentIdentifier>" +
+                "<ParticipantIdentifier scheme=\"" + sch + "\">" + id + "</ParticipantIdentifier>" +
+                "<DocumentIdentifier scheme=\"" + docSch + "\">" + docId + "</DocumentIdentifier>" +
                 "<ProcessList><Process>" +
                 "<ProcessIdentifier scheme=\"[test-schema]\">[test-value]</ProcessIdentifier>" +
                 "<ServiceEndpointList>" +
@@ -211,24 +210,24 @@ public class TestDBUtils {
         return createDBCredential(name, "value", CredentialType.USERNAME_PASSWORD, CredentialTargetType.UI);
     }
 
-    public static DBCredential createDBCredentialForUser(DBUser user, OffsetDateTime from , OffsetDateTime to, OffsetDateTime lastAlertSent ) {
-        DBCredential credential =  createDBCredential(user, user.getUsername(), "value", CredentialType.USERNAME_PASSWORD, CredentialTargetType.UI);
+    public static DBCredential createDBCredentialForUser(DBUser user, OffsetDateTime from, OffsetDateTime to, OffsetDateTime lastAlertSent) {
+        DBCredential credential = createDBCredential(user, user.getUsername(), "value", CredentialType.USERNAME_PASSWORD, CredentialTargetType.UI);
         credential.setExpireOn(to);
         credential.setActiveFrom(from);
         credential.setExpireAlertOn(lastAlertSent);
         return credential;
     }
 
-    public static DBCredential createDBCredentialForUserAccessToken(DBUser user, OffsetDateTime from , OffsetDateTime to, OffsetDateTime lastAlertSent ) {
-        DBCredential credential =  createDBCredential(user, user.getUsername(), "value", CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API);
+    public static DBCredential createDBCredentialForUserAccessToken(DBUser user, OffsetDateTime from, OffsetDateTime to, OffsetDateTime lastAlertSent) {
+        DBCredential credential = createDBCredential(user, user.getUsername(), "value", CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API);
         credential.setExpireOn(to);
         credential.setActiveFrom(from);
         credential.setExpireAlertOn(lastAlertSent);
         return credential;
     }
 
-    public static DBCredential createDBCredentialForUserCertificate(DBUser user, OffsetDateTime from , OffsetDateTime to, OffsetDateTime lastAlertSent ) {
-        DBCredential credential =  createDBCredential(user, user.getUsername(), "value", CredentialType.CERTIFICATE, CredentialTargetType.REST_API);
+    public static DBCredential createDBCredentialForUserCertificate(DBUser user, OffsetDateTime from, OffsetDateTime to, OffsetDateTime lastAlertSent) {
+        DBCredential credential = createDBCredential(user, user.getUsername(), "value", CredentialType.CERTIFICATE, CredentialTargetType.REST_API);
         credential.setExpireAlertOn(lastAlertSent);
         if (to != null) {
             credential.setExpireOn(to);
@@ -248,8 +247,8 @@ public class TestDBUtils {
         dbCredential.setName(name);
         dbCredential.setCredentialType(credentialType);
         dbCredential.setCredentialTarget(credentialTargetType);
-        dbCredential.setActiveFrom(OffsetDateTime.now().minusDays(1l));
-        dbCredential.setExpireOn(OffsetDateTime.now().plusDays(2l));
+        dbCredential.setActiveFrom(OffsetDateTime.now().minusDays(1L));
+        dbCredential.setExpireOn(OffsetDateTime.now().plusDays(2L));
         dbCredential.setChangedOn(OffsetDateTime.now());
         dbCredential.setExpireAlertOn(OffsetDateTime.now());
         dbCredential.setSequentialLoginFailureCount(1);
@@ -263,11 +262,11 @@ public class TestDBUtils {
             certificate.setValidTo(dbCredential.getExpireOn());
 
             int iSplit = name.lastIndexOf(':');
-            if (iSplit>0) {
+            if (iSplit > 0) {
                 String subject = name.substring(0, iSplit);
                 certificate.setSubject(subject);
                 certificate.setIssuer(subject);
-                certificate.setSerialNumber(name.substring(iSplit+1));
+                certificate.setSerialNumber(name.substring(iSplit + 1));
             } else {
                 certificate.setSubject(name);
                 certificate.setIssuer(name);
@@ -286,8 +285,8 @@ public class TestDBUtils {
         dbCredential.setName(name);
         dbCredential.setCredentialType(credentialType);
         dbCredential.setCredentialTarget(credentialTargetType);
-        dbCredential.setActiveFrom(OffsetDateTime.now().minusDays(1l));
-        dbCredential.setExpireOn(OffsetDateTime.now().plusDays(2l));
+        dbCredential.setActiveFrom(OffsetDateTime.now().minusDays(1L));
+        dbCredential.setExpireOn(OffsetDateTime.now().plusDays(2L));
         dbCredential.setChangedOn(OffsetDateTime.now());
         dbCredential.setExpireAlertOn(OffsetDateTime.now());
         dbCredential.setSequentialLoginFailureCount(1);
@@ -343,7 +342,7 @@ public class TestDBUtils {
 
     public static DBUser createDBUser(String userName, String certId, OffsetDateTime validFrom, OffsetDateTime validTo) {
         DBUser dbuser = createDBUserByUsername(userName);
-        DBCredential credential = createDBCredential(dbuser, certId,"", CredentialType.CERTIFICATE, CredentialTargetType.REST_API);
+        DBCredential credential = createDBCredential(dbuser, certId, "", CredentialType.CERTIFICATE, CredentialTargetType.REST_API);
         credential.setActiveFrom(validFrom);
         credential.setExpireOn(validTo);
         credential.setCertificate(createDBCertificate(certId, validFrom, validTo));
@@ -351,7 +350,7 @@ public class TestDBUtils {
         return dbuser;
     }
 
-    public static String anyString(){
+    public static String anyString() {
         return UUID.randomUUID().toString();
     }
 }
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509CertificateTestUtils.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509CertificateTestUtils.java
index 3a0a21a385939ad92080517fe47329ad3e60c188..8ce924398e5ab13306d6b526a31c48cc98f2f9c4 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509CertificateTestUtils.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509CertificateTestUtils.java
@@ -38,7 +38,7 @@ public class X509CertificateTestUtils {
         KeyUsage usage = new KeyUsage(244);
         X509Certificate cert = X509CertificateUtils.generateCertificate(serial,
                 key.getPublic(), subject, OffsetDateTime.now().minusDays(1L),
-                OffsetDateTime.now().plusYears(5L), (String) null,
+                OffsetDateTime.now().plusYears(5L), null,
                 key.getPrivate(), false, -1, usage,
                 Collections.emptyList(), Collections.emptyList(),
                 listOfPolicyOIDs);
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509KeySelector.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509KeySelector.java
index c39464956efe1325a23eb5a155324f6758848b69..0357d1a9dfb4fb7e9052fa36c686ed0c770b48db 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509KeySelector.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509KeySelector.java
@@ -14,14 +14,16 @@
 package eu.europa.ec.edelivery.smp.testutil;
 
 import javax.xml.crypto.*;
-import javax.xml.crypto.dsig.SignatureMethod;
 import javax.xml.crypto.dsig.keyinfo.KeyInfo;
 import javax.xml.crypto.dsig.keyinfo.X509Data;
-import java.security.Key;
 import java.security.PublicKey;
 import java.security.cert.X509Certificate;
 import java.util.Iterator;
 
+/**
+ * This test class is used to extract the public key from an X509 certificate.
+ * It is used in the test cases to verify the signature of the SML response.
+ */
 public class X509KeySelector extends KeySelector {
 
     private X509Certificate certificate;
@@ -50,30 +52,12 @@ public class X509KeySelector extends KeySelector {
                 final PublicKey key = this.certificate.getPublicKey();
                 // Make sure the algorithm is compatible
                 // with the method.
-                if (algEquals(method.getAlgorithm(), key.getAlgorithm())) {
-                    return new KeySelectorResult() {
-                        public Key getKey() {
-                            return key;
-                        }
-                    };
-                }
+                return () -> key;
             }
         }
         throw new KeySelectorException("No key found!");
     }
 
-    static boolean algEquals(String algorithmURI, String algorithmName) {
-        if ((algorithmName.equalsIgnoreCase("DSA") &&
-                algorithmURI.equalsIgnoreCase(SignatureMethod.DSA_SHA1))
-                || (algorithmName.equalsIgnoreCase("RSA") &&
-                algorithmURI.equalsIgnoreCase(SignatureMethod.RSA_SHA1))
-                || (algorithmName.equalsIgnoreCase("RSA")
-                && algorithmURI.equalsIgnoreCase("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"))) {
-
-            return true;
-        }
-        return false;
-    }
 
     public X509Certificate getCertificate() {
         return this.certificate;
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/BCryptPasswordHashTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/BCryptPasswordHashTest.java
index 8e9537e5ca7c1aa47986b30ce2bfbf7cf8c7a1b4..55f4dc99e7997e7afaebcbb408cee1f66e75034e 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/BCryptPasswordHashTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/BCryptPasswordHashTest.java
@@ -14,7 +14,6 @@
 package eu.europa.ec.edelivery.smp.utils;
 
 import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
 import org.springframework.security.crypto.bcrypt.BCrypt;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpForwardedHeadersTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpForwardedHeadersTest.java
index cfeadee567824836303f258bf9a247ad719fe053..c47e66f367562897ba8a701f121f2e8a54a4b132 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpForwardedHeadersTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpForwardedHeadersTest.java
@@ -4,12 +4,9 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.mockito.Mockito;
-import org.springframework.http.HttpMethod;
 
 import javax.servlet.http.HttpServletRequest;
-
 import java.util.Collection;
-import java.util.List;
 
 import static eu.europa.ec.edelivery.smp.utils.HttpForwardedHeaders.ForwardedHeaderNameEnum.*;
 import static java.util.Arrays.asList;
@@ -56,7 +53,6 @@ public class HttpForwardedHeadersTest {
     @Test
     public void getReadForwardHeadersFromRequest() {
 
-
         HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
         Mockito.doReturn(hostName).when(request).getHeader(HOST.getHeaderName());
         Mockito.doReturn(scheme).when(request).getHeader(PROTO.getHeaderName());
@@ -70,7 +66,5 @@ public class HttpForwardedHeadersTest {
         assertEquals(resultDefaultPort, testInstance.getNonDefaultPort());
         assertEquals(resultScheme, testInstance.getProto());
         assertEquals(resultForCall, testInstance.getForClientHost());
-
     }
-
-}
\ No newline at end of file
+}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpUtilsTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpUtilsTest.java
index 5902b787ee1c2687773c1407aa0a655dc197f3e4..50dd40ac37bfa036baad5eeb9dadbdd323fcd3e8 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpUtilsTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpUtilsTest.java
@@ -7,8 +7,6 @@ import java.net.MalformedURLException;
 import java.net.URISyntaxException;
 import java.net.URL;
 
-import static org.junit.Assert.*;
-
 public class HttpUtilsTest {
     @Test
     public void testDoesTargetMatchNonProxyLocalhostTrue() throws URISyntaxException, MalformedURLException {
@@ -73,4 +71,4 @@ public class HttpUtilsTest {
         boolean val = HttpUtils.doesTargetMatchNonProxy(targetUrl.getHost(), "localhost|127.0.0.1|192.168.4.*|ec.test.eu");
         Assert.assertFalse(val);
     }
-}
\ No newline at end of file
+}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/PropertyUtilsTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/PropertyUtilsTest.java
index 8a044dbd50e078fd71dc4196789b5e2a14fa89a4..955fc7216dbbdb745a611cf2552a9869cd761e3b 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/PropertyUtilsTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/PropertyUtilsTest.java
@@ -190,10 +190,10 @@ public class PropertyUtilsTest {
                 Assert.assertEquals(Integer.class, value.getClass());
                 break;
             case LIST_STRING:
-                Assert.assertTrue(List.class.isInstance(value));
+                Assert.assertTrue(value instanceof List);
                 break;
             case MAP_STRING:
-                Assert.assertTrue(Map.class.isInstance(value));
+                Assert.assertTrue(value instanceof Map);
                 break;
             case PATH:
             case FILENAME:
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/SMPCookieWriterGenerateHeaderTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/SMPCookieWriterGenerateHeaderTest.java
index f65e3e6378fb478c2081199baee4224d8888f5da..52571fab393c069a90922fd16f710fd0e877f421 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/SMPCookieWriterGenerateHeaderTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/SMPCookieWriterGenerateHeaderTest.java
@@ -1,7 +1,6 @@
 package eu.europa.ec.edelivery.smp.utils;
 
 import org.apache.commons.lang3.StringUtils;
-import org.hamcrest.Matchers;
 import org.hamcrest.core.IsNot;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -14,9 +13,9 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.UUID;
 
+import static org.hamcrest.Matchers.startsWith;
 import static org.hamcrest.core.StringContains.containsString;
 import static org.junit.Assert.assertThat;
-import static org.hamcrest.Matchers.startsWith;
 import static org.mockito.Mockito.doReturn;
 
 @RunWith(Parameterized.class)
@@ -80,4 +79,4 @@ public class SMPCookieWriterGenerateHeaderTest {
             assertThat(result, IsNot.not(containsString(expectedResultNotContains)));
         }
     }
-}
\ No newline at end of file
+}
diff --git a/smp-server-library/src/test/resources/keystores/smp-keystore-all-keys.p12 b/smp-server-library/src/test/resources/keystores/smp-keystore-all-keys.p12
new file mode 100644
index 0000000000000000000000000000000000000000..b98490ab6f55a61121fd59f5911cbb32556aadd2
Binary files /dev/null and b/smp-server-library/src/test/resources/keystores/smp-keystore-all-keys.p12 differ
diff --git a/smp-spi/src/main/java/eu/europa/ec/smp/spi/resource/ResourceHandlerSpi.java b/smp-spi/src/main/java/eu/europa/ec/smp/spi/resource/ResourceHandlerSpi.java
index ecc331b1d5f940f2ad691a3414aa0282b804a2e0..3990741df5f57d3929167b7839404f7ece0b1b4b 100644
--- a/smp-spi/src/main/java/eu/europa/ec/smp/spi/resource/ResourceHandlerSpi.java
+++ b/smp-spi/src/main/java/eu/europa/ec/smp/spi/resource/ResourceHandlerSpi.java
@@ -4,8 +4,6 @@ import eu.europa.ec.smp.spi.api.model.RequestData;
 import eu.europa.ec.smp.spi.api.model.ResponseData;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
 
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.util.List;
 
 
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListener.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListener.java
index cae76a369da5eb29ee08f22e1177fbe37d919366..1d3ecfec11486a14f9e9dadf21d759fd596edf20 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListener.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListener.java
@@ -30,7 +30,7 @@ public class SMPAuthenticationEventListener implements ApplicationListener<Authe
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(SMPAuthenticationEventListener.class);
 
-    private ConfigurationService configurationService;
+    private final ConfigurationService configurationService;
 
     @Autowired
     public SMPAuthenticationEventListener(ConfigurationService configurationService) {
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java
index f8a5fa5290e1cd5ed1d09ea52162e2837f2337c9..0d70c736daba47297eee20429147919bb029bb03 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java
@@ -6,10 +6,12 @@ import org.slf4j.Logger;
 import org.springframework.http.HttpMethod;
 import org.springframework.security.web.util.matcher.RegexRequestMatcher;
 import org.springframework.security.web.util.matcher.RequestMatcher;
-import org.springframework.web.util.UrlPathHelper;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
 
 /**
  * URLCsrfMatcher matches the request and validates if request can be ignored for CSRF.
@@ -22,7 +24,7 @@ public class URLCsrfIgnoreMatcher implements RequestMatcher {
 
     private static final Logger LOG = SMPLoggerFactory.getLogger(
             URLCsrfIgnoreMatcher.class);
-    private List<RegexRequestMatcher> unprotectedMatcherList = new ArrayList<>();
+    private final List<RegexRequestMatcher> unprotectedMatcherList = new ArrayList<>();
 
     public URLCsrfIgnoreMatcher() {
         this(null, null);
@@ -40,13 +42,13 @@ public class URLCsrfIgnoreMatcher implements RequestMatcher {
         // ignore non ui sites!
         String uri = request.getRequestURI();
         LOG.debug("Test CSRF for uri [{}]", uri);
-        if(!StringUtils.startsWithAny(uri,"/ui/","/smp/ui/")) {
+        if (!StringUtils.startsWithAny(uri, "/ui/", "/smp/ui/")) {
             LOG.debug("URL is not part of the UI  [{}]", uri);
             return false;
         }
         Optional<RegexRequestMatcher> unprotectedMatcher = unprotectedMatcherList.stream().filter(requestMatcher -> requestMatcher.matches(request)).findFirst();
         if (unprotectedMatcher.isPresent()) {
-            LOG.debug("Ignore CSRF for: [{}] - [{}] with matcher [{}]!", request.getMethod(), request.getRequestURI(),unprotectedMatcher.get());
+            LOG.debug("Ignore CSRF for: [{}] - [{}] with matcher [{}]!", request.getMethod(), request.getRequestURI(), unprotectedMatcher.get());
         }
         return !unprotectedMatcher.isPresent();
     }
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCas20ServiceTicketValidator.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCas20ServiceTicketValidator.java
index 1a5d96924f14556a316a9d45f545488c86fc4a56..65a41515a813d9ee5ee72804e022c47dc1f0b220 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCas20ServiceTicketValidator.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCas20ServiceTicketValidator.java
@@ -18,7 +18,7 @@ import org.slf4j.LoggerFactory;
 public class SMPCas20ServiceTicketValidator extends Cas20ServiceTicketValidator {
     private static final Logger LOG = LoggerFactory.getLogger(Cas20ServiceTicketValidator.class);
 
-    private String urlSuffix;
+    private final String urlSuffix;
 
     public SMPCas20ServiceTicketValidator(String casServerUrl, String urlSuffix) {
         super(casServerUrl);
@@ -39,4 +39,4 @@ public class SMPCas20ServiceTicketValidator extends Cas20ServiceTicketValidator
             throws TicketValidationException {
         LOG.debug("Got CAS response: [{}] and test it with assertion [{}]",response,assertion );
     }
-}
\ No newline at end of file
+}
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurer.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurer.java
index cfbf80d9e20acf667b131e56bc72ff4a234873a8..9c48e9c8bdcee8f5ffa60012b94f0f500320251e 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurer.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurer.java
@@ -1,8 +1,8 @@
 package eu.europa.ec.edelivery.smp.auth.cas;
 
 
-import eu.europa.ec.edelivery.smp.utils.SmpUrlBuilder;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
+import eu.europa.ec.edelivery.smp.utils.SmpUrlBuilder;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -144,7 +144,7 @@ public class SMPCasConfigurer {
         provider.setTicketValidator(serviceTicketValidator);
         provider.setAuthenticationUserDetailsService(smpCasUserService);
         //A Key is required so CasAuthenticationProvider can identify tokens it previously authenticated
-        provider.setKey(SMP_CAS_KEY + UUID.randomUUID().toString());
+        provider.setKey(SMP_CAS_KEY + UUID.randomUUID());
         return provider;
     }
 
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasUserService.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasUserService.java
index 0ab35db2d1acb95a2b1488610b6cea4320922959..552c27bf55be2ef6a69425f8f01760046470c778 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasUserService.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasUserService.java
@@ -3,7 +3,6 @@ package eu.europa.ec.edelivery.smp.auth.cas;
 import eu.europa.ec.edelivery.security.utils.SecurityUtils;
 import eu.europa.ec.edelivery.smp.auth.SMPUserDetails;
 import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
-
 import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.services.ui.UIUserService;
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java
index dec0b963bdfda8e21def6e03b5eefb83f22d466f..fdc7042be5b699fc9f05282f71aa818856a0ea44 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java
@@ -46,7 +46,6 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe
 import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
 import org.springframework.security.config.annotation.web.configurers.ExceptionHandlingConfigurer;
 import org.springframework.security.config.http.SessionCreationPolicy;
-import org.springframework.security.config.web.server.SecurityWebFiltersOrder;
 import org.springframework.security.web.csrf.CsrfTokenRepository;
 import org.springframework.security.web.firewall.DefaultHttpFirewall;
 import org.springframework.security.web.firewall.HttpFirewall;
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPCronExpressionPropertyUpdateListener.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPCronExpressionPropertyUpdateListener.java
index a9fe470dcf08751694ea0bb5d4cc6c256134c3b0..0a48b5c13624277d667ebda674896a122feb113c 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPCronExpressionPropertyUpdateListener.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPCronExpressionPropertyUpdateListener.java
@@ -2,8 +2,8 @@ package eu.europa.ec.edelivery.smp.config.properties;
 
 import eu.europa.ec.edelivery.smp.config.PropertyUpdateListener;
 import eu.europa.ec.edelivery.smp.config.SMPTaskSchedulerConfig;
-import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger;
 import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
+import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import org.apache.commons.lang3.StringUtils;
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPIdentifierServicePropertyUpdateListener.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPIdentifierServicePropertyUpdateListener.java
index ceb2098695570426cc858fdcc0add998378eb94a..d17f124dc69aecd2f5af4e297b0183168d3f18ee 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPIdentifierServicePropertyUpdateListener.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPIdentifierServicePropertyUpdateListener.java
@@ -1,8 +1,8 @@
 package eu.europa.ec.edelivery.smp.config.properties;
 
 import eu.europa.ec.edelivery.smp.config.PropertyUpdateListener;
-import eu.europa.ec.edelivery.smp.conversion.IdentifierService;
 import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
+import eu.europa.ec.edelivery.smp.conversion.IdentifierService;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import org.springframework.stereotype.Component;
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ErrorResponseBuilder.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ErrorResponseBuilder.java
index 4ad6d334226d6e16913a54aa20f7cc2a19830bbe..72b709022bcad908dcaf700c71ac26f2ed18e574 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ErrorResponseBuilder.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ErrorResponseBuilder.java
@@ -13,8 +13,8 @@
 
 package eu.europa.ec.edelivery.smp.error;
 
-import eu.europa.ec.edelivery.smp.error.xml.ErrorResponse;
 import eu.europa.ec.edelivery.smp.data.ui.exceptions.ErrorResponseRO;
+import eu.europa.ec.edelivery.smp.error.xml.ErrorResponse;
 import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,11 +42,9 @@ public class ErrorResponseBuilder {
     private String strErrorDescription = "Unexpected technical error occurred.";
 
     private static String getErrorUniqueId() {
-        StringBuilder errId = new StringBuilder();
-        errId.append(OffsetDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME))
-                .append(":")
-                .append(UUID.randomUUID());
-        return String.valueOf(errId);
+        return OffsetDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME) +
+                ":" +
+                UUID.randomUUID();
     }
 
     public ErrorResponseBuilder() {
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdvice.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdvice.java
index 5be691e992e37cedfc78d12673355da86e08d09b..9cafe29d285c7d2973250d9b1e751432ab3257c9 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdvice.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdvice.java
@@ -13,12 +13,11 @@
 
 package eu.europa.ec.edelivery.smp.error;
 
+import eu.europa.ec.edelivery.smp.error.exceptions.SMPResponseStatusException;
 import eu.europa.ec.edelivery.smp.error.xml.ErrorResponse;
 import eu.europa.ec.edelivery.smp.exceptions.BadRequestException;
-import eu.europa.ec.edelivery.smp.error.exceptions.SMPResponseStatusException;
 import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
-
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.AccessDeniedException;
@@ -26,7 +25,7 @@ import org.springframework.security.core.AuthenticationException;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
 
-import static eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode.*;
+import static eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode.FORMAT_ERROR;
 import static java.lang.String.format;
 import static org.springframework.http.HttpStatus.BAD_REQUEST;
 import static org.springframework.http.HttpStatus.UNAUTHORIZED;
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/exceptions/SMPResponseStatusException.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/exceptions/SMPResponseStatusException.java
index 37a25f35fe3eefb26ea032c586778af36d23ac71..d18befb6918697491d8a836881a42e70985b832d 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/exceptions/SMPResponseStatusException.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/exceptions/SMPResponseStatusException.java
@@ -11,7 +11,7 @@ import org.springframework.web.server.ResponseStatusException;
  * @since 4.2
  */
 public class SMPResponseStatusException extends ResponseStatusException {
-    private ErrorBusinessCode errorBusinessCode;
+    private final ErrorBusinessCode errorBusinessCode;
 
     public SMPResponseStatusException(ErrorBusinessCode errorBusinessCode, HttpStatus httpStatus, String sMsg) {
         super(httpStatus, sMsg);
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/AuthenticationController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/AuthenticationController.java
index 1f92bf85e19591e912f7570238c9f0c66969047e..7bfe5d20ad63c5f0b0ca098957581d500bf0255d 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/AuthenticationController.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/AuthenticationController.java
@@ -1,7 +1,10 @@
 package eu.europa.ec.edelivery.smp.ui;
 
 
-import eu.europa.ec.edelivery.smp.auth.*;
+import eu.europa.ec.edelivery.smp.auth.SMPAuthenticationService;
+import eu.europa.ec.edelivery.smp.auth.SMPAuthorizationService;
+import eu.europa.ec.edelivery.smp.auth.SMPUserDetails;
+import eu.europa.ec.edelivery.smp.auth.UILoginAuthenticationToken;
 import eu.europa.ec.edelivery.smp.data.ui.LoginRO;
 import eu.europa.ec.edelivery.smp.data.ui.UserRO;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
@@ -21,7 +24,8 @@ import org.springframework.web.servlet.view.RedirectView;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import static eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority.*;
+import static eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority.S_AUTHORITY_TOKEN_SYSTEM_ADMIN;
+import static eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority.S_AUTHORITY_TOKEN_USER;
 import static eu.europa.ec.edelivery.smp.utils.SMPCookieWriter.SESSION_COOKIE_NAME;
 
 /**
@@ -39,9 +43,9 @@ public class AuthenticationController {
 
     protected SMPAuthorizationService authorizationService;
 
-    private ConfigurationService configurationService;
+    private final ConfigurationService configurationService;
 
-    private CsrfTokenRepository csrfTokenRepository;
+    private final CsrfTokenRepository csrfTokenRepository;
 
     SMPCookieWriter smpCookieWriter;
 
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationController.java
index 1123106df3f402e9256f5e6f5db7b9792750eaf1..709cdbbf83eb081b10218b5ca2886484ca7fd38b 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationController.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationController.java
@@ -17,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Collections;
 import java.util.List;
-import java.util.TimeZone;
 
 /**
  * @author Joze Rihtarsic
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/SearchResource.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/SearchResource.java
index ce9ce67bdff25c40a466a092a6f37f5eb0d41f1a..be6ca05a63d8701a96521a4db3834f4ceb6a0381 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/SearchResource.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/SearchResource.java
@@ -10,7 +10,10 @@ import eu.europa.ec.edelivery.smp.services.ui.UIResourceSearchService;
 import eu.europa.ec.edelivery.smp.services.ui.filters.ResourceFilter;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.util.MimeTypeUtils;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java
index e0fb35aeccd73e2cedd3fea9d725689f46928c9d..397febcb98777fe946e407c8f778b307a0121d02 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java
@@ -2,7 +2,6 @@ package eu.europa.ec.edelivery.smp.ui.external;
 
 import eu.europa.ec.edelivery.smp.auth.SMPAuthenticationService;
 import eu.europa.ec.edelivery.smp.auth.SMPAuthorizationService;
-import eu.europa.ec.edelivery.smp.auth.SMPUserDetails;
 import eu.europa.ec.edelivery.smp.data.enums.ApplicationRoleType;
 import eu.europa.ec.edelivery.smp.data.enums.CredentialTargetType;
 import eu.europa.ec.edelivery.smp.data.enums.CredentialType;
@@ -11,9 +10,7 @@ import eu.europa.ec.edelivery.smp.data.ui.*;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import eu.europa.ec.edelivery.smp.services.ui.UIUserService;
-import eu.europa.ec.edelivery.smp.utils.SessionSecurityUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.web.authentication.session.SessionAuthenticationException;
 import org.springframework.util.MimeTypeUtils;
 import org.springframework.web.bind.annotation.*;
 
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminController.java
index 7ee93a6f94b87116a653ca5150c7f704ee4c5f45..dc2e4bf22f07938e1ab53f091ab92df29b460542 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminController.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminController.java
@@ -2,7 +2,8 @@ package eu.europa.ec.edelivery.smp.ui.internal;
 
 
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import eu.europa.ec.edelivery.smp.data.ui.*;
+import eu.europa.ec.edelivery.smp.data.ui.DomainRO;
+import eu.europa.ec.edelivery.smp.data.ui.SMLIntegrationResult;
 import eu.europa.ec.edelivery.smp.data.ui.enums.EntityROStatus;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
@@ -16,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
-import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.*;
+import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.CONTEXT_PATH_INTERNAL_DOMAIN;
 
 /**
  * DomainAdminResource provides admin services for managing the domains configured in SMP. The services defined in path
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminController.java
index 052d0491845eb376b693889a649ef2137ab9160d..11aa7a8a0466201c5aac66f6c6c054cc47ef9e61 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminController.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminController.java
@@ -22,7 +22,6 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.*;
-import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.PARAM_PAGINATION_FILTER;
 import static eu.europa.ec.edelivery.smp.utils.SessionSecurityUtils.decryptEntityId;
 
 /**
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java
index b95ba201713ffa971b93f5610be6a79a20f865d6..2b3c9e1dd58a7d1a50b4156cec1bac0345258e01 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java
@@ -13,10 +13,6 @@
 
 package eu.europa.ec.edelivery.smp;
 
-import org.apache.commons.lang3.StringUtils;
-
-import static java.lang.String.format;
-
 /**
  * Created by gutowpa on 26/09/2017.
  */
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListenerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListenerTest.java
index 771b43e840213bf6406762cbec7a0c3fc0905ab2..fd4e7861a76fafd763a7ffee90a15fec5f5be775 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListenerTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListenerTest.java
@@ -3,22 +3,18 @@ package eu.europa.ec.edelivery.smp.auth;
 import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
-import org.springframework.core.convert.ConversionService;
 import org.springframework.security.core.GrantedAuthority;
 
-import javax.persistence.EntityManager;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 public class SMPAuthenticationEventListenerTest {
 
-    ConfigurationService configurationService = Mockito.mock(ConfigurationService .class);;
+    ConfigurationService configurationService = Mockito.mock(ConfigurationService.class);
     // test instance
     SMPAuthenticationEventListener testInstance = new SMPAuthenticationEventListener(configurationService);
 
@@ -26,7 +22,7 @@ public class SMPAuthenticationEventListenerTest {
     @Test
     public void getSessionTimeoutForRolesSMPAdmin() {
         // Given
-        Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER);
+        Collection<? extends GrantedAuthority> authorities = Collections.singletonList(SMPAuthority.S_AUTHORITY_USER);
         // when then
         assertTimeoutForAuthorities(authorities, false);
     }
@@ -34,7 +30,7 @@ public class SMPAuthenticationEventListenerTest {
     @Test
     public void getSessionTimeoutForRolesSystemAdmin() {
         // Given
-        Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_SYSTEM_ADMIN);
+        Collection<? extends GrantedAuthority> authorities = Collections.singletonList(SMPAuthority.S_AUTHORITY_SYSTEM_ADMIN);
         // when then
         assertTimeoutForAuthorities(authorities, true);
     }
@@ -42,7 +38,7 @@ public class SMPAuthenticationEventListenerTest {
     @Test
     public void getSessionTimeoutForRolesUser() {
         // Given
-        Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER);
+        Collection<? extends GrantedAuthority> authorities = Collections.singletonList(SMPAuthority.S_AUTHORITY_USER);
         // when then
         assertTimeoutForAuthorities(authorities, false);
     }
@@ -50,7 +46,7 @@ public class SMPAuthenticationEventListenerTest {
     @Test
     public void getSessionTimeoutForRolesUserAndSystem() {
         // Given
-        Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER,SMPAuthority.S_AUTHORITY_SYSTEM_ADMIN);
+        Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER, SMPAuthority.S_AUTHORITY_SYSTEM_ADMIN);
         // when then
         assertTimeoutForAuthorities(authorities, true);
     }
@@ -58,12 +54,12 @@ public class SMPAuthenticationEventListenerTest {
     @Test
     public void getSessionTimeoutForRolesUserAndSMP() {
         // Given
-        Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER);
+        Collection<? extends GrantedAuthority> authorities = Collections.singletonList(SMPAuthority.S_AUTHORITY_USER);
         // when then
         assertTimeoutForAuthorities(authorities, false);
     }
 
-    public void assertTimeoutForAuthorities(Collection<? extends GrantedAuthority> authorities, boolean isAdmin){
+    public void assertTimeoutForAuthorities(Collection<? extends GrantedAuthority> authorities, boolean isAdmin) {
         // Given
         int secondsToTimeoutAdmin = 111;
         int secondsToTimeoutUser = 555;
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderForUITest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderForUITest.java
deleted file mode 100644
index c0cefcfab91f999c1dde1d4f83eda2cc586278e5..0000000000000000000000000000000000000000
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderForUITest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package eu.europa.ec.edelivery.smp.auth;
-
-import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
-import eu.europa.ec.edelivery.smp.services.CredentialService;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-public class SMPAuthenticationProviderForUITest {
-
-
-    CredentialService mockCredentialService = Mockito.mock(CredentialService.class);
-
-    SMPAuthenticationProviderForUI testInstance = new SMPAuthenticationProviderForUI(mockCredentialService);
-
-    @Test
-    public void testValidateIfTokenIsSuspendedReset() {
-        int starFailCount = 5;
-        DBUser user = new DBUser();
-        user.setUsername("TestToken");
-        int suspensionSeconds = 100;
-/*
-        user.setLastFailedLoginAttempt(OffsetDateTime.now().minusSeconds(suspensionSeconds+10));
-        user.setSequentialLoginFailureCount(starFailCount);
-        doReturn(suspensionSeconds).when(mockConfigurationService).getLoginSuspensionTimeInSeconds();
-        doReturn(starFailCount).when(mockConfigurationService).getLoginMaxAttempts();
-
-        testInstance.validateIfUserAccountIsSuspended(user, Calendar.getInstance().getTimeInMillis());
-
-        assertEquals(0, (int)user.getSequentialLoginFailureCount());
-        assertEquals(null, user.getLastFailedLoginAttempt());
-
-      */
-    }
-}
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderTest.java
index 95f16730ec9f360b85b3270e9ba2d351f579d754..2e1e8b9c4829f0e1df77f2a35440fd249c913548 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderTest.java
@@ -2,6 +2,10 @@ package eu.europa.ec.edelivery.smp.auth;
 
 import eu.europa.ec.edelivery.smp.data.dao.CredentialDao;
 import eu.europa.ec.edelivery.smp.data.dao.UserDao;
+import eu.europa.ec.edelivery.smp.data.enums.ApplicationRoleType;
+import eu.europa.ec.edelivery.smp.data.enums.CredentialTargetType;
+import eu.europa.ec.edelivery.smp.data.enums.CredentialType;
+import eu.europa.ec.edelivery.smp.data.model.user.DBCredential;
 import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
 import eu.europa.ec.edelivery.smp.services.CredentialService;
 import eu.europa.ec.edelivery.smp.services.CredentialsAlertService;
@@ -32,39 +36,47 @@ import static org.mockito.Mockito.*;
  */
 public class SMPAuthenticationProviderTest {
 
-    CredentialService mockCredentialService = Mockito.mock(CredentialService.class);
+
     CredentialDao mockCredentialDao = Mockito.mock(CredentialDao.class);
     ConversionService mockConversionService = Mockito.mock(ConversionService.class);
     CRLVerifierService mockCrlVerifierService = Mockito.mock(CRLVerifierService.class);
     UITruststoreService mockTruststoreService = Mockito.mock(UITruststoreService.class);
     ConfigurationService mockConfigurationService = Mockito.mock(ConfigurationService.class);
     CredentialsAlertService mocAlertService = Mockito.mock(CredentialsAlertService.class);
+    UserDao mockUserDao = Mockito.mock(UserDao.class);
+
 
+    CredentialService mockCredentialService =  new CredentialService(mockUserDao, mockCredentialDao, mockConversionService, mockCrlVerifierService, mockTruststoreService, mockConfigurationService, mocAlertService);
     SMPAuthenticationProvider testInstance = new SMPAuthenticationProvider(mockCredentialService);
 
-    // response time for existing and non existing user should be "approx. equal"
+
+    // response time for existing and nonexistent user should be "approx. equal"
     @Test
     public void authenticateByAccessTokenResponseTime() {
-        /*
+
         UsernamePasswordAuthenticationToken userToken = new UsernamePasswordAuthenticationToken("User", "User");
         int count = 10;
         DBUser user = new DBUser();
         user.setId(1L);
-        user.setAccessTokenIdentifier("User");
-        user.setAccessToken(BCrypt.hashpw("InvalidPassword", BCrypt.gensalt()));
-        user.setRole("MY_ROLE");
+        user.setApplicationRole(ApplicationRoleType.USER);
+        DBCredential credential = new DBCredential();
+        credential.setValue(BCrypt.hashpw("InvalidPassword", BCrypt.gensalt()));
+        credential.setName("User");
+        credential.setUser(user);
+        credential.setCredentialType(CredentialType.ACCESS_TOKEN);
+        credential.setCredentialTarget(CredentialTargetType.REST_API);
+
         doReturn(1000).when(mockConfigurationService).getAccessTokenLoginFailDelayInMilliSeconds();
         doReturn(count+5).when(mockConfigurationService).getAccessTokenLoginMaxAttempts();
 
-
-        doReturn(Optional.of(user)).when(mockUserDao).findUserByIdentifier(any());
+        doReturn(Optional.of(credential)).when(mockCredentialDao).findAccessTokenCredentialForAPI(any());
 
         long averageExists = 0;
         long averageNotExist = 0;
         for (int i = 0; i < count; i++) {
             long userExistTime = Calendar.getInstance().getTimeInMillis();
             try {
-                testInstance.authenticateByUsernameToken(userToken);
+                testInstance.authenticateByAuthenticationToken(userToken);
             } catch (BadCredentialsException ignore) {
             }
             averageExists += Calendar.getInstance().getTimeInMillis() - userExistTime;
@@ -74,7 +86,7 @@ public class SMPAuthenticationProviderTest {
         for (int i = 0; i < count; i++) {
             long userExistTime = Calendar.getInstance().getTimeInMillis();
             try {
-                testInstance.authenticateByUsernameToken(userToken);
+                testInstance.authenticateByAuthenticationToken(userToken);
             } catch (AuthenticationServiceException | BadCredentialsException ignore) {
             }
             averageNotExist += Calendar.getInstance().getTimeInMillis() - userExistTime;
@@ -83,59 +95,5 @@ public class SMPAuthenticationProviderTest {
         // the average should be the same!
         assertThat("average difference between failed login must be less than 10ms", Math.abs(averageExists - averageNotExist),
                 Matchers.lessThan(50L));
-*/
-    }
-    /*
-    @Test
-    public void testLoginAttemptForAccessTokenFailed(){
-
-        int starFailCount = 2;
-        DBUser user = new DBUser();
-        user.setSequentialTokenLoginFailureCount(starFailCount);
-        long starTime =Calendar.getInstance().getTimeInMillis();
-        doReturn(100).when(mockConfigurationService).getAccessTokenLoginMaxAttempts();
-        // when
-        BadCredentialsException error = assertThrows(BadCredentialsException.class,
-                () -> testInstance.loginAttemptForAccessTokenFailed(user,true, starTime));
-
-        assertEquals(SMPAuthenticationProvider.BAD_CREDENTIALS_EXCEPTION, error);
-        assertEquals(starFailCount+1,(int)user.getSequentialTokenLoginFailureCount());
-        verify(mocAlertService, times(1)).alertCredentialVerificationFailed(user, CredentialTypeEnum.ACCESS_TOKEN);
-
-    }
-
-    @Test
-    public void testLoginAttemptForAccessTokenSuspended(){
-        int starFailCount = 5;
-        DBUser user = new DBUser();
-        user.setSequentialTokenLoginFailureCount(starFailCount);
-        long starTime =Calendar.getInstance().getTimeInMillis();
-        doReturn(5).when(mockConfigurationService).getAccessTokenLoginMaxAttempts();
-        // when
-        BadCredentialsException error = assertThrows(BadCredentialsException.class,
-                () -> testInstance.loginAttemptForAccessTokenFailed(user,true,starTime));
-
-        assertEquals(SMPAuthenticationProvider.SUSPENDED_CREDENTIALS_EXCEPTION, error);
-        assertEquals(starFailCount+1,(int)user.getSequentialTokenLoginFailureCount());
-        verify(mocAlertService, times(1)).alertCredentialsSuspended(user, CredentialTypeEnum.ACCESS_TOKEN);
-    }
-
-    @Test
-    public void testValidateIfTokenIsSuspendedReset(){
-        int starFailCount = 5;
-        DBUser user = new DBUser();
-        user.setUsername("TestToken");
-        int suspensionSeconds =100;
-
-        user.setLastTokenFailedLoginAttempt(OffsetDateTime.now().minusSeconds(suspensionSeconds+10));
-        user.setSequentialTokenLoginFailureCount(starFailCount);
-        doReturn(suspensionSeconds).when(mockConfigurationService).getAccessTokenLoginSuspensionTimeInSeconds();
-        doReturn(starFailCount).when(mockConfigurationService).getAccessTokenLoginMaxAttempts();
-
-        testInstance.validateIfTokenIsSuspended(user, Calendar.getInstance().getTimeInMillis());
-
-        assertEquals(0, (int)user.getSequentialTokenLoginFailureCount());
-        assertEquals(null, user.getLastTokenFailedLoginAttempt());
     }
-*/
 }
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthorizationServiceTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthorizationServiceTest.java
index 26d550c7afc41c483b5940f07eaa71c7f500adb3..72efa36f1360391b571e3cb0678105dd9619ea8f 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthorizationServiceTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthorizationServiceTest.java
@@ -22,7 +22,6 @@ import org.springframework.security.core.context.SecurityContextHolder;
 import java.time.OffsetDateTime;
 import java.util.Collections;
 
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 
@@ -55,7 +54,7 @@ public class SMPAuthorizationServiceTest {
         }}, null, Collections.singletonList(SMPAuthority.S_AUTHORITY_USER));
 
         mockSecurityContextSystemAdmin = new SecurityContext() {
-            SMPAuthenticationToken smpa = new SMPAuthenticationToken("sg_admin", "test123", sysUserDetails);
+            final SMPAuthenticationToken smpa = new SMPAuthenticationToken("sg_admin", "test123", sysUserDetails);
 
             @Override
             public Authentication getAuthentication() {
@@ -67,7 +66,7 @@ public class SMPAuthorizationServiceTest {
             }
         };
         mockSecurityContextSMPAdmin = new SecurityContext() {
-            SMPAuthenticationToken smpa = new SMPAuthenticationToken("smp_admin", "test123", smpUserDetails);
+            final SMPAuthenticationToken smpa = new SMPAuthenticationToken("smp_admin", "test123", smpUserDetails);
 
             @Override
             public Authentication getAuthentication() {
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java
index 318bec87f8d8bcd65ca94440aae0c3eaf39e79b7..1b7ba9c7f9112a33fd38f66fcdd636ed05a2f767 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java
@@ -8,6 +8,7 @@ import org.springframework.http.HttpMethod;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import static java.util.Arrays.asList;
@@ -19,10 +20,10 @@ public class URLCsrfMatcherTest {
     @Parameterized.Parameters(name = "{index}: {0}")
     public static Collection cookieWriterTestParameters() {
         return asList(new Object[][]{
-                {"/test/", false, asList("/.*"), null},
-                {"/ui/resource", true, asList("/!(ui/).*"), null},
-                {"/test/resource", false, asList("^/(?!ui/).*"), null},
-                {"/ui/resource", true, asList("^/(?!ui/).*"), null},
+                {"/test/", false, Collections.singletonList("/.*"), null},
+                {"/ui/resource", true, Collections.singletonList("/!(ui/).*"), null},
+                {"/test/resource", false, Collections.singletonList("^/(?!ui/).*"), null},
+                {"/ui/resource", true, Collections.singletonList("^/(?!ui/).*"), null},
 
         });
     }
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurerTest.java
index cc5fdaabfb89361d423510e0c5a1600e09b0bb9f..ca0e068bed5de379d1295e64647d3dd04312973d 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurerTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurerTest.java
@@ -1,7 +1,7 @@
 package eu.europa.ec.edelivery.smp.auth.cas;
 
-import eu.europa.ec.edelivery.smp.utils.SmpUrlBuilder;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
+import eu.europa.ec.edelivery.smp.utils.SmpUrlBuilder;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.springframework.security.cas.ServiceProperties;
@@ -35,7 +35,7 @@ public class SMPCasConfigurerTest {
         assertNotNull(serviceProperties);
         assertEquals(callbackString, serviceProperties.getService());
         assertEquals(ServiceProperties.DEFAULT_CAS_ARTIFACT_PARAMETER, serviceProperties.getArtifactParameter());
-        assertEquals(true, serviceProperties.isAuthenticateAllArtifacts());
+        assertTrue(serviceProperties.isAuthenticateAllArtifacts());
     }
 
     @Test
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPMailPropertyUpdateListenerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPMailPropertyUpdateListenerTest.java
index b8519bf947ecbef7436e2e2a8e688fac5f46d1f1..43746ef4c136f35a457e8019020079dce8de0a34 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPMailPropertyUpdateListenerTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPMailPropertyUpdateListenerTest.java
@@ -1,7 +1,7 @@
 package eu.europa.ec.edelivery.smp.config;
 
-import eu.europa.ec.edelivery.smp.config.properties.SMPMailPropertyUpdateListener;
 import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
+import eu.europa.ec.edelivery.smp.config.properties.SMPMailPropertyUpdateListener;
 import org.junit.Test;
 import org.mockito.ArgumentMatchers;
 import org.mockito.Mockito;
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPSecurityPropertyUpdateListenerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPSecurityPropertyUpdateListenerTest.java
index 983d5bebd472c966cf61fa668f9f649812f847b0..662f260356d2ae4b75cd6184104ad9cd2f2f84cf 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPSecurityPropertyUpdateListenerTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPSecurityPropertyUpdateListenerTest.java
@@ -1,7 +1,7 @@
 package eu.europa.ec.edelivery.smp.config;
 
-import eu.europa.ec.edelivery.smp.config.properties.SMPSecurityPropertyUpdateListener;
 import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
+import eu.europa.ec.edelivery.smp.config.properties.SMPSecurityPropertyUpdateListener;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.springframework.web.server.adapter.ForwardedHeaderTransformer;
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SpringSecurityTestConfig.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SpringSecurityTestConfig.java
deleted file mode 100644
index 34b1e1d43311a2a8718c32ecaf962c93d71002bf..0000000000000000000000000000000000000000
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SpringSecurityTestConfig.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2017 European Commission | CEF eDelivery
- *
- * Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- *
- * You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and limitations under the Licence.
- */
-
-package eu.europa.ec.edelivery.smp.config;
-
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-
-/**
- * Created by Flavio Santos
- */
-
-
-@EnableWebSecurity
-@ComponentScan(basePackages = {
-        "eu.europa.ec.cipa.smp.server.security"})
-public class SpringSecurityTestConfig {
-
-}
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ResourceControllerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ResourceControllerTest.java
index 47157baf061208e6300e00c0bfefbda2b2a8a52e..fc40c3c2825b2e8f06dd30a6792e2b4a74d6d6f8 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ResourceControllerTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ResourceControllerTest.java
@@ -76,7 +76,7 @@ public class ResourceControllerTest extends AbstractControllerTest {
 
     @Test
     public void notFoundIsReturnedWhenServiceGroupDoesNotExist() throws Exception {
-        mvc.perform(get(format("/%s::%s", IDENTIFIER_SCHEME, UUID.randomUUID().toString())))
+        mvc.perform(get(format("/%s::%s", IDENTIFIER_SCHEME, UUID.randomUUID())))
                 .andExpect(status().isNotFound());
     }
 
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/RootControllerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/RootControllerTest.java
index 008bb4b702662320702c5fb6abe2501e12a53e32..b0bfe488b95936c749ca28848355e2b93d236e07 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/RootControllerTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/RootControllerTest.java
@@ -9,10 +9,10 @@ import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import java.io.IOException;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 class RootControllerTest {
 
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdviceTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdviceTest.java
index 7e4fb1b7e2f4d0ee4e3ee8933ef76ca4a07b60b0..b7762609730f8fff4a96b9054d6f818083e60c74 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdviceTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdviceTest.java
@@ -2,13 +2,14 @@ package eu.europa.ec.edelivery.smp.error;
 
 import eu.europa.ec.edelivery.smp.error.xml.ErrorResponse;
 import eu.europa.ec.edelivery.smp.exceptions.BadRequestException;
-import eu.europa.ec.edelivery.smp.exceptions.*;
+import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode;
+import eu.europa.ec.edelivery.smp.exceptions.MalformedIdentifierException;
 import org.junit.Test;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.AccessDeniedException;
 import org.springframework.security.core.AuthenticationException;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 import static org.springframework.http.HttpStatus.*;
 
 public class ServiceErrorControllerAdviceTest {
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationClientCertTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationClientCertTest.java
index 679486811fd59ac61f3e925e375c6366f0955ccf..9d75fbd2b3499d1b9ae55efd2e64a21e98d5c243 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationClientCertTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationClientCertTest.java
@@ -61,8 +61,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 public class SecurityConfigurationClientCertTest {
 
     //Jul++9+23:59:00+2019+GMT"
-    private static DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("MMM  dd HH:mm:ss yyyy 'GMT'");
-    private static String CLIENT_CERT_FORMAT = "sno=%s" +
+    private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("MMM  dd HH:mm:ss yyyy 'GMT'");
+    private static final String CLIENT_CERT_FORMAT = "sno=%s" +
             "&subject=%s" +
             "&validfrom=%s" +
             "&validto=%s" +
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationTest.java
index 673846d3516558e9ce827e9b4b6e40e4bbcc60a9..d707924f0601670aa48576b6bbe6bde041707a9c 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationTest.java
@@ -14,8 +14,8 @@
 package eu.europa.ec.edelivery.smp.server.security;
 
 import eu.europa.ec.edelivery.exception.ClientCertParseException;
-import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
 import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
+import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
 import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig;
 import eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils;
 import eu.europa.ec.edelivery.smp.test.testutils.X509CertificateTestUtils;
@@ -32,7 +32,6 @@ import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.test.context.web.WebAppConfiguration;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
-import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
 import org.springframework.web.context.WebApplicationContext;
 
 import java.io.IOException;
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureUtil.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureUtil.java
index 898cf39ec65a723f7336705e993d9272a6fc1a52..0b8d67c7da52671b23a16f257ee38dade5e080fb 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureUtil.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureUtil.java
@@ -38,6 +38,7 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 import java.io.*;
+import java.nio.charset.StandardCharsets;
 import java.security.*;
 import java.security.cert.CertificateException;
 import java.security.cert.X509Certificate;
@@ -125,7 +126,7 @@ public class SignatureUtil {
         }
 
         // Check core validation status.
-        if (coreValidity == false) {
+        if (!coreValidity) {
             printErrorDetails(valContext, signature);
             throw new Exception("+++ Signature not valild +++");
         } else {
@@ -138,7 +139,7 @@ public class SignatureUtil {
         System.err.println("Signature failed core validation");
         boolean sv = signature.getSignatureValue().validate(valContext);
         System.out.println("signature validation status: " + sv);
-        if (sv == false) {
+        if (!sv) {
             // Check the validation status of each Reference.
             Iterator i1 = signature.getSignedInfo().getReferences().iterator();
             for (int j = 0; i1.hasNext(); j++) {
@@ -241,6 +242,6 @@ public class SignatureUtil {
 
     public static String loadDocumentAsString(String docResourcePath) throws IOException {
         InputStream inputStream = SignatureUtil.class.getResourceAsStream(docResourcePath);
-        return org.apache.commons.io.IOUtils.toString(inputStream, "UTF-8");
+        return org.apache.commons.io.IOUtils.toString(inputStream, StandardCharsets.UTF_8);
     }
 }
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureValidatorTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureValidatorTest.java
index ad3fdeedcbf409d33afd08a4c89057c7e2d986c4..e3df551ad8247b26d8fdac995759ee0dd0d2f805 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureValidatorTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureValidatorTest.java
@@ -83,7 +83,6 @@ public class SignatureValidatorTest {
     @Autowired
     private WebApplicationContext webAppContext;
 
-
     private MockMvc mvc;
 
     @Before
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/X509KeySelector.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/X509KeySelector.java
index c145371624000b1c790a650832007c4208fe7847..fa2449e8f578728f7f0e9eaba9f2fa3acf17b348 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/X509KeySelector.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/X509KeySelector.java
@@ -63,16 +63,12 @@ public class X509KeySelector extends KeySelector {
     }
 
     static boolean algEquals(String algorithmURI, String algorithmName) {
-        if ((algorithmName.equalsIgnoreCase("DSA") &&
+        return (algorithmName.equalsIgnoreCase("DSA") &&
                 algorithmURI.equalsIgnoreCase(SignatureMethod.DSA_SHA1))
                 || (algorithmName.equalsIgnoreCase("RSA") &&
                 algorithmURI.equalsIgnoreCase(SignatureMethod.RSA_SHA1))
                 || (algorithmName.equalsIgnoreCase("RSA")
-                && algorithmURI.equalsIgnoreCase("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"))) {
-
-            return true;
-        }
-        return false;
+                && algorithmURI.equalsIgnoreCase("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"));
     }
 
     public X509Certificate getCertificate() {
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java
index 70c27371e7410841ffcde369ee7d94db7131b73a..e71a22b49386cf34e632fecd0cd74c25977742b9 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java
@@ -22,7 +22,6 @@ import org.springframework.web.context.WebApplicationContext;
 import javax.servlet.http.HttpSession;
 import java.io.IOException;
 
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.springframework.test.context.jdbc.Sql.ExecutionPhase.BEFORE_TEST_METHOD;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java
index 03c9372950313eac49fcb7913944ae4a7fced226..08b9a5d7b0fbb12b9c7b9cb17c54d74c50d4c6a8 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java
@@ -21,7 +21,8 @@ import java.util.UUID;
 
 import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.*;
 import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.*;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java
index 5bfc52c0081c6ee3e3ae0b9ed9de30fa7a27df12..f551f59ce98a1ce13ea3191190dc12de09eda438 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java
@@ -1,9 +1,9 @@
 package eu.europa.ec.edelivery.smp.ui.external;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
+import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.data.ui.SmpConfigRO;
 import eu.europa.ec.edelivery.smp.data.ui.SmpInfoRO;
-import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig;
 import eu.europa.ec.edelivery.smp.ui.ResourceConstants;
 import org.hamcrest.MatcherAssert;
@@ -27,7 +27,8 @@ import org.springframework.web.context.WebApplicationContext;
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
 
-import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.*;
+import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.loginWithSystemAdmin;
+import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.loginWithUserGroupAdmin;
 import static org.hamcrest.CoreMatchers.startsWith;
 import static org.junit.Assert.*;
 import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
@@ -158,7 +159,7 @@ public class ApplicationResourceIT {
         assertNotNull(res);
         assertEquals("Participant scheme must start with:urn:oasis:names:tc:ebcore:partyid-type:(iso6523:|unregistered:) OR must be up to 25 characters long with form [domain]-[identifierArea]-[identifierType] (ex.: 'busdox-actorid-upis') and may only contain the following characters: [a-z0-9].", res.getParticipantSchemaRegExpMessage());
         assertEquals("^$|^(?!^.{26})([a-z0-9]+-[a-z0-9]+-[a-z0-9]+)$|^urn:oasis:names:tc:ebcore:partyid-type:(iso6523|unregistered)(:.+)?$", res.getParticipantSchemaRegExp());
-        assertEquals(SMPPropertyEnum.PARTC_EBCOREPARTYID_CONCATENATE.getDefValue(), res.isConcatEBCorePartyId() + "");
+        assertEquals(SMPPropertyEnum.PARTC_EBCOREPARTYID_CONCATENATE.getDefValue(), String.valueOf(res.isConcatEBCorePartyId()));
         assertFalse(res.isSmlIntegrationOn());
     }
 }
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java
index abde55fe8c84e93f73111daad462461b9c203b66..3cdb9f20605067927ffe82f9c64e2cb65ac50a91 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java
@@ -25,7 +25,8 @@ import javax.ws.rs.core.MediaType;
 
 import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.*;
 import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.CONTEXT_PATH_PUBLIC_SECURITY_USER;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
 import static org.springframework.test.context.jdbc.Sql.ExecutionPhase.BEFORE_TEST_METHOD;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java
index 49970f1c25dc6d7d7da199a4d89b71362fccde45..e9abecea16f09dd5e19734e0d0a6197648a1f0c8 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java
@@ -1,11 +1,14 @@
 package eu.europa.ec.edelivery.smp.ui.internal;
 
-import eu.europa.ec.edelivery.smp.data.ui.*;
+import eu.europa.ec.edelivery.smp.data.ui.DeleteEntityValidation;
+import eu.europa.ec.edelivery.smp.data.ui.PasswordChangeRO;
+import eu.europa.ec.edelivery.smp.data.ui.ServiceResult;
+import eu.europa.ec.edelivery.smp.data.ui.UserRO;
 import eu.europa.ec.edelivery.smp.ui.AbstractControllerTest;
 import eu.europa.ec.edelivery.smp.ui.ResourceConstants;
 import org.apache.commons.lang3.StringUtils;
-import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.springframework.mock.web.MockHttpSession;
 import org.springframework.test.web.servlet.MvcResult;
 
@@ -153,7 +156,6 @@ public class UserAdminControllerIT extends AbstractControllerTest {
                         StringUtils.equals(SG_USER2_USERNAME, (String) ((Map) userMap).get("username"))).findFirst().get();
         String newPassword = "TESTtest1234!@#$";
 
-
         PasswordChangeRO newPass = new PasswordChangeRO();
         newPass.setUsername(SG_USER2_USERNAME);
         newPass.setCurrentPassword(SYS_ADMIN_PASSWD);