diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f60a5a3942b6d6272cf7a6617e2ab9520b367328
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest" time="0.21" tests="2" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testAuditDBDomain" classname="eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest" time="0.148"/>
+  <testcase name="testClassesForAudit" classname="eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest" time="0.033"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fda6c881e3b81fb158aaa25291cd39da55e1051b
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.346" tests="11" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="getDomainByCodeExists" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.041"/>
+  <testcase name="removeByDomainCodeExists" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.03"/>
+  <testcase name="getTheOnlyDomainMultipleDomain" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.031"/>
+  <testcase name="getTheOnlyDomainNoDomain" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.029"/>
+  <testcase name="testValidateUsersForDeleteUserIsOwner" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.037"/>
+  <testcase name="removeByDomainById" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.049"/>
+  <testcase name="testValidateUsersForDeleteOKScenario" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.015"/>
+  <testcase name="persistDuplicateDomain" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.038"/>
+  <testcase name="persistDomain" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.03"/>
+  <testcase name="getDomainByCodeNotExists" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.01"/>
+  <testcase name="removeByDomainCodeNotExists" classname="eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest" time="0.012"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..67dc6ba5438ff3ec41b0ba36738f20def5d1a7d5
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="2.529" tests="12" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testGetServiceGroupListByOwnerAndDomain" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.913"/>
+  <testcase name="testGetCaseInsensitive" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.17"/>
+  <testcase name="removeEmptyServiceGroup" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.2"/>
+  <testcase name="testGetServiceGroupListByDomain" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.4"/>
+  <testcase name="removeDomainServiceGroup" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.071"/>
+  <testcase name="findServiceGroupNotExists" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.051"/>
+  <testcase name="updateServiceGroupExtension" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.105"/>
+  <testcase name="persistServiceGroupExtension" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.065"/>
+  <testcase name="testGetServiceGroupListNotEmpty" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.39"/>
+  <testcase name="persistServiceGroup" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.055"/>
+  <testcase name="persistTwoDomainServiceGroup" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.028"/>
+  <testcase name="testGetTableListEmpty" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest" time="0.047"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2fd1ce7da173184ff89a94fef48bbce432bcb05f
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest" time="0.506" tests="5" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="removeDBServiceGroupWithServiceMetadata" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest" time="0.122"/>
+  <testcase name="persistNewServiceGroupWithMetadata" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest" time="0.029"/>
+  <testcase name="removeServiceMetadata" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest" time="0.031"/>
+  <testcase name="addMetadataToServiceGroup" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest" time="0.073"/>
+  <testcase name="updateServiceMetadataXML" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest" time="0.114"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..06aa6f44b107f9fdb7ca0576520d7f94b7004f17
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest" time="1.403" tests="4" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="addAndRemoveOwnerFromServiceGroup" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest" time="0.189"/>
+  <testcase name="removeOwnerFromServiceGroup" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest" time="0.11"/>
+  <testcase name="persistNewServiceGroupWithOwner" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest" time="0.048"/>
+  <testcase name="mergeServiceGroupWithOwner" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest" time="0.057"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0fdee8855eeda8d7ebe9c932330a98d32e21cf4a
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest" time="0.362" tests="2" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testFindServiceMetadata" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest" time="0.187"/>
+  <testcase name="testFindServiceMetadataList" classname="eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest" time="0.168"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b7e243036ac0825accd6add0fb5dee54c1f933fb
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="1.174" tests="11" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="persistUserWithUsername" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.522"/>
+  <testcase name="findUsernameUserByIdentifier" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.053"/>
+  <testcase name="deleteUserWithCertificate" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.075"/>
+  <testcase name="persistUserWithoutIdentifier" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.052"/>
+  <testcase name="testValidateUsersForDeleteUserIsOwner" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.245"/>
+  <testcase name="testValidateUsersForDeleteOKScenario" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.082"/>
+  <testcase name="findBlankUsernameUser" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.03"/>
+  <testcase name="findCaseInsensitiveUsernameUser" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.02"/>
+  <testcase name="findNotExistsUsernameUser" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.023"/>
+  <testcase name="persistUserWithCertificate" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.024"/>
+  <testcase name="findCertUserByIdentifier" classname="eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest" time="0.025"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..75eead802edf01a29a7bfdd1e9e34117cc626f4f
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest" time="0.207" tests="2" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="getDomainForBlankCodeForSingleDomain" classname="eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest" time="0.117"/>
+  <testcase name="getDomainForBlankCodeForMultipleDomain" classname="eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest" time="0.079"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..13df14c2ae1649860093d146ad8a14f2bcaa82ae
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest" time="1.605" tests="4" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="getServiceGroupForAllDomainTest" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest" time="0.074"/>
+  <testcase name="createAndReadPositiveScenarioForMultipleDomain" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest" time="0.244"/>
+  <testcase name="updateAndReadPositiveScenarioForMultipleDomain" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest" time="0.476"/>
+  <testcase name="userIsNotOwnerOfServiceGroup" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest" time="0.138"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7db102ba02d308c3a48042919c7acba0f517894f
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="2.31" tests="13" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="savingUnderNotExistingDomainIsNotAllowed" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.12"/>
+  <testcase name="updateAndReadPositiveScenario" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.414"/>
+  <testcase name="createAndReadPositiveScenarioForNullDomain" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.233"/>
+  <testcase name="createAndReadPositiveScenarioForWithDomain" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.335"/>
+  <testcase name="defineGroupOwnerWhenOwnerIsNull" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.073"/>
+  <testcase name="updateUnknownUserException" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.079"/>
+  <testcase name="updateInvalidUserEncodingException" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.066"/>
+  <testcase name="defineGroupOwnerWhenOwnerIsNotNull" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.103"/>
+  <testcase name="updateInvalidUserException" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.2"/>
+  <testcase name="serviceGroupNotExistsWhenRetrievingSG" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.094"/>
+  <testcase name="onlyASCIICharactersAllowedInDomainId" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.109"/>
+  <testcase name="urlsAreHandledByWebLayer" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.178"/>
+  <testcase name="saveAndDeletePositiveScenario" classname="eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest" time="0.273"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8eeef92cf70b5257b772a813376b9319e590695e
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest" time="1.015" tests="6" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="updatePositiveScenario" classname="eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest" time="0.517"/>
+  <testcase name="findServiceMetadataIdsPositiveScenario" classname="eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest" time="0.139"/>
+  <testcase name="saveAndReadPositiveScenario" classname="eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest" time="0.117"/>
+  <testcase name="serviceMetadataNotExistsWhenDeleting" classname="eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest" time="0.048"/>
+  <testcase name="serviceMetadataNotExistsWhenReading" classname="eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest" time="0.095"/>
+  <testcase name="saveAndDeletePositiveScenario" classname="eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest" time="0.089"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..546f5fa77838d8e6cd2089d485d5aeab7c5b3474
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest" time="1.245" tests="1" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testSignatureCalculatedForSecondDomain" classname="eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest" time="0.425"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c24a405c7dc9f8a823745091ed513276d68335be
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest" time="1.109" tests="2" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testGetTableList15" classname="eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest" time="0.207"/>
+  <testcase name="testGetTableListEmpty" classname="eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest" time="0.017"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aea8309266c9235e2d8bc869abc0d10798f59acf
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.782" tests="12" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testGetTableList15" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.211"/>
+  <testcase name="validateExtensionVaild" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.055"/>
+  <testcase name="getEmptyExtensionById" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.016"/>
+  <testcase name="validateExtensionMultipleVaild" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.008"/>
+  <testcase name="testUpdateServiceMatadataChangeDomain" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.186"/>
+  <testcase name="validateExtensionInvalid" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.017"/>
+  <testcase name="validateCustomExtension" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.007"/>
+  <testcase name="getExtensionById" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.016"/>
+  <testcase name="testUpdateServiceGroupExtensionAndServiceMetadaXML" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.179"/>
+  <testcase name="testAddServiceWithMetadata" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.062"/>
+  <testcase name="testGetTableListEmpty" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.007"/>
+  <testcase name="validateExtensionCustomTextInvaldValid" classname="eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest" time="0.009"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest.xml b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7cf4c705950d353b1aaaaec763abfa93b96a8e86
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/TEST-eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="9.469" tests="11" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testGetTableList15" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="1.716"/>
+  <testcase name="testGetCertificateDataDER" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="0.036"/>
+  <testcase name="testGetCertificateDataPEM" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="0.013"/>
+  <testcase name="testGetCertificateDataPEMWithHeader" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="0.029"/>
+  <testcase name="testAddUserWithOnlyCertificate" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="1.777"/>
+  <testcase name="testDeleteUser" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="1.409"/>
+  <testcase name="testUserRemoveCertificate" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="0.037"/>
+  <testcase name="testGetTableListEmpty" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="0.012"/>
+  <testcase name="testAddUserWithCertificate" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="1.641"/>
+  <testcase name="testAddUserWithoutCertificate" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="1.603"/>
+  <testcase name="testUpdateUserPassword" classname="eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest" time="0.301"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3ca8993c67b2868910e0b64fb95ec267e742d209
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.21 sec - in eu.europa.ec.edelivery.smp.data.dao.AuditIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e247e547998bf6112fb953f0fabd4c7e9e1d5095
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.346 sec - in eu.europa.ec.edelivery.smp.data.dao.DomainDaoIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..72d538fddb0c55651edfb58b527c4201690cd470
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.529 sec - in eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..963b778f2d360ae874eb171781e00c3d87ca5662
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.506 sec - in eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoMetadataIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ff8a99cf4bc5410508edbea87bf8c449f3c89bd6
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.403 sec - in eu.europa.ec.edelivery.smp.data.dao.ServiceGroupDaoOwnershipIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ea7c1a382071b76d24f42cd11f83e95da62041f0
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.362 sec - in eu.europa.ec.edelivery.smp.data.dao.ServiceMetadataDaoIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d938c5c17fceb4ef33b0b03b8dcac0b80f39cdab
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.174 sec - in eu.europa.ec.edelivery.smp.data.dao.UserDaoIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0a5d13d707990aeaa4b65813304ef3975dca016c
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.207 sec - in eu.europa.ec.edelivery.smp.services.DomainServiceIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b37886a8f485ff79b8333347b3c0588263b36fe3
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.605 sec - in eu.europa.ec.edelivery.smp.services.ServiceGroupServiceMultipleDomainsIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a2f7791b4a19fc3fc0e34907d0b8950e5acbf2b
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.31 sec - in eu.europa.ec.edelivery.smp.services.ServiceGroupServiceSingleDomainIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5542587f5a5468c6e7a6f3aaa1a8996678b317d4
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.015 sec - in eu.europa.ec.edelivery.smp.services.ServiceMetadataIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..494a0bf325aa2b42c79832f879b21a344e0d9279
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.245 sec - in eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerMultipleDomainsIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f3592f75e6d8ccc62405f5b8bafd63455a92316d
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.109 sec - in eu.europa.ec.edelivery.smp.services.ui.UIDomainServiceIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bda7e549e04e46d51587ad314a868388937aad75
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.782 sec - in eu.europa.ec.edelivery.smp.services.ui.UIServiceGroupServiceIntegrationTest
diff --git a/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest.txt b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dd3afc20e0e6cfb35d038858fc935ac2c19fd05f
--- /dev/null
+++ b/smp-server-library/code-coverage/failsafe-reports/eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest
+-------------------------------------------------------------------------------
+Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.469 sec - in eu.europa.ec.edelivery.smp.services.ui.UIUserServiceIntegrationTest
diff --git a/smp-server-library/code-coverage/jacoco-it.exec b/smp-server-library/code-coverage/jacoco-it.exec
new file mode 100644
index 0000000000000000000000000000000000000000..99dce73539bd4b5cf2365c5c4c2726b9a9c948e8
Binary files /dev/null and b/smp-server-library/code-coverage/jacoco-it.exec differ
diff --git a/smp-server-library/code-coverage/jacoco-ut.exec b/smp-server-library/code-coverage/jacoco-ut.exec
new file mode 100644
index 0000000000000000000000000000000000000000..3e29caf4bb4c16badb33abd035ed638e22e77c5e
Binary files /dev/null and b/smp-server-library/code-coverage/jacoco-ut.exec differ
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.BCryptPasswordHashTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.BCryptPasswordHashTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..145c4d8d4f02a5f1ce549fd6559a7edd946eb429
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.BCryptPasswordHashTest.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.BCryptPasswordHashTest" time="0.884" tests="3" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="mainMethodSupportsMultiplePasswordsAndPrintsThemToStandardOutputTest" classname="eu.europa.ec.edelivery.smp.BCryptPasswordHashTest" time="0.584"/>
+  <testcase name="generatedHashIsValidTest" classname="eu.europa.ec.edelivery.smp.BCryptPasswordHashTest" time="0.146"/>
+  <testcase name="generatedHashIsAlwaysSaltedTest" classname="eu.europa.ec.edelivery.smp.BCryptPasswordHashTest" time="0.154"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b719c10a325ef3d781da045123b43bc6b6f4ead7
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0.003" tests="14" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="[0] scheme, value, scheme, value (testDocumentIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0.001"/>
+  <testcase name="[1] SCHEME, VALUE, scheme, value (testDocumentIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[2] SchemE, ValuE, scheme, value (testDocumentIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0.001"/>
+  <testcase name="[3] case-sensitive-scheme-1, Case-Sensitive-Value, case-sensitive-scheme-1, Case-Sensitive-Value (testDocumentIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[4] CASE-SENSITIVE-SCHEME-1, Case-Sensitive-Value, CASE-SENSITIVE-SCHEME-1, Case-Sensitive-Value (testDocumentIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[5] case-sensitive-scheme-2, Case-Sensitive-Value, case-sensitive-scheme-2, Case-Sensitive-Value (testDocumentIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0.001"/>
+  <testcase name="[6] CASE-SENSITIVE-SCHEME-2, Case-Sensitive-Value, CASE-SENSITIVE-SCHEME-2, Case-Sensitive-Value (testDocumentIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[0] scheme, value, scheme, value (testParticipantIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[1] SCHEME, VALUE, scheme, value (testParticipantIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[2] SchemE, ValuE, scheme, value (testParticipantIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[3] case-sensitive-scheme-1, Case-Sensitive-Value, case-sensitive-scheme-1, Case-Sensitive-Value (testParticipantIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[4] CASE-SENSITIVE-SCHEME-1, Case-Sensitive-Value, CASE-SENSITIVE-SCHEME-1, Case-Sensitive-Value (testParticipantIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[5] case-sensitive-scheme-2, Case-Sensitive-Value, case-sensitive-scheme-2, Case-Sensitive-Value (testParticipantIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+  <testcase name="[6] CASE-SENSITIVE-SCHEME-2, Case-Sensitive-Value, CASE-SENSITIVE-SCHEME-2, Case-Sensitive-Value (testParticipantIdsCaseNormalization)" classname="eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest" time="0"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..128839ae83406662052608982449fb456cef8599
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest" time="0.688" tests="5" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testUnmarshalTwoExtensions" classname="eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest" time="0.437"/>
+  <testcase name="testMarshalOneExtension" classname="eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest" time="0.176"/>
+  <testcase name="testUnmarshal" classname="eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest" time="0"/>
+  <testcase name="testUtf8Handling" classname="eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest" time="0.025"/>
+  <testcase name="testMarshalTwoExtensions" classname="eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest" time="0.05"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..90acecb51908b98c6f1072dc90980e87974e51cf
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest" time="0.072" tests="7" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="toServiceGroupTestIsEmpty" classname="eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest" time="0"/>
+  <testcase name="testExtractExtensionsPayload" classname="eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest" time="0.051"/>
+  <testcase name="toServiceGroupTestMultiExtensions" classname="eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest" time="0.009"/>
+  <testcase name="testVulnerabilityParsingDTD" classname="eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest" time="0.001"/>
+  <testcase name="testUnmashallingServiceGroup" classname="eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest" time="0.002"/>
+  <testcase name="toServiceGroupTest" classname="eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest" time="0.002"/>
+  <testcase name="testInvalidExtension" classname="eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest" time="0.007"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f19caa90fbe464dbb656f9c8568147587538af75
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest" time="0.118" tests="8" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testToSignedServiceMetadataDocument" classname="eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest" time="0.038"/>
+  <testcase name="testToSignedServiceMetadataDocumentMalformedInput" classname="eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest" time="0.021"/>
+  <testcase name="testUnmarshalRedirect" classname="eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest" time="0.027"/>
+  <testcase name="testVulnerabilityParsingDTD" classname="eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest" time="0.004"/>
+  <testcase name="testUnmarshalMissingMandatoryFields" classname="eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest" time="0.002"/>
+  <testcase name="testUnmarshalServiceInformationUtf8" classname="eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest" time="0.008"/>
+  <testcase name="testUnmarshalServiceInformation" classname="eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest" time="0.016"/>
+  <testcase name="testUnmarshalMalformedInput" classname="eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest" time="0.002"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2501d76e17f443be46a7fe465f1bfbe199d05306
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest" time="0.002" tests="4" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="negativeCaseMissingSmpId" classname="eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest" time="0"/>
+  <testcase name="negativeCaseMissingValue" classname="eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest" time="0"/>
+  <testcase name="negativeCaseMissingScheme" classname="eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest" time="0"/>
+  <testcase name="positiveCase" classname="eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest" time="0.002"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0be73bcefb3bc98212a62041682191a761117dec
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest" time="0.215" tests="6" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testFilterEmpty" classname="eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest" time="0.1"/>
+  <testcase name="testPredicatesStringListValue" classname="eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest" time="0.034"/>
+  <testcase name="testPredicatesStringValue" classname="eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest" time="0.009"/>
+  <testcase name="testPredicatesStringLikeValue" classname="eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest" time="0.017"/>
+  <testcase name="testSelectAndCountResult" classname="eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest" time="0.022"/>
+  <testcase name="testPredicatesLong" classname="eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest" time="0.033"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8fa6189d479551970b587a0b8665f34d151c19cf
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest" time="0" tests="1" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="dummyTestMethod" classname="eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest" time="0"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..95c4a4d5dc719dd0f3ac39d2249790314370c4ce
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest" time="1.673" tests="4" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="factoryDoesNotAcceptBothAuthentication" classname="eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest" time="1.602"/>
+  <testcase name="factoryProducesClientWithAnotherCertFromKeystore" classname="eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest" time="0.024"/>
+  <testcase name="factoryProducesPreconfiguredCxfClientThatAuthenticatesItselfWithGivenCertAlias" classname="eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest" time="0.025"/>
+  <testcase name="factoryProducesPreconfiguredCxfClientWithoutAnyHttpHeaderValue" classname="eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest" time="0.022"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..395bd98f7db897c9924c9e8d5a5bd3eb68a02b65
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest" time="0.035" tests="1" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="factoryProducesPreconfiguredCxfClientThatAuthenticatesItselfWithGivenHttpHeader" classname="eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest" time="0.035"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest.xml b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..142486712cf242eb226963f39dec060127034d87
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/TEST-eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest" time="0.208" tests="1" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="2018.1.2"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/opt/java/jdk1.8.0_161/jre/lib/amd64"/>
+    <property name="java.vm.version" value="25.161-b12"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/cef/code/smp/smp-server-library"/>
+    <property name="java.runtime.version" value="1.8.0_161-b12"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/endorsed"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.10.0-38-generic"/>
+    <property name="user.home" value="/home/cef"/>
+    <property name="user.timezone" value="Europe/Brussels"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="cef"/>
+    <property name="java.class.path" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/opt/programs/idea-IU-181.4445.78/lib/idea_rt.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/opt/java/jdk1.8.0_161/jre"/>
+    <property name="sun.java.command" value="org.codehaus.classworlds.Launcher -Didea.version=2018.1.2 clean install -P generate-ddl"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_161"/>
+    <property name="java.ext.dirs" value="/opt/java/jdk1.8.0_161/jre/lib/ext:/usr/java/packages/lib/ext"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="sun.boot.class.path" value="/opt/java/jdk1.8.0_161/jre/lib/resources.jar:/opt/java/jdk1.8.0_161/jre/lib/rt.jar:/opt/java/jdk1.8.0_161/jre/lib/sunrsasign.jar:/opt/java/jdk1.8.0_161/jre/lib/jsse.jar:/opt/java/jdk1.8.0_161/jre/lib/jce.jar:/opt/java/jdk1.8.0_161/jre/lib/charsets.jar:/opt/java/jdk1.8.0_161/jre/lib/jfr.jar:/opt/java/jdk1.8.0_161/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/opt/programs/idea-IU-181.4445.78/plugins/maven/lib/maven3"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testRegisterInDns" classname="eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest" time="0.208"/>
+</testsuite>
\ No newline at end of file
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.BCryptPasswordHashTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.BCryptPasswordHashTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dcf8b1e7e74cc9ea878924ae5ff1c958de3a79e1
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.BCryptPasswordHashTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.BCryptPasswordHashTest
+-------------------------------------------------------------------------------
+Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.887 sec - in eu.europa.ec.edelivery.smp.BCryptPasswordHashTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7a456fadfd242920e1ba30976055688fe3e31684
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest
+-------------------------------------------------------------------------------
+Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizerTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c0287ca6abfe3a088823d0bf5db9d8b0ffad0341
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest
+-------------------------------------------------------------------------------
+Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.694 sec - in eu.europa.ec.edelivery.smp.conversion.ExtensionConverterTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..df182389749faa2f6f54b15a45f6bc402caee424
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest
+-------------------------------------------------------------------------------
+Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.077 sec - in eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverterTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..da7b47fc2339c5779d0dc316c89d128a8a54c0b3
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest
+-------------------------------------------------------------------------------
+Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.122 sec - in eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverterTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..be6aafb2ef9d73607569fcd1270fef458d54ff45
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest
+-------------------------------------------------------------------------------
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in eu.europa.ec.edelivery.smp.conversion.SmlIdentifierConverterTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..473146d5fe36bcd7fed742fae23a0d364f03bcdd
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest
+-------------------------------------------------------------------------------
+Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.503 sec - in eu.europa.ec.edelivery.smp.data.dao.BaseDaoTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ede9758578f2e4bb02e3b76a8ef6c6999128d685
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest
+-------------------------------------------------------------------------------
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in eu.europa.ec.edelivery.smp.services.ServiceMetadataSignerTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..660b49149aee11c608cd0e880bb032be521c942a
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest
+-------------------------------------------------------------------------------
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.851 sec - in eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertFromKeystoreTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..62854b66a112c833cd3f86c42e67eefcb4460df7
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest
+-------------------------------------------------------------------------------
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.083 sec - in eu.europa.ec.edelivery.smp.smlintegration.SmlClientFactoryAuthenticationByClientCertHttpHeaderTest
diff --git a/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest.txt b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..abb41e251639d3319c307f0e0dcba4092c158d88
--- /dev/null
+++ b/smp-server-library/code-coverage/surefire-reports/eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest
+-------------------------------------------------------------------------------
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.04 sec - in eu.europa.ec.edelivery.smp.smlintegration.SmlConnectorTest
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDao.java
index 45b34ba86fa02d799e95c4e48c85689097ebae3c..0c3c6936474155587fd8c03da4f8a838bd20964a 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDao.java
@@ -68,22 +68,6 @@ public class ServiceGroupDao extends BaseDao<DBServiceGroup> {
      */
     @Transactional
     public void removeServiceGroup(DBServiceGroup dbServiceGroup){
-     // Because of one to many relationships
-         // remove with JPA/JPQL (or native sql) querieas are much more efficient in this case.
-         // but it does not capture audit with envers: Hibernate Envers captures the Audit information only when the updates
-         // happen through Persistence Context.
- /*       em.createNamedQuery("DBServiceGroup.deleteAllOwnerships")
-                .setParameter("serviceGroupId", dbServiceGroup.getId()).executeUpdate();
-
-        em.createNamedQuery("DBServiceGroupExtension.deleteById")
-                .setParameter("id", dbServiceGroup.getId()).executeUpdate();
-
-        em.createNamedQuery("DBServiceMetadata.deleteOwnedByServiceGroup")
-                .setParameter("serviceGroup", dbServiceGroup).executeUpdate();
-
-        em.createNamedQuery("DBServiceGroup.deleteById")
-                .setParameter("id", dbServiceGroup.getId()).executeUpdate()>0;
- */
         memEManager.remove(memEManager.contains(dbServiceGroup) ? dbServiceGroup : memEManager.merge(dbServiceGroup));
     }
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGenerator.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGenerator.java
index 0f5ceb54f39f8feec13e0d9ddb54428a8d61d52b..038d65f02efa261eff5be92db5882aded83b1a6d 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGenerator.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGenerator.java
@@ -49,7 +49,12 @@ public class SMPSchemaGenerator {
      */
     public void createDDLScript(String exportFolder, String hibernateDialect, List<String> packageNames, String version) throws ClassNotFoundException {
         // create export file
-        String filename = createFileName(hibernateDialect,version );
+        String sqlVer = version;
+        int idx = version.indexOf("-SNAPSHOT");
+        if (idx >0) {
+            sqlVer = version.substring(0, idx);
+        }
+        String filename = createFileName(hibernateDialect,sqlVer );
 
         String dialect = getDialect(hibernateDialect);
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ServiceGroupService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ServiceGroupService.java
index 8f201e56ff6712fa5f9f8c10edc022e4590a0e77..c271dece03c0d78c5f51c321af496e504a113ba2 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ServiceGroupService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ServiceGroupService.java
@@ -150,7 +150,7 @@ public class ServiceGroupService {
             boolean registered = smlConnector.registerInDns(normalizedParticipantId, dmn);
             if (registered) {
                 // update status in database
-                newSg.getServiceGroupDomains().get(0).setSmlRegistered(false);
+                newSg.getServiceGroupDomains().get(0).setSmlRegistered(registered);
                 serviceGroupDao.update(newSg);
             }
             return true;
@@ -219,13 +219,14 @@ public class ServiceGroupService {
                     normalizedServiceGroupId.getScheme());
         }
         DBServiceGroup dsg = dbServiceGroup.get();
+        // register to SML
+        // unergister all the domains
+        for (DBServiceGroupDomain sgdom: dsg.getServiceGroupDomains()) {
+            if (sgdom.isSmlRegistered()) {
+                smlConnector.unregisterFromDns(normalizedServiceGroupId, sgdom.getDomain());
+            }
+        }
+
         serviceGroupDao.removeServiceGroup(dsg);
-        // TODO
-        // fist unregister - test if dsg was registered
-        // if registered and integration is false - raise an error
-        // delete servicegroup
-        // unregister for all domains{
-        // serviceGroupDao.removeServiceGroup(dsg);
-         //smlConnector.unregisterFromDns(normalizedServiceGroupId, dsg.getDomain());
     }
 }
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 da0a3de9b12e0c0135ef6859a1810b1beded409a..161b6940aa8e9dda878204c33de79dcdcdf1cb5c 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
@@ -66,22 +66,21 @@ public class SmlConnector implements ApplicationContextAware {
     public void unregisterFromDns(ParticipantIdentifierType normalizedParticipantId, DBDomain domain) {
       if (!smlIntegrationEnabled) {
             return;
-        }/*
+        }
         log.info("Removing Participant from BDMSL: " + asString(normalizedParticipantId));
         try {
-            ServiceMetadataPublisherServiceForParticipantType smlRequest = toBusdoxParticipantId(normalizedParticipantId, domain.getBdmslSmpId());
+            ServiceMetadataPublisherServiceForParticipantType smlRequest = toBusdoxParticipantId(normalizedParticipantId, domain.getSmlSmpId());
             getClient(domain).delete(smlRequest);
         } catch (Exception e) {
-            throw new SmlIntegrationException("Could not remove DNS entry through SML", e);
-        }*/
+            throw new SMPRuntimeException(ErrorCode.SML_INTEGRATION_EXCEPTION,e, ExceptionUtils.getRootCauseMessage(e));
+        }
     }
 
     private IManageParticipantIdentifierWS getClient(DBDomain domain) {
-        /*
-        String clientCertHttpHeader = domain.getBdmslClientCertHeader();
-        String clientCertAlias = domain.getBdmslClientCertAlias();
-        return ctx.getBean(IManageParticipantIdentifierWS.class, clientCertAlias, clientCertHttpHeader);*/
-        return null;
+
+        String clientCertHttpHeader = domain.getSmlClientCertHeader();
+        String clientCertAlias = domain.getSmlClientKeyAlias();
+        return ctx.getBean(IManageParticipantIdentifierWS.class, clientCertAlias, clientCertHttpHeader);
     }
 
     @Override
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-4.0.1-SNAPSHOT.ddl b/smp-webapp/src/main/smp-setup/database-scripts/migration from 4.0.x to 4.1.0/mysql5innoDb_4.0_to_4.1.sql
similarity index 54%
rename from smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-4.0.1-SNAPSHOT.ddl
rename to smp-webapp/src/main/smp-setup/database-scripts/migration from 4.0.x to 4.1.0/mysql5innoDb_4.0_to_4.1.sql
index c7d9c708c2407ffda4f8298f5abd954e015f1705..a87c95f7f772887cbb10c719bcf298c95458bfa8 100644
--- a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-4.0.1-SNAPSHOT.ddl
+++ b/smp-webapp/src/main/smp-setup/database-scripts/migration from 4.0.x to 4.1.0/mysql5innoDb_4.0_to_4.1.sql	
@@ -1,7 +1,25 @@
 
+-- --------------------------------------------------------------------------------------------------------- 
+-- create backup old tables
+-- --------------------------------------------------------------------------------------------------------- 
+alter table smp_domain rename to SMP_DOMAIN_BCK;
+alter table smp_ownership rename to SMP_OWNERSHIP_BCK;
+alter table smp_service_group rename to SMP_SERVICE_GROUP_BCK;
+alter table smp_service_metadata rename to SMP_SERVICE_METADATA_BCK;
+alter table smp_user rename to SMP_USER_BCK;
+
+-- --------------------------------------------------------------------------------------------------------- 
+-- create new tables 
+-- --------------------------------------------------------------------------------------------------------- 
+
     create table SMP_CERTIFICATE (
        ID bigint not null,
         CERTIFICATE_ID varchar(4000)  CHARACTER SET utf8 COLLATE utf8_bin,
+        CREATED_ON datetime not null,
+        issuer varchar(512)  CHARACTER SET utf8 COLLATE utf8_bin,
+        LAST_UPDATED_ON datetime not null,
+        serialNumber varchar(128)  CHARACTER SET utf8 COLLATE utf8_bin,
+        subject varchar(512)  CHARACTER SET utf8 COLLATE utf8_bin,
         VALID_FROM datetime,
         VALID_TO datetime,
         primary key (ID)
@@ -12,20 +30,27 @@
         REV bigint not null,
         REVTYPE tinyint,
         CERTIFICATE_ID varchar(4000)  CHARACTER SET utf8 COLLATE utf8_bin,
+        CREATED_ON datetime,
+        issuer varchar(512)  CHARACTER SET utf8 COLLATE utf8_bin,
+        LAST_UPDATED_ON datetime,
+        serialNumber varchar(128)  CHARACTER SET utf8 COLLATE utf8_bin,
+        subject varchar(512)  CHARACTER SET utf8 COLLATE utf8_bin,
         VALID_FROM datetime,
         VALID_TO datetime,
         primary key (ID, REV)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
     create table SMP_DOMAIN (
-       ID bigint not null,
+       ID bigint not null auto_increment,
+        CREATED_ON datetime not null,
         DOMAIN_CODE varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin not null,
+        LAST_UPDATED_ON datetime not null,
         SIGNATURE_KEY_ALIAS varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
-        SML_CLIENT_CERT_HEADER varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
+        SML_CLIENT_CERT_HEADER varchar(4000)  CHARACTER SET utf8 COLLATE utf8_bin,
         SML_CLIENT_KEY_ALIAS varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
         SML_PARTC_IDENT_REGEXP varchar(4000)  CHARACTER SET utf8 COLLATE utf8_bin,
         SML_SMP_ID varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
-        SML_SUBDOMAIN varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin not null,
+        SML_SUBDOMAIN varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
         primary key (ID)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -33,9 +58,11 @@
        ID bigint not null,
         REV bigint not null,
         REVTYPE tinyint,
+        CREATED_ON datetime,
         DOMAIN_CODE varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
+        LAST_UPDATED_ON datetime,
         SIGNATURE_KEY_ALIAS varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
-        SML_CLIENT_CERT_HEADER varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
+        SML_CLIENT_CERT_HEADER varchar(4000)  CHARACTER SET utf8 COLLATE utf8_bin,
         SML_CLIENT_KEY_ALIAS varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
         SML_PARTC_IDENT_REGEXP varchar(4000)  CHARACTER SET utf8 COLLATE utf8_bin,
         SML_SMP_ID varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
@@ -47,7 +74,7 @@
        next_val bigint
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-    insert into SMP_DOMAIN_SEQ values ( 1 );
+ 
 
     create table SMP_OWNERSHIP (
        FK_SG_ID bigint not null,
@@ -75,13 +102,13 @@
        next_val bigint
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-    insert into SMP_REVISION_SEQ values ( 1 );
 
     create table SMP_SERVICE_GROUP (
-       ID bigint not null,
+       ID bigint not null auto_increment,
+        CREATED_ON datetime not null,
+        LAST_UPDATED_ON datetime not null,
         PARTICIPANT_IDENTIFIER varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin not null,
         PARTICIPANT_SCHEME varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin not null,
-        SML_REGISTRED bit not null,
         primary key (ID)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -89,14 +116,18 @@
        ID bigint not null,
         REV bigint not null,
         REVTYPE tinyint,
+        CREATED_ON datetime,
+        LAST_UPDATED_ON datetime,
         PARTICIPANT_IDENTIFIER varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
         PARTICIPANT_SCHEME varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
-        SML_REGISTRED bit,
         primary key (ID, REV)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
     create table SMP_SERVICE_GROUP_DOMAIN (
-       ID bigint not null,
+       ID bigint not null auto_increment,
+        CREATED_ON datetime not null,
+        LAST_UPDATED_ON datetime not null,
+        SML_REGISTRED bit not null,
         FK_DOMAIN_ID bigint,
         FK_SG_ID bigint,
         primary key (ID)
@@ -106,6 +137,9 @@
        ID bigint not null,
         REV bigint not null,
         REVTYPE tinyint,
+        CREATED_ON datetime,
+        LAST_UPDATED_ON datetime,
+        SML_REGISTRED bit,
         FK_DOMAIN_ID bigint,
         FK_SG_ID bigint,
         primary key (ID, REV)
@@ -115,18 +149,18 @@
        next_val bigint
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-    insert into SMP_SERVICE_GROUP_DOMAIN_SEQ values ( 1 );
+
 
     create table SMP_SERVICE_GROUP_SEQ (
        next_val bigint
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-    insert into SMP_SERVICE_GROUP_SEQ values ( 1 );
-
     create table SMP_SERVICE_METADATA (
-       ID bigint not null,
+       ID bigint not null auto_increment,
+        CREATED_ON datetime not null,
         DOCUMENT_IDENTIFIER varchar(500)  CHARACTER SET utf8 COLLATE utf8_bin not null,
         DOCUMENT_SCHEME varchar(500)  CHARACTER SET utf8 COLLATE utf8_bin,
+        LAST_UPDATED_ON datetime not null,
         FK_SG_DOM_ID bigint not null,
         primary key (ID)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -135,8 +169,10 @@
        ID bigint not null,
         REV bigint not null,
         REVTYPE tinyint,
+        CREATED_ON datetime,
         DOCUMENT_IDENTIFIER varchar(500)  CHARACTER SET utf8 COLLATE utf8_bin,
         DOCUMENT_SCHEME varchar(500)  CHARACTER SET utf8 COLLATE utf8_bin,
+        LAST_UPDATED_ON datetime,
         FK_SG_DOM_ID bigint,
         primary key (ID, REV)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -145,11 +181,12 @@
        next_val bigint
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-    insert into SMP_SERVICE_METADATA_SEQ values ( 1 );
 
     create table SMP_SERVICE_METADATA_XML (
        ID bigint not null,
-        XML_CONTENT longtext,
+        CREATED_ON datetime not null,
+        LAST_UPDATED_ON datetime not null,
+        XML_CONTENT longblob,
         primary key (ID)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -157,13 +194,17 @@
        ID bigint not null,
         REV bigint not null,
         REVTYPE tinyint,
-        XML_CONTENT longtext,
+        CREATED_ON datetime,
+        LAST_UPDATED_ON datetime,
+        XML_CONTENT longblob,
         primary key (ID, REV)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
     create table SMP_SG_EXTENSION (
        ID bigint not null,
-        EXTENSION longtext,
+        CREATED_ON datetime not null,
+        EXTENSION longblob,
+        LAST_UPDATED_ON datetime not null,
         primary key (ID)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -171,14 +212,18 @@
        ID bigint not null,
         REV bigint not null,
         REVTYPE tinyint,
-        EXTENSION longtext,
+        CREATED_ON datetime,
+        EXTENSION longblob,
+        LAST_UPDATED_ON datetime,
         primary key (ID, REV)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
     create table SMP_USER (
-       ID bigint not null,
+       ID bigint not null auto_increment,
         ACTIVE bit not null,
+        CREATED_ON datetime not null,
         EMAIL varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
+        LAST_UPDATED_ON datetime not null,
         PASSWORD varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
         PASSWORD_CHANGED datetime,
         ROLE varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
@@ -191,7 +236,9 @@
         REV bigint not null,
         REVTYPE tinyint,
         ACTIVE bit,
+        CREATED_ON datetime,
         EMAIL varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
+        LAST_UPDATED_ON datetime,
         PASSWORD varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
         PASSWORD_CHANGED datetime,
         ROLE varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
@@ -203,10 +250,91 @@
        next_val bigint
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-    insert into SMP_USER_SEQ values ( 1 );
+-- --------------------------------------------------------------------------------------------------------- 
+-- migrate data 
+-- --------------------------------------------------------------------------------------------------------- 
+
+
+-- migrate domains
+INSERT INTO SMP_DOMAIN ( DOMAIN_CODE, SIGNATURE_KEY_ALIAS,SML_CLIENT_CERT_HEADER, SML_PARTC_IDENT_REGEXP, SML_SMP_ID, SML_SUBDOMAIN, LAST_UPDATED_ON, CREATED_ON )
+   SELECT  domainid, signaturecertalias, bdmslclientcertheader, '', bdmslsmpid,domainid, NOW(), NOW()
+      FROM SMP_DOMAIN_BCK;
+
+-- migrate users
+INSERT INTO SMP_USER (EMAIL,ACTIVE,CREATED_ON,LAST_UPDATED_ON,USERNAME, PASSWORD,PASSWORD_CHANGED,ROLE)
+    SELECT null, 1, NOW(), NOW(), USERNAME, PASSWORD, null, if(isAdmin=0,'SERVICE_GROUP_ADMIN','SMP_ADMIN') 
+        FROM SMP_USER_BCK;
+-- create certificate records 
+INSERT INTO SMP_CERTIFICATE (ID,CERTIFICATE_ID,CREATED_ON,LAST_UPDATED_ON) SELECT ID ,USERNAME, CREATED_ON, LAST_UPDATED_ON  FROM SMP_USER where PASSWORD ='';
+
+-- migrate service groups
+INSERT INTO  SMP_SERVICE_GROUP ( CREATED_ON, LAST_UPDATED_ON, PARTICIPANT_IDENTIFIER, PARTICIPANT_SCHEME)
+    select  NOW(), NOW(), businessidentifier, businessidentifierscheme from SMP_SERVICE_GROUP_BCK;
+-- insert extensions
+INSERT INTO SMP_SG_EXTENSION (ID, CREATED_ON, LAST_UPDATED_ON, EXTENSION) 
+    select sg.id, NOW(),NOW(), sgb.xmlcontent  from SMP_SERVICE_GROUP sg INNER JOIN  SMP_SERVICE_GROUP_BCK sgb 
+    ON sg.PARTICIPANT_IDENTIFIER= sgb.businessidentifier 
+        and sg.PARTICIPANT_SCHEME= sgb.businessidentifierscheme WHERE sgb.xmlcontent != '';
+
+-- insert service group domains 
+INSERT INTO SMP_SERVICE_GROUP_DOMAIN ( CREATED_ON, LAST_UPDATED_ON, SML_REGISTRED, FK_DOMAIN_ID, FK_SG_ID )
+    select  NOW(), NOW(), 0, D.ID, SG.ID from SMP_SERVICE_GROUP_BCK SGB INNER JOIN  SMP_SERVICE_GROUP SG ON
+        SGB.businessidentifier = SG.PARTICIPANT_IDENTIFIER
+        and SGB.businessidentifierscheme = SG.PARTICIPANT_SCHEME
+        INNER JOIN SMP_DOMAIN D ON
+         SGB.domainid = D.DOMAIN_CODE;
+
+
+-- migrate service metadata (on migration there could be only one domain per service group therefore no need for domain)
+INSERT INTO  SMP_SERVICE_METADATA ( CREATED_ON, LAST_UPDATED_ON, DOCUMENT_IDENTIFIER, DOCUMENT_SCHEME, FK_SG_DOM_ID)
+    select  NOW(), NOW(), MD.documentidentifier,  MD.documentidentifierscheme, SGD.ID
+        from SMP_SERVICE_METADATA_BCK MD INNER JOIN SMP_SERVICE_GROUP SG
+            ON  MD.businessidentifier = SG.PARTICIPANT_IDENTIFIER and MD.businessidentifierscheme = SG.PARTICIPANT_SCHEME
+              INNER JOIN SMP_SERVICE_GROUP_DOMAIN SGD ON SGD.FK_SG_ID = SG.id;
+                
+-- update service metadata xml
+INSERT INTO  SMP_SERVICE_METADATA_XML ( ID, CREATED_ON, LAST_UPDATED_ON, XML_CONTENT)
+    select MD.ID, NOW(), NOW(),  MDB.xmlcontent
+        from SMP_SERVICE_METADATA_BCK MDB, SMP_SERVICE_GROUP SG, SMP_SERVICE_GROUP_DOMAIN SGD, SMP_SERVICE_METADATA MD
+            where MDB.businessidentifier = SG.PARTICIPANT_IDENTIFIER and MDB.businessidentifierscheme = SG.PARTICIPANT_SCHEME
+                 and SGD.FK_SG_ID = SG.id -- only one service group domain at migration time
+                 and MD.FK_SG_DOM_ID = SGD.id
+                 and MDB.documentidentifier = MD.DOCUMENT_IDENTIFIER
+                 and MDB.documentidentifierscheme = MD.DOCUMENT_SCHEME;
+
+-- owners
+INSERT INTO SMP_OWNERSHIP (FK_SG_ID, FK_USER_ID)
+    select SG.ID, U.ID FROM SMP_OWNERSHIP_BCK OB INNER JOIN SMP_SERVICE_GROUP SG ON
+       OB.businessidentifier = SG.PARTICIPANT_IDENTIFIER
+            and OB.businessidentifierscheme = SG.PARTICIPANT_SCHEME
+    INNER JOIN SMP_USER U ON OB.USERNAME =U.USERNAME;
+            
+
+ -- we do not need certificate DN in USERNAME so remove it from username columns
+UPDATE SMP_USER set USERNAME=null where PASSWORD  ='';
+
+-- -------------------------------------------------------------------------------------------------------- 
+-- update sequences and remove auto_increment
+-- --------------------------------------------------------------------------------------------------------
+    alter table SMP_DOMAIN modify column id bigint not null;
+    alter table SMP_SERVICE_GROUP modify column id bigint not null;
+    alter table SMP_SERVICE_GROUP_DOMAIN modify column id bigint not null;
+    alter table SMP_SERVICE_METADATA modify column id bigint not null;
+    alter table SMP_USER modify column id bigint not null;
+
+    insert into SMP_USER_SEQ select count(id) +1 from SMP_USER;
+    insert into SMP_SERVICE_METADATA_SEQ select count(id) +1 from SMP_SERVICE_METADATA;
+    insert into SMP_SERVICE_GROUP_SEQ select count(id) +1 from SMP_SERVICE_GROUP;
+    insert into SMP_SERVICE_GROUP_DOMAIN_SEQ select count(id) +1 from SMP_SERVICE_GROUP_DOMAIN;
+    insert into SMP_DOMAIN_SEQ select count(id) +1 from SMP_DOMAIN;
+    insert into SMP_REVISION_SEQ values ( 1 );
+-- -------------------------------------------------------------------------------------------------------- 
+-- set indexes
+-- --------------------------------------------------------------------------------------------------------
 
-    alter table SMP_CERTIFICATE 
-       add constraint UK_3x3rvf6hkim9fg16caurkgg6f unique (CERTIFICATE_ID);
+
+ alter table SMP_CERTIFICATE 
+       add constraint UK_3x3rvf6hkim9fg16caurkgg6f unique (CERTIFICATE_ID (300));
 
     alter table SMP_DOMAIN 
        add constraint UK_djrwqd4luj5i7w4l7fueuaqbj unique (DOMAIN_CODE);
@@ -311,3 +439,23 @@ create index SMP_SMD_DOC_SCH_IDX on SMP_SERVICE_METADATA (DOCUMENT_SCHEME);
        add constraint FK2786r5minnkai3d22b191iiiq 
        foreign key (REV) 
        references SMP_REV_INFO (id);
+
+-- -------------------------------------------------------------------------------------------------------- 
+-- set indexes
+-- --------------------------------------------------------------------------------------------------------
+
+-- remove backup if migration succeeded- do in manually
+-- drop table SMP_DOMAIN_BCK;
+-- drop table SMP_OWNERSHIP_BCK;
+-- drop table SMP_SERVICE_METADATA_BCK;
+-- drop table SMP_SERVICE_GROUP_BCK;
+-- drop table SMP_USER_BCK;
+
+
+
+
+
+
+
+
+
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.1.0-SNAPSHOT.ddl b/smp-webapp/src/main/smp-setup/database-scripts/migration from 4.0.x to 4.1.0/oracle10g_4.0_to_4.1.sql
similarity index 62%
rename from smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.1.0-SNAPSHOT.ddl
rename to smp-webapp/src/main/smp-setup/database-scripts/migration from 4.0.x to 4.1.0/oracle10g_4.0_to_4.1.sql
index 89868bbda8b0fa24e7858b79fc71cad069633581..096b983948956e73e03360cb8779c66003dc5ca6 100644
--- a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.1.0-SNAPSHOT.ddl
+++ b/smp-webapp/src/main/smp-setup/database-scripts/migration from 4.0.x to 4.1.0/oracle10g_4.0_to_4.1.sql	
@@ -1,3 +1,16 @@
+
+-- --------------------------------------------------------------------------------------------------------- 
+-- create backup old tables
+-- --------------------------------------------------------------------------------------------------------- 
+alter table SMP_DOMAIN rename to SMP_DOMAIN_BCK;
+alter table SMP_OWNERSHIP rename to SMP_OWNERSHIP_BCK;
+alter table SMP_SERVICE_GROUP rename to SMP_SERVICE_GROUP_BCK;
+alter table SMP_SERVICE_METADATA rename to SMP_SERVICE_METADATA_BCK;
+alter table SMP_USER rename to SMP_USER_BCK;
+
+-- --------------------------------------------------------------------------------------------------------- 
+-- create new tables 
+-- --------------------------------------------------------------------------------------------------------- 
 create sequence SMP_DOMAIN_SEQ start with 1 increment by  1;
 create sequence SMP_REVISION_SEQ start with 1 increment by  1;
 create sequence SMP_SERVICE_GROUP_DOMAIN_SEQ start with 1 increment by  50;
@@ -319,3 +332,118 @@ create index SMP_SMD_DOC_SCH_IDX on SMP_SERVICE_METADATA (DOCUMENT_SCHEME);
        add constraint FK2786r5minnkai3d22b191iiiq 
        foreign key (REV) 
        references SMP_REV_INFO;
+
+
+-- --------------------------------------------------------------------------------------------------------- 
+-- migrate data 
+-- --------------------------------------------------------------------------------------------------------- 
+--- create function for converting clons to blobs
+CREATE OR REPLACE FUNCTION clob_to_blob(p_clob IN CLOB) RETURN BLOB IS
+  v_blob BLOB;
+  v_offset NUMBER DEFAULT 1;
+  v_amount NUMBER DEFAULT 4096;
+  v_offsetwrite NUMBER DEFAULT 1;
+  v_amountwrite NUMBER;
+  v_buffer VARCHAR2(4096 CHAR);
+BEGIN
+  dbms_lob.createtemporary(v_blob, TRUE);
+
+  Begin
+    LOOP
+      dbms_lob.READ (lob_loc => p_clob,
+                     amount  => v_amount,
+                     offset  => v_offset,
+                     buffer  => v_buffer);
+
+      v_amountwrite := utl_raw.length (r => utl_raw.cast_to_raw(c => v_buffer));
+
+      dbms_lob.WRITE (lob_loc => v_blob,
+                      amount  => v_amountwrite,
+                      offset  => v_offsetwrite,
+                      buffer  => utl_raw.cast_to_raw(v_buffer));
+
+      v_offsetwrite := v_offsetwrite + v_amountwrite;
+
+      v_offset := v_offset + v_amount;
+      v_amount := 4096;
+    END LOOP;
+  EXCEPTION
+    WHEN no_data_found THEN
+      NULL;
+  End;
+  RETURN v_blob;
+END clob_to_blob;
+
+-- migrate domains
+INSERT INTO SMP_DOMAIN (ID, DOMAIN_CODE, SIGNATURE_KEY_ALIAS,SML_CLIENT_CERT_HEADER, SML_PARTC_IDENT_REGEXP, SML_SMP_ID, SML_SUBDOMAIN, LAST_UPDATED_ON, CREATED_ON )
+   SELECT SMP_DOMAIN_SEQ.nextval, DOMAINID, SIGNATURECERTALIAS, BDMSLCLIENTCERTHEADER, '', BDMSLSMPID,'', sysdate, sysdate
+      FROM SMP_DOMAIN_BCK;
+
+-- migrate users
+INSERT INTO SMP_USER (ID,EMAIL,ACTIVE,CREATED_ON,LAST_UPDATED_ON,USERNAME, PASSWORD,PASSWORD_CHANGED,ROLE)
+    SELECT SMP_USER_SEQ.nextval,null, 1, sysdate, sysdate, USERNAME, PASSWORD, null, DECODE(isAdmin, 0,'SERVICE_GROUP_ADMIN',1,'SMP_ADMIN') 
+        FROM SMP_USER_BCK;
+-- create certificate records 
+INSERT INTO SMP_CERTIFICATE (ID,CERTIFICATE_ID,CREATED_ON,LAST_UPDATED_ON)
+    SELECT ID ,USERNAME, CREATED_ON, LAST_UPDATED_ON  FROM SMP_USER where PASSWORD  is null;
+
+-- migrate service groups
+INSERT INTO  SMP_SERVICE_GROUP ( ID, CREATED_ON, LAST_UPDATED_ON, PARTICIPANT_IDENTIFIER, PARTICIPANT_SCHEME)
+    select SMP_SERVICE_GROUP_SEQ.nextval, sysdate, sysdate, BUSINESSIDENTIFIER, BUSINESSIDENTIFIERSCHEME from SMP_SERVICE_GROUP_BCK;
+-- insert extensions
+INSERT INTO SMP_SG_EXTENSION (ID, CREATED_ON, LAST_UPDATED_ON, EXTENSION) 
+    select sg.id, sysdate,sysdate, clob_to_blob(SGB.XMLCONTENT)   from SMP_SERVICE_GROUP sg, SMP_SERVICE_GROUP_bck sgb 
+    where sg.PARTICIPANT_IDENTIFIER= sgb.BUSINESSIDENTIFIER 
+        and sg.PARTICIPANT_SCHEME= sgb.BUSINESSIDENTIFIERSCHEME and sgb.XMLCONTENT is not null;
+
+-- insert service group domains 
+INSERT INTO SMP_SERVICE_GROUP_DOMAIN (ID, CREATED_ON, LAST_UPDATED_ON, SML_REGISTRED, FK_DOMAIN_ID, FK_SG_ID )
+    select SMP_SERVICE_GROUP_DOMAIN_SEQ.nextval, sysdate, sysdate, 0, D.ID, SG.ID from SMP_SERVICE_GROUP_BCK SGB, SMP_SERVICE_GROUP SG, SMP_DOMAIN D WHERE
+        SGB.BUSINESSIDENTIFIER = SG.PARTICIPANT_IDENTIFIER
+        and SGB.BUSINESSIDENTIFIERSCHEME = SG.PARTICIPANT_SCHEME
+        and SGB.DOMAINID = D.DOMAIN_CODE;
+
+
+-- migrate service metadata (on migration there could be only one domain per service group therefore no need for domain)
+INSERT INTO  SMP_SERVICE_METADATA ( ID, CREATED_ON, LAST_UPDATED_ON, DOCUMENT_IDENTIFIER, DOCUMENT_SCHEME, FK_SG_DOM_ID)
+    select SMP_SERVICE_METADATA_SEQ.nextval, sysdate, sysdate, MD.DOCUMENTIDENTIFIER,  MD.DOCUMENTIDENTIFIERSCHEME, SGD.ID
+        from SMP_SERVICE_METADATA_BCK MD, SMP_SERVICE_GROUP SG, SMP_SERVICE_GROUP_DOMAIN SGD
+            where MD.BUSINESSIDENTIFIER = SG.PARTICIPANT_IDENTIFIER and MD.BUSINESSIDENTIFIERSCHEME = SG.PARTICIPANT_SCHEME
+                 and SGD.FK_SG_ID = SG.id;
+                
+-- update service metadata xml
+INSERT INTO  SMP_SERVICE_METADATA_XML ( ID, CREATED_ON, LAST_UPDATED_ON, XML_CONTENT)
+    select MD.ID, sysdate, sysdate,  clob_to_blob(MDB.XMLCONTENT)
+        from SMP_SERVICE_METADATA_BCK MDB, SMP_SERVICE_GROUP SG, SMP_SERVICE_GROUP_DOMAIN SGD, SMP_SERVICE_METADATA MD
+            where MDB.BUSINESSIDENTIFIER = SG.PARTICIPANT_IDENTIFIER and MDB.BUSINESSIDENTIFIERSCHEME = SG.PARTICIPANT_SCHEME
+                 and SGD.FK_SG_ID = SG.id -- only one service group domain at migration time
+                 and MD.FK_SG_DOM_ID = SGD.id
+                 and MDB.DOCUMENTIDENTIFIER = MD.DOCUMENT_IDENTIFIER
+                 and MDB.DOCUMENTIDENTIFIERSCHEME = MD.DOCUMENT_SCHEME;
+
+-- owners
+INSERT INTO SMP_OWNERSHIP (FK_SG_ID, FK_USER_ID)
+    select SG.ID, U.ID FROM SMP_OWNERSHIP_BCK OB, SMP_SERVICE_GROUP SG, SMP_USER U
+        WHERE OB.USERNAME =U.USERNAME
+            and OB.BUSINESSIDENTIFIER = SG.PARTICIPANT_IDENTIFIER
+            and OB.BUSINESSIDENTIFIERSCHEME = SG.PARTICIPANT_SCHEME;
+
+ -- we do not need certificate DN in USERNAME so remove it from username columns
+UPDATE SMP_USER set USERNAME=null where PASSWORD  is null;
+drop FUNCTION clob_to_blob
+
+-- remove backup if migration succeeded- do in manually
+-- drop table SMP_DOMAIN_BCK;
+-- drop table SMP_OWNERSHIP_BCK;
+-- drop table SMP_SERVICE_METADATA_BCK;
+-- drop table SMP_SERVICE_GROUP_BCK;
+-- drop table SMP_USER_BCK;
+
+
+
+
+
+
+
+
+
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4 (copy).1.0.ddl b/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4 (copy).1.0.ddl
deleted file mode 100755
index 6515f65e4c3e877f31bb895a7a936ab3bb5f94b6..0000000000000000000000000000000000000000
--- a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4 (copy).1.0.ddl	
+++ /dev/null
@@ -1,262 +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.
-
-
-/************************************************
-* CREATE TABLES
-************************************************/
-CREATE TABLE SMP_CONFIGURATION  (
-  PROPERTY VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	VALUE VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	DESCRIPTION VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	CONSTRAINT SMP_CONFIGURATION_PKEY PRIMARY KEY (PROPERTY)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_DOMAIN  (
-  ID DECIMAL(38,0) NOT NULL,
-	DOMAIN_CODE VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	SML_SUBDOMAIN VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_SMP_ID VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_PARTC_IDENT_REGEXP VARCHAR(1024) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_CLIENT_CERT_HEADER VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_CLIENT_KEY_ALIAS VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin,
-	SIGNATURE_KEY_ALIAS VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-  CONSTRAINT SMP_DOMAIN_PKEY PRIMARY KEY (ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-
-CREATE UNIQUE INDEX SMP_DOMAIN_CODE_IDX ON SMP_DOMAIN (DOMAIN_CODE);
-
-
-CREATE TABLE SMP_SERVICE_GROUP (
-  ID DECIMAL(38,0) NOT NULL,
-	FK_DOMAIN_ID DECIMAL(38,0) NOT NULL,
-	PARTICIPANT_IDENTIFIER VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	PARTICIPANT_SCHEME VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	EXTENSION LONGTEXT,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	CONSTRAINT SMP_SERVICE_GROUP_PKEY PRIMARY KEY (ID),
-	CONSTRAINT SMP_SG_DOMAIN_ID_FKEY FOREIGN KEY (FK_DOMAIN_ID) REFERENCES SMP_DOMAIN ( ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-/**speedup search */
-CREATE INDEX SMP_SG_PART_ID_IDX ON SMP_SERVICE_GROUP (PARTICIPANT_IDENTIFIER);
-CREATE INDEX SMP_SG_PART_SCH_IDX ON SMP_SERVICE_GROUP (PARTICIPANT_SCHEME);
-CREATE UNIQUE INDEX SMP_SG_UNIQ_PARTC_IDX ON SMP_SERVICE_GROUP (FK_DOMAIN_ID, PARTICIPANT_SCHEME, PARTICIPANT_IDENTIFIER);
-
-
-CREATE TABLE SMP_SERVICE_METADATA (
-  ID DECIMAL(38,0) NOT NULL,
-	FK_SG_ID DECIMAL(38,0) NOT NULL,
-	DOCUMENT_IDENTIFIER VARCHAR(500) CHARACTER SET utf8 COLLATE utf8_bin,
-	DOCUMENT_SCHEME VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
-	XML_CONTENT LONGTEXT,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	CONSTRAINT SMP_SERVICE_METADATA_PKEY PRIMARY KEY (ID),
-	CONSTRAINT MT_SG_ID_FKEY FOREIGN KEY (FK_SG_ID) REFERENCES SMP_SERVICE_GROUP (ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-
-/**speedup search */
-CREATE INDEX SMP_MD_DOC_ID_IDX ON SMP_SERVICE_METADATA (DOCUMENT_IDENTIFIER);
-CREATE INDEX SMP_MD_DOC_SCH_IDX ON SMP_SERVICE_METADATA (DOCUMENT_SCHEME);
-CREATE UNIQUE INDEX SMP_MD_UNIQ_DOC_IDX ON SMP_SERVICE_METADATA (FK_SG_ID, DOCUMENT_SCHEME, DOCUMENT_IDENTIFIER);
-
-CREATE TABLE SMP_CERTIFICATE (
-  ID DECIMAL(38,0) NOT NULL,
-	CERTIFICATE_ID VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	VALID_FROM DATETIME NOT NULL,
-	VALID_UNTIL DATETIME NOT NULL,
-	PEM_ENCODING LONGTEXT,
-	NEW_CERT_CHANGE_DATE DATETIME,
-	NEW_CERT_ID DECIMAL(38,0),
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	CONSTRAINT SMP_CERTIFICATE_PKEY PRIMARY KEY (ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE UNIQUE INDEX SMP_CERTIFICATE_ID_IDX ON SMP_CERTIFICATE (CERTIFICATE_ID);
-
-CREATE TABLE SMP_USER (
-  ID DECIMAL(38,0) NOT NULL,
-	USERNAME VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	PASSWORD VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_bin,
-	FK_CERTIFICATE_ID DECIMAL(38,0),
-	ROLE VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	ACTIVE TINYINT DEFAULT 1 NOT NULL,
-	CREATED_ON DATETIME NOT NULL,
-	LAST_UPDATED_ON DATETIME NOT NULL,
-	CONSTRAINT SMP_USER_PKEY PRIMARY KEY (ID),
-	CONSTRAINT USER_CERTIFICATE_ID_FKEY FOREIGN KEY (ID) REFERENCES SMP_CERTIFICATE (ID),
-	CONSTRAINT CHECK_ACTIVE_VALUE CHECK (ACTIVE = 0 OR ACTIVE = 1)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE UNIQUE INDEX SMP_USER_USERNAME_IDX ON SMP_USER (USERNAME);
-
-CREATE TABLE SMP_OWNERSHIP (
-	FK_USER_ID DOUBLE NOT NULL,
-	FK_SG_ID DOUBLE NOT NULL,
-	CONSTRAINT OWN_USER_SG_PKEY PRIMARY KEY (FK_USER_ID,FK_SG_ID )
-);
-
-/************************************************
-* CREATE AUDIT TABLES
-************************************************/
-CREATE TABLE SMP_REV_INFO (
-  ID DECIMAL(38, 0) NOT NULL,
-  TIMESTAMP DECIMAL(38, 0),
-  REVISION_DATE DATETIME(6),
-  USERNAME VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-  CONSTRAINT PK_SMP_REV_INFO PRIMARY KEY (ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_CONFIGURATION_AUD  (
-  PROPERTY VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	VALUE VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	DESCRIPTION VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_CONFIGURATION_AUD_PKEY PRIMARY KEY (PROPERTY,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_DOMAIN_AUD  (
-  ID DECIMAL(38,0) NOT NULL,
-	DOMAIN_CODE VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	SML_SUBDOMAIN VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_SMP_ID VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_PARTC_IDENT_REGEXP VARCHAR(1024) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_CLIENT_CERT_HEADER VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_CLIENT_KEY_ALIAS VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin,
-	SIGNATURE_KEY_ALIAS VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-  CONSTRAINT SMP_DOMAIN_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_SERVICE_GROUP_AUD (
-  ID DECIMAL(38,0) NOT NULL,
-	FK_DOMAIN_ID DOUBLE NOT NULL,
-	PARTICIPANT_IDENTIFIER VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	PARTICIPANT_SCHEME VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	EXTENSION LONGTEXT,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_SERVICE_GROUP_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_SERVICE_METADATA_AUD(
-  ID DECIMAL(38,0) NOT NULL,
-	FK_SG_ID DOUBLE NOT NULL,
-	DOCUMENT_IDENTIFIER VARCHAR(500) CHARACTER SET utf8 COLLATE utf8_bin,
-	DOCUMENT_SCHEME VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
-	XML_CONTENT LONGTEXT,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_SERVICE_METADATA_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_CERTIFICATE_AUD (
-  ID DECIMAL(38,0) NOT NULL,
-	CERTIFICATE_ID VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	VALID_FROM DATETIME NOT NULL,
-	VALID_UNTIL DATETIME NOT NULL,
-	PEM_ENCODING LONGTEXT,
-	NEW_CERT_CHANGE_DATE DATETIME,
-	NEW_CERT_ID DECIMAL(38,0),
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_CERTIFICATE_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_USER_AUD (
-  ID DECIMAL(38,0) NOT NULL,
-	USERNAME VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	PASSWORD VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_bin,
-	FK_CERTIFICATE_ID DOUBLE,
-	ROLE VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	ACTIVE TINYINT DEFAULT 1 NOT NULL,
-	CREATED_ON DATETIME NOT NULL,
-	LAST_UPDATED_ON DATETIME NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_USER_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_OWNERSHIP_AUD (
-	FK_USER_ID DOUBLE NOT NULL,
-	FK_SG_ID DOUBLE NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT OWN_USER_SG_AUD_PKEY PRIMARY KEY (FK_USER_ID,FK_SG_ID,REV )
-);
-
-
-CREATE TABLE SMP_SEQUENCE_TABLE(
-  sequence_name VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-  next_val BIGINT NOT NULL
-);
-
-
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_CONFIGURATION_SEQ', 1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_DOMAIN_SEQ',1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_SERVICE_GROUP_SEQ', 1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_SERVICE_METADATA_SEQ',1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_CERTIFICATE_SEQ',1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_USER_SEQ',1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_REV_SEQ',1);
-
-
-
-
-commit;
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4.0.0-to-4.1.0.ddl b/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4.0.0-to-4.1.0.ddl
deleted file mode 100755
index d52ad8f5a292315d07222a7f36d3d447a4593ecc..0000000000000000000000000000000000000000
--- a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4.0.0-to-4.1.0.ddl
+++ /dev/null
@@ -1,118 +0,0 @@
--- Copyright 2018 European Commission | CEF eDelivery
---
--- Licensed under the EUPL, Version 1.2
---
--- 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.
-
-CREATE TABLE smp_domain_AUD (
-  domainId              VARCHAR(50)
-                        CHARACTER SET utf8
-                        COLLATE utf8_bin NOT NULL,
-  bdmslClientCertHeader VARCHAR(4000)
-                        CHARACTER SET utf8
-                        COLLATE utf8_bin NULL,
-  bdmslClientCertAlias  VARCHAR(50)
-                        CHARACTER SET utf8
-                        COLLATE utf8_bin NULL,
-  bdmslSmpId            VARCHAR(50)
-                        CHARACTER SET utf8
-                        COLLATE utf8_bin NOT NULL,
-  signatureCertAlias    VARCHAR(50)
-                        CHARACTER SET utf8
-                        COLLATE utf8_bin NULL,
-  REV integer not null,
-  REVTYPE tinyint,
-  PRIMARY KEY(domainId, REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE smp_service_group_AUD (
-  businessIdentifier       VARCHAR(50)
-                           CHARACTER SET utf8
-                           COLLATE utf8_bin NOT NULL,
-  businessIdentifierScheme VARCHAR(100)
-                           CHARACTER SET utf8
-                           COLLATE utf8_bin NOT NULL,
-  domainId                 VARCHAR(50)
-                           CHARACTER SET utf8
-                           COLLATE utf8_bin NOT NULL
-                           DEFAULT 'domain1',
-  xmlContent                TEXT             NULL DEFAULT NULL,
-  REV integer not null,
-  REVTYPE tinyint,
-  PRIMARY KEY (businessIdentifier, businessIdentifierScheme, REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-
-CREATE TABLE smp_service_metadata_AUD (
-  documentIdentifier       VARCHAR(500)
-                           CHARACTER SET utf8
-                           COLLATE utf8_bin NOT NULL,
-  documentIdentifierScheme VARCHAR(100)
-                           CHARACTER SET utf8
-                           COLLATE utf8_bin NOT NULL,
-  businessIdentifier       VARCHAR(50)
-                           CHARACTER SET utf8
-                           COLLATE utf8_bin NOT NULL,
-  businessIdentifierScheme VARCHAR(100)
-                           CHARACTER SET utf8
-                           COLLATE utf8_bin NOT NULL,
-  xmlcontent               TEXT,
-  REV integer not null,
-  REVTYPE tinyint,
-  PRIMARY KEY (documentIdentifier, documentIdentifierScheme, businessIdentifier, businessIdentifierScheme, REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-
-CREATE TABLE smp_user_AUD (
-  username VARCHAR(256)         NOT NULL,
-  password VARCHAR(256),
-  isadmin  TINYINT(1) DEFAULT 0 NOT NULL,
-  REV integer not null,
-  REVTYPE tinyint,
-  PRIMARY KEY (username, REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-
-CREATE TABLE smp_ownership_AUD (
-  username                 VARCHAR(256)     NOT NULL,
-  businessIdentifier       VARCHAR(50)
-                           CHARACTER SET utf8
-                           COLLATE utf8_bin NOT NULL,
-  businessIdentifierScheme VARCHAR(100)
-                           CHARACTER SET utf8
-                           COLLATE utf8_bin NOT NULL,
-  REV integer not null,
-  REVTYPE tinyint,
-  PRIMARY KEY (username, businessIdentifier, businessIdentifierScheme, REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-
-CREATE TABLE SMP_REV_INFO (
-  ID INT AUTO_INCREMENT NOT NULL,
-  TIMESTAMP BIGINT NULL,
-  REVISION_DATE timestamp NULL,
-  username VARCHAR(256)         NOT NULL,
-  CONSTRAINT PK_SMP_REV_INFO PRIMARY KEY (ID)
-) ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-
-
-CREATE TABLE hibernate_sequence( next_val BIGINT NOT NULL );
-INSERT INTO hibernate_sequence(next_val) values(1);
-
-commit;
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4.1.0.ddl b/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4.1.0.ddl
deleted file mode 100755
index 1e9c1ffa575d26a93b42e58355b989ddf35f6f60..0000000000000000000000000000000000000000
--- a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4.1.0.ddl
+++ /dev/null
@@ -1,264 +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.
-
-
-/************************************************
-* CREATE TABLES
-************************************************/
-CREATE TABLE SMP_CONFIGURATION  (
-  PROPERTY VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	VALUE VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	DESCRIPTION VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	CONSTRAINT SMP_CONFIGURATION_PKEY PRIMARY KEY (PROPERTY)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_DOMAIN  (
-  ID DECIMAL(38,0) NOT NULL,
-	DOMAIN_CODE VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	SML_SUBDOMAIN VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	SML_SMP_ID VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_PARTC_IDENT_REGEXP VARCHAR(1024) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_CLIENT_CERT_HEADER VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_CLIENT_KEY_ALIAS VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin,
-	SIGNATURE_KEY_ALIAS VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-  CONSTRAINT SMP_DOMAIN_PKEY PRIMARY KEY (ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-
-CREATE UNIQUE INDEX SMP_DOMAIN_CODE_IDX ON SMP_DOMAIN (DOMAIN_CODE);
-CREATE UNIQUE INDEX SMP_DOMAIN_CODE_IDX ON SMP_DOMAIN (SML_SUBDOMAIN);
-
-
-
-CREATE TABLE SMP_SERVICE_GROUP (
-  ID DECIMAL(38,0) NOT NULL,
-	FK_DOMAIN_ID DECIMAL(38,0) NOT NULL,
-	PARTICIPANT_IDENTIFIER VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	PARTICIPANT_SCHEME VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	EXTENSION LONGTEXT,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	CONSTRAINT SMP_SERVICE_GROUP_PKEY PRIMARY KEY (ID),
-	CONSTRAINT SMP_SG_DOMAIN_ID_FKEY FOREIGN KEY (FK_DOMAIN_ID) REFERENCES SMP_DOMAIN ( ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-/**speedup search */
-CREATE INDEX SMP_SG_PART_ID_IDX ON SMP_SERVICE_GROUP (PARTICIPANT_IDENTIFIER);
-CREATE INDEX SMP_SG_PART_SCH_IDX ON SMP_SERVICE_GROUP (PARTICIPANT_SCHEME);
-CREATE UNIQUE INDEX SMP_SG_UNIQ_PARTC_IDX ON SMP_SERVICE_GROUP (FK_DOMAIN_ID, PARTICIPANT_SCHEME, PARTICIPANT_IDENTIFIER);
-
-
-CREATE TABLE SMP_SERVICE_METADATA (
-  ID DECIMAL(38,0) NOT NULL,
-	FK_SG_ID DECIMAL(38,0) NOT NULL,
-	DOCUMENT_IDENTIFIER VARCHAR(500) CHARACTER SET utf8 COLLATE utf8_bin,
-	DOCUMENT_SCHEME VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
-	XML_CONTENT LONGTEXT,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	CONSTRAINT SMP_SERVICE_METADATA_PKEY PRIMARY KEY (ID),
-	CONSTRAINT MT_SG_ID_FKEY FOREIGN KEY (FK_SG_ID) REFERENCES SMP_SERVICE_GROUP (ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-
-/**speedup search */
-CREATE INDEX SMP_MD_DOC_ID_IDX ON SMP_SERVICE_METADATA (DOCUMENT_IDENTIFIER);
-CREATE INDEX SMP_MD_DOC_SCH_IDX ON SMP_SERVICE_METADATA (DOCUMENT_SCHEME);
-CREATE UNIQUE INDEX SMP_MD_UNIQ_DOC_IDX ON SMP_SERVICE_METADATA (FK_SG_ID, DOCUMENT_SCHEME, DOCUMENT_IDENTIFIER);
-
-CREATE TABLE SMP_CERTIFICATE (
-  ID DECIMAL(38,0) NOT NULL,
-	CERTIFICATE_ID VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	VALID_FROM DATETIME NOT NULL,
-	VALID_UNTIL DATETIME NOT NULL,
-	PEM_ENCODING LONGTEXT,
-	NEW_CERT_CHANGE_DATE DATETIME,
-	NEW_CERT_ID DECIMAL(38,0),
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	CONSTRAINT SMP_CERTIFICATE_PKEY PRIMARY KEY (ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE UNIQUE INDEX SMP_CERTIFICATE_ID_IDX ON SMP_CERTIFICATE (CERTIFICATE_ID);
-
-CREATE TABLE SMP_USER (
-  ID DECIMAL(38,0) NOT NULL,
-	USERNAME VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	PASSWORD VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_bin,
-	FK_CERTIFICATE_ID DECIMAL(38,0),
-	ROLE VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	ACTIVE TINYINT DEFAULT 1 NOT NULL,
-	CREATED_ON DATETIME NOT NULL,
-	LAST_UPDATED_ON DATETIME NOT NULL,
-	CONSTRAINT SMP_USER_PKEY PRIMARY KEY (ID),
-	CONSTRAINT USER_CERTIFICATE_ID_FKEY FOREIGN KEY (ID) REFERENCES SMP_CERTIFICATE (ID),
-	CONSTRAINT CHECK_ACTIVE_VALUE CHECK (ACTIVE = 0 OR ACTIVE = 1)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE UNIQUE INDEX SMP_USER_USERNAME_IDX ON SMP_USER (USERNAME);
-
-CREATE TABLE SMP_OWNERSHIP (
-	FK_USER_ID DOUBLE NOT NULL,
-	FK_SG_ID DOUBLE NOT NULL,
-	CONSTRAINT OWN_USER_SG_PKEY PRIMARY KEY (FK_USER_ID,FK_SG_ID )
-);
-
-/************************************************
-* CREATE AUDIT TABLES
-************************************************/
-CREATE TABLE SMP_REV_INFO (
-  ID DECIMAL(38, 0) NOT NULL,
-  TIMESTAMP DECIMAL(38, 0),
-  REVISION_DATE DATETIME(6),
-  USERNAME VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-  CONSTRAINT PK_SMP_REV_INFO PRIMARY KEY (ID)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_CONFIGURATION_AUD  (
-  PROPERTY VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	VALUE VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	DESCRIPTION VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_CONFIGURATION_AUD_PKEY PRIMARY KEY (PROPERTY,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_DOMAIN_AUD  (
-  ID DECIMAL(38,0) NOT NULL,
-	DOMAIN_CODE VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	SML_SUBDOMAIN VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_SMP_ID VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_PARTC_IDENT_REGEXP VARCHAR(1024) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_CLIENT_CERT_HEADER VARCHAR(4000) CHARACTER SET utf8 COLLATE utf8_bin,
-	SML_CLIENT_KEY_ALIAS VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin,
-	SIGNATURE_KEY_ALIAS VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-  CONSTRAINT SMP_DOMAIN_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_SERVICE_GROUP_AUD (
-  ID DECIMAL(38,0) NOT NULL,
-	FK_DOMAIN_ID DOUBLE NOT NULL,
-	PARTICIPANT_IDENTIFIER VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	PARTICIPANT_SCHEME VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin,
-	EXTENSION LONGTEXT,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_SERVICE_GROUP_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_SERVICE_METADATA_AUD(
-  ID DECIMAL(38,0) NOT NULL,
-	FK_SG_ID DOUBLE NOT NULL,
-	DOCUMENT_IDENTIFIER VARCHAR(500) CHARACTER SET utf8 COLLATE utf8_bin,
-	DOCUMENT_SCHEME VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
-	XML_CONTENT LONGTEXT,
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_SERVICE_METADATA_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_CERTIFICATE_AUD (
-  ID DECIMAL(38,0) NOT NULL,
-	CERTIFICATE_ID VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	VALID_FROM DATETIME NOT NULL,
-	VALID_UNTIL DATETIME NOT NULL,
-	PEM_ENCODING LONGTEXT,
-	NEW_CERT_CHANGE_DATE DATETIME,
-	NEW_CERT_ID DECIMAL(38,0),
-	CREATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	LAST_UPDATED_ON DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_CERTIFICATE_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_USER_AUD (
-  ID DECIMAL(38,0) NOT NULL,
-	USERNAME VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	PASSWORD VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_bin,
-	FK_CERTIFICATE_ID DOUBLE,
-	ROLE VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-	ACTIVE TINYINT DEFAULT 1 NOT NULL,
-	CREATED_ON DATETIME NOT NULL,
-	LAST_UPDATED_ON DATETIME NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT SMP_USER_AUD_PKEY PRIMARY KEY (ID,REV)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE SMP_OWNERSHIP_AUD (
-	FK_USER_ID DOUBLE NOT NULL,
-	FK_SG_ID DOUBLE NOT NULL,
-	REV INTEGER NOT NULL,
-  REVTYPE SMALLINT,
-	CONSTRAINT OWN_USER_SG_AUD_PKEY PRIMARY KEY (FK_USER_ID,FK_SG_ID,REV )
-);
-
-
-CREATE TABLE SMP_SEQUENCE_TABLE(
-  sequence_name VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-  next_val BIGINT NOT NULL
-);
-
-
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_CONFIGURATION_SEQ', 1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_DOMAIN_SEQ',1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_SERVICE_GROUP_SEQ', 1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_SERVICE_METADATA_SEQ',1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_CERTIFICATE_SEQ',1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_USER_SEQ',1);
-INSERT INTO SMP_SEQUENCE_TABLE(sequence_name, next_val) values('SMP_REV_SEQ',1);
-
-
-
-
-commit;
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4.0.0.ddl b/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-4.0.0.ddl
similarity index 100%
rename from smp-webapp/src/main/smp-setup/database-scripts/mysql5innoDb-4.0.0.ddl
rename to smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-4.0.0.ddl
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-4.1.0-SNAPSHOT.ddl b/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-4.1.0.ddl
similarity index 100%
rename from smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-4.1.0-SNAPSHOT.ddl
rename to smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb-4.1.0.ddl
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.0.0-to-4.1.0.ddl b/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.0.0-to-4.1.0.ddl
deleted file mode 100644
index 15a0dba2c0420805611ae9696a8799ab19215ad1..0000000000000000000000000000000000000000
--- a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.0.0-to-4.1.0.ddl
+++ /dev/null
@@ -1,78 +0,0 @@
---
--- Copyright 2018 European Commission | CEF eDelivery
---
--- Licensed under the EUPL, Version 1.2;
--- 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.
-
-CREATE TABLE smp_domain_AUD (
-  domainId              VARCHAR(50),
-  bdmslClientCertHeader VARCHAR(4000),
-  bdmslClientCertAlias  VARCHAR(50),
-  bdmslSmpId            VARCHAR(50),
-  signatureCertAlias    VARCHAR(50),
-  REV INTEGER NOT NULL, 
-  REVTYPE NUMBER(3),
-  CONSTRAINT PK_SMP_DOMAIN_AUD PRIMARY KEY(domainId, REV)
-);
-
-CREATE TABLE smp_service_group_AUD (
-  xmlContent                CLOB,
-  businessIdentifier       VARCHAR(50),
-  businessIdentifierScheme VARCHAR(100),
-  domainId                 VARCHAR(50),
-  REV INTEGER NOT NULL, 
-  REVTYPE NUMBER(3),
-  CONSTRAINT PK_SMP_GRP_AUD PRIMARY KEY (businessIdentifier, businessIdentifierScheme, REV)
-);
-
-CREATE TABLE smp_service_metadata_AUD (
-  documentIdentifierScheme VARCHAR(100),
-  businessIdentifier       VARCHAR(50) ,
-  businessIdentifierScheme VARCHAR(100),
-  documentIdentifier       VARCHAR(500),
-  xmlcontent               CLOB,
-  REV INTEGER NOT NULL, 
-  REVTYPE NUMBER(3),
-  CONSTRAINT PK_SMP_SMD_AUD PRIMARY KEY (
-    documentIdentifierScheme,
-    businessIdentifier,
-    businessIdentifierScheme,
-    documentIdentifier, REV)
-);
- 
-CREATE TABLE smp_user_AUD (
-  username VARCHAR(256),
-  password VARCHAR(256),
-  isadmin  NUMBER(1) DEFAULT 0,
-  REV INTEGER NOT NULL, 
-  REVTYPE NUMBER(3),
-  CONSTRAINT PK_SMP_USER_AUD PRIMARY KEY (username, REV)
-);
-
-CREATE TABLE smp_ownership_AUD (
-  username                 VARCHAR(256),
-  businessIdentifier       VARCHAR(50),
-  businessIdentifierScheme VARCHAR(100),
-  REV INTEGER NOT NULL, 
-  REVTYPE NUMBER(3),
-  CONSTRAINT PK_OWNERSHIP_AUD PRIMARY KEY (username, businessIdentifier, businessIdentifierScheme, REV)
-);
-
-
-CREATE TABLE SMP_REV_INFO (
-  ID NUMBER(38, 0) NOT NULL, 
-  TIMESTAMP NUMBER(38, 0), 
-  REVISION_DATE TIMESTAMP,
-  username VARCHAR2(255), 
-  CONSTRAINT PK_SMP_REV_INFO PRIMARY KEY (ID)
-);
-CREATE SEQUENCE HIBERNATE_SEQUENCE START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 CACHE 20 NOORDER;
-
-commit;
-
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.0.1-SNAPSHOT.ddl b/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.0.1-SNAPSHOT.ddl
deleted file mode 100644
index a75783766d3cb63ab220e3c030f856b5ce6fdadd..0000000000000000000000000000000000000000
--- a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.0.1-SNAPSHOT.ddl
+++ /dev/null
@@ -1,283 +0,0 @@
-create sequence SMP_DOMAIN_SEQ start with 1 increment by  1;
-create sequence SMP_REVISION_SEQ start with 1 increment by  1;
-create sequence SMP_SERVICE_GROUP_DOMAIN_SEQ start with 1 increment by  50;
-create sequence SMP_SERVICE_GROUP_SEQ start with 1 increment by  50;
-create sequence SMP_SERVICE_METADATA_SEQ start with 1 increment by  50;
-create sequence SMP_USER_SEQ start with 1 increment by  50;
-
-    create table SMP_CERTIFICATE (
-       ID number(19,0) not null,
-        CERTIFICATE_ID varchar2(4000 char),
-        VALID_FROM timestamp,
-        VALID_TO timestamp,
-        primary key (ID)
-    );
-
-    create table SMP_CERTIFICATE_AUD (
-       ID number(19,0) not null,
-        REV number(19,0) not null,
-        REVTYPE number(3,0),
-        CERTIFICATE_ID varchar2(4000 char),
-        VALID_FROM timestamp,
-        VALID_TO timestamp,
-        primary key (ID, REV)
-    );
-
-    create table SMP_DOMAIN (
-       ID number(19,0) not null,
-        DOMAIN_CODE varchar2(256 char) not null,
-        SIGNATURE_KEY_ALIAS varchar2(256 char),
-        SML_CLIENT_CERT_HEADER varchar2(256 char),
-        SML_CLIENT_KEY_ALIAS varchar2(256 char),
-        SML_PARTC_IDENT_REGEXP varchar2(4000 char),
-        SML_SMP_ID varchar2(256 char),
-        SML_SUBDOMAIN varchar2(256 char) not null,
-        primary key (ID)
-    );
-
-    create table SMP_DOMAIN_AUD (
-       ID number(19,0) not null,
-        REV number(19,0) not null,
-        REVTYPE number(3,0),
-        DOMAIN_CODE varchar2(256 char),
-        SIGNATURE_KEY_ALIAS varchar2(256 char),
-        SML_CLIENT_CERT_HEADER varchar2(256 char),
-        SML_CLIENT_KEY_ALIAS varchar2(256 char),
-        SML_PARTC_IDENT_REGEXP varchar2(4000 char),
-        SML_SMP_ID varchar2(256 char),
-        SML_SUBDOMAIN varchar2(256 char),
-        primary key (ID, REV)
-    );
-
-    create table SMP_OWNERSHIP (
-       FK_SG_ID number(19,0) not null,
-        FK_USER_ID number(19,0) not null,
-        primary key (FK_SG_ID, FK_USER_ID)
-    );
-
-    create table SMP_OWNERSHIP_AUD (
-       REV number(19,0) not null,
-        FK_SG_ID number(19,0) not null,
-        FK_USER_ID number(19,0) not null,
-        REVTYPE number(3,0),
-        primary key (REV, FK_SG_ID, FK_USER_ID)
-    );
-
-    create table SMP_REV_INFO (
-       id number(19,0) not null,
-        REVISION_DATE timestamp,
-        timestamp number(19,0) not null,
-        USERNAME varchar2(255 char),
-        primary key (id)
-    );
-
-    create table SMP_SERVICE_GROUP (
-       ID number(19,0) not null,
-        PARTICIPANT_IDENTIFIER varchar2(256 char) not null,
-        PARTICIPANT_SCHEME varchar2(256 char) not null,
-        SML_REGISTRED number(1,0) not null,
-        primary key (ID)
-    );
-
-    create table SMP_SERVICE_GROUP_AUD (
-       ID number(19,0) not null,
-        REV number(19,0) not null,
-        REVTYPE number(3,0),
-        PARTICIPANT_IDENTIFIER varchar2(256 char),
-        PARTICIPANT_SCHEME varchar2(256 char),
-        SML_REGISTRED number(1,0),
-        primary key (ID, REV)
-    );
-
-    create table SMP_SERVICE_GROUP_DOMAIN (
-       ID number(19,0) not null,
-        FK_DOMAIN_ID number(19,0),
-        FK_SG_ID number(19,0),
-        primary key (ID)
-    );
-
-    create table SMP_SERVICE_GROUP_DOMAIN_AUD (
-       ID number(19,0) not null,
-        REV number(19,0) not null,
-        REVTYPE number(3,0),
-        FK_DOMAIN_ID number(19,0),
-        FK_SG_ID number(19,0),
-        primary key (ID, REV)
-    );
-
-    create table SMP_SERVICE_METADATA (
-       ID number(19,0) not null,
-        DOCUMENT_IDENTIFIER varchar2(500 char) not null,
-        DOCUMENT_SCHEME varchar2(500 char),
-        FK_SG_DOM_ID number(19,0) not null,
-        primary key (ID)
-    );
-
-    create table SMP_SERVICE_METADATA_AUD (
-       ID number(19,0) not null,
-        REV number(19,0) not null,
-        REVTYPE number(3,0),
-        DOCUMENT_IDENTIFIER varchar2(500 char),
-        DOCUMENT_SCHEME varchar2(500 char),
-        FK_SG_DOM_ID number(19,0),
-        primary key (ID, REV)
-    );
-
-    create table SMP_SERVICE_METADATA_XML (
-       ID number(19,0) not null,
-        XML_CONTENT clob,
-        primary key (ID)
-    );
-
-    create table SMP_SERVICE_METADATA_XML_AUD (
-       ID number(19,0) not null,
-        REV number(19,0) not null,
-        REVTYPE number(3,0),
-        XML_CONTENT clob,
-        primary key (ID, REV)
-    );
-
-    create table SMP_SG_EXTENSION (
-       ID number(19,0) not null,
-        EXTENSION clob,
-        primary key (ID)
-    );
-
-    create table SMP_SG_EXTENSION_AUD (
-       ID number(19,0) not null,
-        REV number(19,0) not null,
-        REVTYPE number(3,0),
-        EXTENSION clob,
-        primary key (ID, REV)
-    );
-
-    create table SMP_USER (
-       ID number(19,0) not null,
-        ACTIVE number(1,0) not null,
-        EMAIL varchar2(256 char),
-        PASSWORD varchar2(256 char),
-        PASSWORD_CHANGED timestamp,
-        ROLE varchar2(256 char),
-        USERNAME varchar2(256 char),
-        primary key (ID)
-    );
-
-    create table SMP_USER_AUD (
-       ID number(19,0) not null,
-        REV number(19,0) not null,
-        REVTYPE number(3,0),
-        ACTIVE number(1,0),
-        EMAIL varchar2(256 char),
-        PASSWORD varchar2(256 char),
-        PASSWORD_CHANGED timestamp,
-        ROLE varchar2(256 char),
-        USERNAME varchar2(256 char),
-        primary key (ID, REV)
-    );
-
-    alter table SMP_CERTIFICATE 
-       add constraint UK_3x3rvf6hkim9fg16caurkgg6f unique (CERTIFICATE_ID);
-
-    alter table SMP_DOMAIN 
-       add constraint UK_djrwqd4luj5i7w4l7fueuaqbj unique (DOMAIN_CODE);
-
-    alter table SMP_DOMAIN 
-       add constraint UK_likb3jn0nlxlekaws0xx10uqc unique (SML_SUBDOMAIN);
-create index SMP_SG_PART_ID_IDX on SMP_SERVICE_GROUP (PARTICIPANT_IDENTIFIER);
-create index SMP_SG_PART_SCH_IDX on SMP_SERVICE_GROUP (PARTICIPANT_SCHEME);
-
-    alter table SMP_SERVICE_GROUP 
-       add constraint SMP_SG_UNIQ_PARTC_IDX unique (PARTICIPANT_SCHEME, PARTICIPANT_IDENTIFIER);
-create index SMP_SMD_DOC_ID_IDX on SMP_SERVICE_METADATA (DOCUMENT_IDENTIFIER);
-create index SMP_SMD_DOC_SCH_IDX on SMP_SERVICE_METADATA (DOCUMENT_SCHEME);
-
-    alter table SMP_SERVICE_METADATA 
-       add constraint SMP_MT_UNIQ_SG_DOC_IDX unique (FK_SG_DOM_ID, DOCUMENT_IDENTIFIER, DOCUMENT_SCHEME);
-
-    alter table SMP_USER 
-       add constraint UK_rt1f0anklfo05lt0my05fqq6 unique (USERNAME);
-
-    alter table SMP_CERTIFICATE 
-       add constraint FKayqgpj5ot3o8vrpduul7sstta 
-       foreign key (ID) 
-       references SMP_USER;
-
-    alter table SMP_CERTIFICATE_AUD 
-       add constraint FKnrwm8en8vv10li8ihwnurwd9e 
-       foreign key (REV) 
-       references SMP_REV_INFO;
-
-    alter table SMP_DOMAIN_AUD 
-       add constraint FK35qm8xmi74kfenugeonijodsg 
-       foreign key (REV) 
-       references SMP_REV_INFO;
-
-    alter table SMP_OWNERSHIP 
-       add constraint FKrnqwq06lbfwciup4rj8nvjpmy 
-       foreign key (FK_USER_ID) 
-       references SMP_USER;
-
-    alter table SMP_OWNERSHIP 
-       add constraint FKgexq5n6ftsid8ehqljvjh8p4i 
-       foreign key (FK_SG_ID) 
-       references SMP_SERVICE_GROUP;
-
-    alter table SMP_OWNERSHIP_AUD 
-       add constraint FK1lqynlbk8ow1ouxetf5wybk3k 
-       foreign key (REV) 
-       references SMP_REV_INFO;
-
-    alter table SMP_SERVICE_GROUP_AUD 
-       add constraint FKj3caimhegwyav1scpwrxoslef 
-       foreign key (REV) 
-       references SMP_REV_INFO;
-
-    alter table SMP_SERVICE_GROUP_DOMAIN 
-       add constraint FKo186xtefda6avl5p1tuqchp3n 
-       foreign key (FK_DOMAIN_ID) 
-       references SMP_DOMAIN;
-
-    alter table SMP_SERVICE_GROUP_DOMAIN 
-       add constraint FKgcvhnk2n34d3c6jhni5l3s3x3 
-       foreign key (FK_SG_ID) 
-       references SMP_SERVICE_GROUP;
-
-    alter table SMP_SERVICE_GROUP_DOMAIN_AUD 
-       add constraint FK6uc9r0eqw16baooxtmqjkih0j 
-       foreign key (REV) 
-       references SMP_REV_INFO;
-
-    alter table SMP_SERVICE_METADATA 
-       add constraint FKfvcml6b8x7kn80m30h8pxs7jl 
-       foreign key (FK_SG_DOM_ID) 
-       references SMP_SERVICE_GROUP_DOMAIN;
-
-    alter table SMP_SERVICE_METADATA_AUD 
-       add constraint FKbqr9pdnik1qxx2hi0xn4n7f61 
-       foreign key (REV) 
-       references SMP_REV_INFO;
-
-    alter table SMP_SERVICE_METADATA_XML 
-       add constraint FK4b1x06xlavcgbjnuilgksi7nm 
-       foreign key (ID) 
-       references SMP_SERVICE_METADATA;
-
-    alter table SMP_SERVICE_METADATA_XML_AUD 
-       add constraint FKevatmlvvwoxfnjxkvmokkencb 
-       foreign key (REV) 
-       references SMP_REV_INFO;
-
-    alter table SMP_SG_EXTENSION 
-       add constraint FKtf0mfonugp2jbkqo2o142chib 
-       foreign key (ID) 
-       references SMP_SERVICE_GROUP;
-
-    alter table SMP_SG_EXTENSION_AUD 
-       add constraint FKmdo9v2422adwyebvl34qa3ap6 
-       foreign key (REV) 
-       references SMP_REV_INFO;
-
-    alter table SMP_USER_AUD 
-       add constraint FK2786r5minnkai3d22b191iiiq 
-       foreign key (REV) 
-       references SMP_REV_INFO;
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.1.0.ddl b/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.1.0.ddl
index aceaf6ec7889b17938a896ab563a22d1903c91aa..89868bbda8b0fa24e7858b79fc71cad069633581 100644
--- a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.1.0.ddl
+++ b/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-4.1.0.ddl
@@ -1,225 +1,321 @@
---
--- 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.
-
-
-/************************************************
-* CREATE TABLES
-************************************************/
-CREATE TABLE SMP_CONFIGURATION  (
-  PROPERTY VARCHAR2(255 BYTE) NOT NULL ENABLE,
-	VALUE VARCHAR2(4000 BYTE),
-	DESCRIPTION VARCHAR2(4000 BYTE),
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	CONSTRAINT SMP_CONFIGURATION_PKEY PRIMARY KEY (PROPERTY)
-);
-
-CREATE TABLE SMP_DOMAIN  (
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	DOMAIN_CODE VARCHAR2(50 BYTE) NOT NULL ENABLE,
-	SML_SUBDOMAIN VARCHAR2(255 BYTE) NOT NULL ENABLE,
-	SML_SMP_ID VARCHAR2(255 BYTE),
-	SML_PARTC_IDENT_REGEXP VARCHAR2(1024 BYTE),
-	SML_CLIENT_CERT_HEADER VARCHAR2(4000 BYTE),
-	SML_CLIENT_KEY_ALIAS VARCHAR2(50 BYTE),
-	SIGNATURE_KEY_ALIAS VARCHAR2(50 BYTE),
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-  CONSTRAINT SMP_DOMAIN_PKEY PRIMARY KEY (ID)
-);
-
-CREATE UNIQUE INDEX SMP_DOMAIN_CODE_IDX ON SMP_DOMAIN (DOMAIN_CODE);
-CREATE UNIQUE INDEX SMP_DOMAIN_CODE_IDX ON SMP_DOMAIN (SML_SUBDOMAIN);
-
-CREATE TABLE SMP_SERVICE_GROUP (
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	FK_DOMAIN_ID NUMBER(*,0) NOT NULL ENABLE,
-	PARTICIPANT_IDENTIFIER VARCHAR2(255 BYTE) NOT NULL ENABLE,
-	PARTICIPANT_SCHEME VARCHAR2(255 BYTE),
-	EXTENSION CLOB,
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	CONSTRAINT SMP_SERVICE_GROUP_PKEY PRIMARY KEY (ID),
-	CONSTRAINT SMP_SG_DOMAIN_ID_FKEY FOREIGN KEY (FK_DOMAIN_ID) REFERENCES SMP_DOMAIN ( ID)
-);
-/**speedup search */
-CREATE INDEX SMP_SG_PART_ID_IDX ON SMP_SERVICE_GROUP (PARTICIPANT_IDENTIFIER);
-CREATE INDEX SMP_SG_PART_SCH_IDX ON SMP_SERVICE_GROUP (PARTICIPANT_SCHEME);
-CREATE UNIQUE INDEX SMP_SG_UNIQ_PARTC_IDX ON SMP_SERVICE_GROUP (FK_DOMAIN_ID, PARTICIPANT_SCHEME, PARTICIPANT_IDENTIFIER);
-
-
-CREATE TABLE SMP_SERVICE_METADATA (
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	FK_SG_ID NUMBER(*,0) NOT NULL ENABLE,
-	DOCUMENT_IDENTIFIER VARCHAR2(500 BYTE),
-	DOCUMENT_SCHEME VARCHAR2(100 BYTE),
-	XML_CONTENT CLOB,
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	CONSTRAINT SMP_SERVICE_METADATA_PKEY PRIMARY KEY (ID),
-	CONSTRAINT MT_SG_ID_FKEY FOREIGN KEY (FK_SG_ID) REFERENCES SMP_SERVICE_GROUP (ID)
-);
-
-/**speedup searh */
-CREATE INDEX SMP_MD_DOC_ID_IDX ON SMP_SERVICE_METADATA (DOCUMENT_IDENTIFIER);
-CREATE INDEX SMP_MD_DOC_SCH_IDX ON SMP_SERVICE_METADATA (DOCUMENT_SCHEME);
-CREATE UNIQUE INDEX SMP_MD_UNIQ_DOC_IDX ON SMP_SERVICE_METADATA (FK_SG_ID, DOCUMENT_SCHEME, DOCUMENT_IDENTIFIER);
-
-CREATE TABLE SMP_CERTIFICATE (
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	CERTIFICATE_ID VARCHAR2(255 BYTE) NOT NULL ENABLE,
-	VALID_FROM DATE NOT NULL ENABLE,
-	VALID_UNTIL DATE NOT NULL ENABLE,
-	PEM_ENCODING CLOB,
-	NEW_CERT_CHANGE_DATE DATE,
-	NEW_CERT_ID NUMBER(*,0),
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	CONSTRAINT SMP_CERTIFICATE_PKEY PRIMARY KEY (ID)
-);
-CREATE UNIQUE INDEX SMP_CERTIFICATE_ID_IDX ON SMP_CERTIFICATE (CERTIFICATE_ID);
-
-CREATE TABLE SMP_USER (
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	USERNAME VARCHAR2(256 BYTE) NOT NULL ENABLE,
-	PASSWORD VARCHAR2(256 BYTE),
-	FK_CERTIFICATE_ID NUMBER,
-	ROLE VARCHAR2(20 BYTE) NOT NULL ENABLE,
-	ACTIVE NUMBER(1,0) DEFAULT 1 NOT NULL,
-	CREATED_ON DATE NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE NOT NULL ENABLE,
-	CONSTRAINT SMP_USER_PKEY PRIMARY KEY (ID),
-	CONSTRAINT USER_CERTIFICATE_ID_FKEY FOREIGN KEY (ID) REFERENCES SMP_CERTIFICATE (ID),
-	CONSTRAINT CHECK_ACTIVE_VALUE CHECK (ACTIVE = 0 OR ACTIVE = 1)
-);
-
-CREATE UNIQUE INDEX SMP_USER_USERNAME_IDX ON SMP_USER (USERNAME);
-
-CREATE TABLE SMP_OWNERSHIP (
-	FK_USER_ID NUMBER(*,0) NOT NULL ENABLE,
-	FK_SG_ID NUMBER(*,0) NOT NULL ENABLE,
-	CONSTRAINT OWN_USER_SG_PKEY PRIMARY KEY (FK_USER_ID,FK_SG_ID )
-);
-
-/************************************************
-* CREATE AUDIT TABLES
-************************************************/
-CREATE TABLE SMP_REV_INFO (
-  ID NUMBER(38, 0) NOT NULL,
-  TIMESTAMP NUMBER(38, 0),
-  REVISION_DATE TIMESTAMP,
-  USERNAME VARCHAR2(255),
-  CONSTRAINT PK_SMP_REV_INFO PRIMARY KEY (ID)
-);
-
-CREATE TABLE SMP_CONFIGURATION_AUD  (
-  PROPERTY VARCHAR2(255 BYTE) NOT NULL ENABLE,
-	VALUE VARCHAR2(4000 BYTE),
-	DESCRIPTION VARCHAR2(4000 BYTE),
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	REV INTEGER NOT NULL,
-  REVTYPE NUMBER(3),
-	CONSTRAINT SMP_CONFIGURATION_AUD_PKEY PRIMARY KEY (PROPERTY,REV)
-);
-
-CREATE TABLE SMP_DOMAIN_AUD  (
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	DOMAIN_CODE VARCHAR2(50 BYTE) NOT NULL ENABLE,
-	SML_SUBDOMAIN VARCHAR2(255 BYTE),
-	SML_SMP_ID VARCHAR2(255 BYTE),
-	SML_PARTC_IDENT_REGEXP VARCHAR2(1025 BYTE),
-	SML_CLIENT_CERT_HEADER VARCHAR2(4000 BYTE),
-	SML_CLIENT_KEY_ALIAS VARCHAR2(50 BYTE),
-	SIGNATURE_KEY_ALIAS VARCHAR2(50 BYTE),
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	REV INTEGER NOT NULL,
-  REVTYPE NUMBER(3),
-  CONSTRAINT SMP_DOMAIN_AUD_PKEY PRIMARY KEY (ID,REV)
-);
-
-
-CREATE TABLE SMP_SERVICE_GROUP_AUD (
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	FK_DOMAIN_ID NUMBER(*,0) NOT NULL ENABLE,
-	PARTICIPANT_IDENTIFIER VARCHAR2(255 BYTE) NOT NULL ENABLE,
-	PARTICIPANT_SCHEME VARCHAR2(255 BYTE),
-	EXTENSION CLOB,
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	REV INTEGER NOT NULL,
-  REVTYPE NUMBER(3),
-	CONSTRAINT SMP_SERVICE_GROUP_AUD_PKEY PRIMARY KEY (ID,REV)
-);
-
-
-CREATE TABLE SMP_SERVICE_METADATA_AUD(
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	FK_SG_ID NUMBER(*,0) NOT NULL ENABLE,
-	DOCUMENT_IDENTIFIER VARCHAR2(500 BYTE),
-	DOCUMENT_SCHEME VARCHAR2(100 BYTE),
-	XML_CONTENT CLOB,
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	REV INTEGER NOT NULL,
-  REVTYPE NUMBER(3),
-	CONSTRAINT SMP_SERVICE_METADATA_AUD_PKEY PRIMARY KEY (ID,REV)
-);
-
-CREATE TABLE SMP_CERTIFICATE_AUD (
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	CERTIFICATE_ID VARCHAR2(255 BYTE) NOT NULL ENABLE,
-	VALID_FROM DATE NOT NULL ENABLE,
-	VALID_UNTIL DATE NOT NULL ENABLE,
-	PEM_ENCODING CLOB,
-	NEW_CERT_CHANGE_DATE DATE,
-	NEW_CERT_ID NUMBER(*,0),
-	CREATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE DEFAULT sysdate NOT NULL ENABLE,
-	REV INTEGER NOT NULL,
-  REVTYPE NUMBER(3),
-	CONSTRAINT SMP_CERTIFICATE_AUD_PKEY PRIMARY KEY (ID,REV)
-);
-
-CREATE TABLE SMP_USER_AUD (
-  ID NUMBER(*,0) NOT NULL ENABLE,
-	USERNAME VARCHAR2(256 BYTE) NOT NULL ENABLE,
-	PASSWORD VARCHAR2(256 BYTE),
-	FK_CERTIFICATE_ID NUMBER,
-	ROLE VARCHAR2(20 BYTE) NOT NULL ENABLE,
-	ACTIVE NUMBER(1,0) DEFAULT 1 NOT NULL,
-	CREATED_ON DATE NOT NULL ENABLE,
-	LAST_UPDATED_ON DATE NOT NULL ENABLE,
-	REV INTEGER NOT NULL,
-  REVTYPE NUMBER(3),
-	CONSTRAINT SMP_USER_AUD_PKEY PRIMARY KEY (ID,REV)
-);
-
-CREATE TABLE SMP_OWNERSHIP_AUD (
-	FK_USER_ID NUMBER(*,0) NOT NULL ENABLE,
-	FK_SG_ID NUMBER(*,0) NOT NULL ENABLE,
-	REV INTEGER NOT NULL,
-  REVTYPE NUMBER(3),
-	CONSTRAINT OWN_USER_SG_AUD_PKEY PRIMARY KEY (FK_USER_ID,FK_SG_ID,REV )
-);
-
-CREATE SEQUENCE SMP_CONFIGURATION_SEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 CACHE 20 NOORDER;
-CREATE SEQUENCE SMP_DOMAIN_SEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 CACHE 20 NOORDER;
-CREATE SEQUENCE SMP_SERVICE_GROUP_SEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 CACHE 20 NOORDER;
-CREATE SEQUENCE SMP_SERVICE_METADATA_SEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 CACHE 20 NOORDER;
-CREATE SEQUENCE SMP_CERTIFICATE_SEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 CACHE 20 NOORDER;
-CREATE SEQUENCE SMP_USER_SEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 CACHE 20 NOORDER;
-CREATE SEQUENCE SMP_REV_SEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 CACHE 20 NOORDER;
-
-
-commit;
+create sequence SMP_DOMAIN_SEQ start with 1 increment by  1;
+create sequence SMP_REVISION_SEQ start with 1 increment by  1;
+create sequence SMP_SERVICE_GROUP_DOMAIN_SEQ start with 1 increment by  50;
+create sequence SMP_SERVICE_GROUP_SEQ start with 1 increment by  50;
+create sequence SMP_SERVICE_METADATA_SEQ start with 1 increment by  50;
+create sequence SMP_USER_SEQ start with 1 increment by  50;
+
+    create table SMP_CERTIFICATE (
+       ID number(19,0) not null,
+        CERTIFICATE_ID varchar2(4000 char),
+        CREATED_ON timestamp not null,
+        issuer varchar2(512 char),
+        LAST_UPDATED_ON timestamp not null,
+        serialNumber varchar2(128 char),
+        subject varchar2(512 char),
+        VALID_FROM timestamp,
+        VALID_TO timestamp,
+        primary key (ID)
+    );
+
+    create table SMP_CERTIFICATE_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CERTIFICATE_ID varchar2(4000 char),
+        CREATED_ON timestamp,
+        issuer varchar2(512 char),
+        LAST_UPDATED_ON timestamp,
+        serialNumber varchar2(128 char),
+        subject varchar2(512 char),
+        VALID_FROM timestamp,
+        VALID_TO timestamp,
+        primary key (ID, REV)
+    );
+
+    create table SMP_DOMAIN (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        DOMAIN_CODE varchar2(256 char) not null,
+        LAST_UPDATED_ON timestamp not null,
+        SIGNATURE_KEY_ALIAS varchar2(256 char),
+        SML_CLIENT_CERT_HEADER varchar2(4000 char),
+        SML_CLIENT_KEY_ALIAS varchar2(256 char),
+        SML_PARTC_IDENT_REGEXP varchar2(4000 char),
+        SML_SMP_ID varchar2(256 char),
+        SML_SUBDOMAIN varchar2(256 char),
+        primary key (ID)
+    );
+
+    create table SMP_DOMAIN_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        DOMAIN_CODE varchar2(256 char),
+        LAST_UPDATED_ON timestamp,
+        SIGNATURE_KEY_ALIAS varchar2(256 char),
+        SML_CLIENT_CERT_HEADER varchar2(4000 char),
+        SML_CLIENT_KEY_ALIAS varchar2(256 char),
+        SML_PARTC_IDENT_REGEXP varchar2(4000 char),
+        SML_SMP_ID varchar2(256 char),
+        SML_SUBDOMAIN varchar2(256 char),
+        primary key (ID, REV)
+    );
+
+    create table SMP_OWNERSHIP (
+       FK_SG_ID number(19,0) not null,
+        FK_USER_ID number(19,0) not null,
+        primary key (FK_SG_ID, FK_USER_ID)
+    );
+
+    create table SMP_OWNERSHIP_AUD (
+       REV number(19,0) not null,
+        FK_SG_ID number(19,0) not null,
+        FK_USER_ID number(19,0) not null,
+        REVTYPE number(3,0),
+        primary key (REV, FK_SG_ID, FK_USER_ID)
+    );
+
+    create table SMP_REV_INFO (
+       id number(19,0) not null,
+        REVISION_DATE timestamp,
+        timestamp number(19,0) not null,
+        USERNAME varchar2(255 char),
+        primary key (id)
+    );
+
+    create table SMP_SERVICE_GROUP (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        PARTICIPANT_IDENTIFIER varchar2(256 char) not null,
+        PARTICIPANT_SCHEME varchar2(256 char) not null,
+        primary key (ID)
+    );
+
+    create table SMP_SERVICE_GROUP_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        PARTICIPANT_IDENTIFIER varchar2(256 char),
+        PARTICIPANT_SCHEME varchar2(256 char),
+        primary key (ID, REV)
+    );
+
+    create table SMP_SERVICE_GROUP_DOMAIN (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        SML_REGISTRED number(1,0) not null,
+        FK_DOMAIN_ID number(19,0),
+        FK_SG_ID number(19,0),
+        primary key (ID)
+    );
+
+    create table SMP_SERVICE_GROUP_DOMAIN_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        SML_REGISTRED number(1,0),
+        FK_DOMAIN_ID number(19,0),
+        FK_SG_ID number(19,0),
+        primary key (ID, REV)
+    );
+
+    create table SMP_SERVICE_METADATA (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        DOCUMENT_IDENTIFIER varchar2(500 char) not null,
+        DOCUMENT_SCHEME varchar2(500 char),
+        LAST_UPDATED_ON timestamp not null,
+        FK_SG_DOM_ID number(19,0) not null,
+        primary key (ID)
+    );
+
+    create table SMP_SERVICE_METADATA_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        DOCUMENT_IDENTIFIER varchar2(500 char),
+        DOCUMENT_SCHEME varchar2(500 char),
+        LAST_UPDATED_ON timestamp,
+        FK_SG_DOM_ID number(19,0),
+        primary key (ID, REV)
+    );
+
+    create table SMP_SERVICE_METADATA_XML (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        XML_CONTENT blob,
+        primary key (ID)
+    );
+
+    create table SMP_SERVICE_METADATA_XML_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        XML_CONTENT blob,
+        primary key (ID, REV)
+    );
+
+    create table SMP_SG_EXTENSION (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        EXTENSION blob,
+        LAST_UPDATED_ON timestamp not null,
+        primary key (ID)
+    );
+
+    create table SMP_SG_EXTENSION_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        EXTENSION blob,
+        LAST_UPDATED_ON timestamp,
+        primary key (ID, REV)
+    );
+
+    create table SMP_USER (
+       ID number(19,0) not null,
+        ACTIVE number(1,0) not null,
+        CREATED_ON timestamp not null,
+        EMAIL varchar2(256 char),
+        LAST_UPDATED_ON timestamp not null,
+        PASSWORD varchar2(256 char),
+        PASSWORD_CHANGED timestamp,
+        ROLE varchar2(256 char),
+        USERNAME varchar2(256 char),
+        primary key (ID)
+    );
+
+    create table SMP_USER_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        ACTIVE number(1,0),
+        CREATED_ON timestamp,
+        EMAIL varchar2(256 char),
+        LAST_UPDATED_ON timestamp,
+        PASSWORD varchar2(256 char),
+        PASSWORD_CHANGED timestamp,
+        ROLE varchar2(256 char),
+        USERNAME varchar2(256 char),
+        primary key (ID, REV)
+    );
+
+    alter table SMP_CERTIFICATE 
+       add constraint UK_3x3rvf6hkim9fg16caurkgg6f unique (CERTIFICATE_ID);
+
+    alter table SMP_DOMAIN 
+       add constraint UK_djrwqd4luj5i7w4l7fueuaqbj unique (DOMAIN_CODE);
+
+    alter table SMP_DOMAIN 
+       add constraint UK_likb3jn0nlxlekaws0xx10uqc unique (SML_SUBDOMAIN);
+create index SMP_SG_PART_ID_IDX on SMP_SERVICE_GROUP (PARTICIPANT_IDENTIFIER);
+create index SMP_SG_PART_SCH_IDX on SMP_SERVICE_GROUP (PARTICIPANT_SCHEME);
+
+    alter table SMP_SERVICE_GROUP 
+       add constraint SMP_SG_UNIQ_PARTC_IDX unique (PARTICIPANT_SCHEME, PARTICIPANT_IDENTIFIER);
+create index SMP_SMD_DOC_ID_IDX on SMP_SERVICE_METADATA (DOCUMENT_IDENTIFIER);
+create index SMP_SMD_DOC_SCH_IDX on SMP_SERVICE_METADATA (DOCUMENT_SCHEME);
+
+    alter table SMP_SERVICE_METADATA 
+       add constraint SMP_MT_UNIQ_SG_DOC_IDX unique (FK_SG_DOM_ID, DOCUMENT_IDENTIFIER, DOCUMENT_SCHEME);
+
+    alter table SMP_USER 
+       add constraint UK_rt1f0anklfo05lt0my05fqq6 unique (USERNAME);
+
+    alter table SMP_CERTIFICATE 
+       add constraint FKayqgpj5ot3o8vrpduul7sstta 
+       foreign key (ID) 
+       references SMP_USER;
+
+    alter table SMP_CERTIFICATE_AUD 
+       add constraint FKnrwm8en8vv10li8ihwnurwd9e 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_DOMAIN_AUD 
+       add constraint FK35qm8xmi74kfenugeonijodsg 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_OWNERSHIP 
+       add constraint FKrnqwq06lbfwciup4rj8nvjpmy 
+       foreign key (FK_USER_ID) 
+       references SMP_USER;
+
+    alter table SMP_OWNERSHIP 
+       add constraint FKgexq5n6ftsid8ehqljvjh8p4i 
+       foreign key (FK_SG_ID) 
+       references SMP_SERVICE_GROUP;
+
+    alter table SMP_OWNERSHIP_AUD 
+       add constraint FK1lqynlbk8ow1ouxetf5wybk3k 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SERVICE_GROUP_AUD 
+       add constraint FKj3caimhegwyav1scpwrxoslef 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SERVICE_GROUP_DOMAIN 
+       add constraint FKo186xtefda6avl5p1tuqchp3n 
+       foreign key (FK_DOMAIN_ID) 
+       references SMP_DOMAIN;
+
+    alter table SMP_SERVICE_GROUP_DOMAIN 
+       add constraint FKgcvhnk2n34d3c6jhni5l3s3x3 
+       foreign key (FK_SG_ID) 
+       references SMP_SERVICE_GROUP;
+
+    alter table SMP_SERVICE_GROUP_DOMAIN_AUD 
+       add constraint FK6uc9r0eqw16baooxtmqjkih0j 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SERVICE_METADATA 
+       add constraint FKfvcml6b8x7kn80m30h8pxs7jl 
+       foreign key (FK_SG_DOM_ID) 
+       references SMP_SERVICE_GROUP_DOMAIN;
+
+    alter table SMP_SERVICE_METADATA_AUD 
+       add constraint FKbqr9pdnik1qxx2hi0xn4n7f61 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SERVICE_METADATA_XML 
+       add constraint FK4b1x06xlavcgbjnuilgksi7nm 
+       foreign key (ID) 
+       references SMP_SERVICE_METADATA;
+
+    alter table SMP_SERVICE_METADATA_XML_AUD 
+       add constraint FKevatmlvvwoxfnjxkvmokkencb 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SG_EXTENSION 
+       add constraint FKtf0mfonugp2jbkqo2o142chib 
+       foreign key (ID) 
+       references SMP_SERVICE_GROUP;
+
+    alter table SMP_SG_EXTENSION_AUD 
+       add constraint FKmdo9v2422adwyebvl34qa3ap6 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_USER_AUD 
+       add constraint FK2786r5minnkai3d22b191iiiq 
+       foreign key (REV) 
+       references SMP_REV_INFO;
diff --git a/smp-webapp/src/test/resources/migration/mysql-init-data-4.0.sql b/smp-webapp/src/test/resources/migration/mysql-init-data-4.0.sql
new file mode 100644
index 0000000000000000000000000000000000000000..f5ddd9ba2e8e8bfc09a640c0a33a940a41b10203
--- /dev/null
+++ b/smp-webapp/src/test/resources/migration/mysql-init-data-4.0.sql
@@ -0,0 +1,113 @@
+insert into smp_user(username, password, isadmin) values ('test_admin',                                '$2a$06$k.Q/6anG4Eq/nNTZ0C1UIuAKxpr6ra5oaMkMSrlESIyA5jKEsUdyS', 1);
+insert into smp_user(username, password, isadmin) values ('test_user_hashed_pass',                     '$2a$06$k.Q/6anG4Eq/nNTZ0C1UIuAKxpr6ra5oaMkMSrlESIyA5jKEsUdyS', 0);
+insert into smp_user(username, password, isadmin) values ('test_user_clear_pass',                      'gutek123',                                                     0);
+insert into smp_user(username, password, isadmin) values ('CN=comon name,O=org,C=BE:0000000000000066', '',                                                             0);
+Insert into smp_user (username,password,isadmin) values ('test','$2a$10$fvONLZ1J80Sj.4C2w0/UBuYxHEGoXLIZgZfxqEXoDSH8q3fbTcGJ6',0);
+Insert into smp_user (username,password,isadmin) values ('CN=GENERALERDS_AP_TEST_00000,O=European Commission,C=BE:e6588be5c376f78e',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=GENERALERDS_AP_TEST_00000/serialNumber\=1,O=European Commission,C=BE:e6588be5c376f78e',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=EHEALTH_SMP_TEST_BRAZIL,O=European Commission,C=BE:48b681ee8e0dcc08',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=EHEALTH_SMP_EC_PassedDate,O=European Commission,C=BE:00000000589C4C3B',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=EHEALTH_SMP_EC,O=European Commission,C=BE:f71ee8b11cb3b787',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=EHEALTH_AP_TEST_00000/serialNumber\=1,O=European Commission,C=BE:23b207cb468b8519',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=EHEALTH_AP_TEST_00000,O=European Commission,C=BE:23b207cb468b8519',null,0);
+Insert into smp_user (username,password,isadmin) values ('AdminSMP1TEST','$2a$10$vrTybiXuFJiGaCJksihuNeaLZnAKwjIcL7KYopxFyZdoRlzs9qZCm',1);
+Insert into smp_user (username,password,isadmin) values ('AdminSMP2TEST','$2a$10$OIRWlcLV7TXEoWr9SsxLk..vpHhNPDmBPxUjgCL/euNVHxhvtnhBi',1);
+Insert into smp_user (username,password,isadmin) values ('CN=GRP:SMP_TEST_\+\,& \=eau/emailAddress\=CEF-EDELIVERY-SUPPORT@ec.europa.eu/serialNumber\=1,O=European Commission,C=BE:6eef83f5ef06a05b',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=SMP_OpenPEPPOL SMK 003,O=OpenPEPPOL,C=BE:3b3b162e7d37dd2e50edc6d3378997e1',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=SMP_CONNECTIVITYTEST_05,O=Connectivity Test,C=BE:0000000000001052',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=SMP_CONNECTIVITYTEST_05/emailAddress/=CEF-EDELIVERY-SUPPORT@ec.europa.eu,O=Connectivity Test,C=BE:0000000000001052',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=EHEALTH_SMP_TEST_BRAZIL,O=European Commission,C=BE:0000000000000123',null,0);
+Insert into smp_user (username,password,isadmin) values ('CN=slash/backslash\\quote\"colon:_rfc2253special_ampersand&comma\,equals\=plus\+lessthan\<greaterthan\>hash\#semicolon\;end,O=DEẞßÄäPLżółćNOÆæØøÅå,C=PL:0000000000001010',null,1);
+Insert into smp_user (username,password,isadmin) values ('admin','$2a$10$jsZamGH2qv8SVnRy55bKOOXof0QbIOaOqsYT/Ujo2Eb7dVQxG0Hd6',0);
+
+
+
+Insert into smp_domain (domainId,bdmslClientCertHeader,bdmslClientCertAlias,bdmslSmpId,signatureCertAlias) values ('peppol','sno=3b3b162e7d37dd2e50edc6d3378997e1&subject=CN=SMP_OpenPEPPOL SMK 003,O=OpenPEPPOL,C=BE&validfrom=Oct 12 10:37:53 2016 CEST&validto=Oct 1 10:37:53 2018 CEST&issuer=CN=PEPPOL Root TEST CA,OU=FOR TEST PURPOSES ONLY,O=NATIONAL IT AND TELECOM AGENCY,C=DK',null,'CEF-TEST-PEPPOL-SMP',null);
+Insert into smp_domain (domainId,bdmslClientCertHeader,bdmslClientCertAlias,bdmslSmpId,signatureCertAlias) values ('default','sno=3b3b162e7d37dd2e50edc6d3378997e1&subject=CN=SMP_OpenPEPPOL SMK 003,O=OpenPEPPOL,C=BE&validfrom=Oct 12 10:37:53 2016 CEST&validto=Oct 1 10:37:53 2018 CEST&issuer=CN=PEPPOL Root TEST CA,OU=FOR TEST PURPOSES ONLY,O=NATIONAL IT AND TELECOM AGENCY,C=DK',null,'DEFAULT-SMP-ID',null);
+
+INSERT INTO smp_domain(domainId, bdmslClientCertHeader, bdmslClientCertAlias, bdmslSmpId, signatureCertAlias) VALUES('domain2', 'client-cert-header-value', '', 'SECOND-SMP-ID', 'signature-alias');
+INSERT INTO smp_domain(domainId, bdmslClientCertHeader, bdmslClientCertAlias, bdmslSmpId, signatureCertAlias) VALUES('domain3', '', 'client-keystore-alias-key', 'THIRD-SMP-ID', 'signature-alias');
+
+
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0088:5798000000113','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('urn:aaaa:ncpb','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0088:5798000000112','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0088:5798700000112','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:002:oasis','iso6523-actorid-upis','peppol','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:1238000000666','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0088:123456','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0002:gutek','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0088:918247451','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('00117770010100777','urn:oasis:names:tc:ebcore:partyid-type:iso6523:0088','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0088:5798000000120','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('urn:aaa:ncpb','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('urn:bbb:ncpb','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0077:7777717777777difi','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0088:777ehealth10100777','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('urn:ehealth:eu:ncp-idp','ehealth-participantid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829test2','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0088:1234567','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829dev1','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0088:7770010100777','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('urn:ro:ncpb','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('ro','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('ro-0001','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('ro-0002','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('it-0001','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('it-0002','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('bg-l001','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('bg-l002','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('it-l001','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('bg-lx001','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('bg-xx123','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('it-lx001','participant-demo-scheme','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0077:RP:TEST','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829dev01','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829dev02','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829dev03','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829:jrc:02','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829test','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('urn:ehealth:pt:ncpb-idp','ehealth-participantid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('urn:cipa:ncpb','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('urn:romania:ncpb','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829:jrc','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829:jrc:01','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:9340033829testsupport','iso6523-actorid-upis','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('urn:poland:ncpb','ehealth-actorid-qns','default','<Extension></Extension>');
+Insert into smp_service_group (businessidentifier,businessidentifierScheme,domainId, xmlContent) values ('0007:001:oasis','iso6523-actorid-upis','peppol','<Extension></Extension>');
+
+
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('AdminSMP1TEST','0007:001:oasis','iso6523-actorid-upis');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('AdminSMP1TEST','0007:002:oasis','iso6523-actorid-upis');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('AdminSMP1TEST','00117770010100777','urn:oasis:names:tc:ebcore:partyid-type:iso6523:0088');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('AdminSMP1TEST','0077:7777717777777difi','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('AdminSMP1TEST','0077:RP:TEST','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('AdminSMP1TEST','0088:7770010100777','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=EHEALTH_AP_TEST_00000,O=European Commission,C=BE:23b207cb468b8519','urn:ehealth:pt:ncpb-idp','ehealth-participantid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=EHEALTH_SMP_EC,O=European Commission,C=BE:f71ee8b11cb3b787','0007:9340033829dev01','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=EHEALTH_SMP_EC,O=European Commission,C=BE:f71ee8b11cb3b787','0007:9340033829dev02','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=EHEALTH_SMP_EC,O=European Commission,C=BE:f71ee8b11cb3b787','0007:9340033829dev1','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=EHEALTH_SMP_EC,O=European Commission,C=BE:f71ee8b11cb3b787','0007:9340033829test2','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=EHEALTH_SMP_EC,O=European Commission,C=BE:f71ee8b11cb3b787','0088:777ehealth10100777','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=EHEALTH_SMP_TEST_BRAZIL,O=European Commission,C=BE:0000000000000123','urn:cipa:ncpb','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=EHEALTH_SMP_TEST_BRAZIL,O=European Commission,C=BE:48b681ee8e0dcc08','0088:5798000000120','iso6523-actorid-upis');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=GENERALERDS_AP_TEST_00000,O=European Commission,C=BE:e6588be5c376f78e','0088:123456','iso6523-actorid-upis');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=GENERALERDS_AP_TEST_00000,O=European Commission,C=BE:e6588be5c376f78e','0088:1234567','iso6523-actorid-upis');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=GENERALERDS_AP_TEST_00000,O=European Commission,C=BE:e6588be5c376f78e','0088:918247451','iso6523-actorid-upis');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=SMP_CONNECTIVITYTEST_05,O=Connectivity Test,C=BE:0000000000001052','0007:9340033829:jrc:02','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=SMP_OpenPEPPOL SMK 003,O=OpenPEPPOL,C=BE:3b3b162e7d37dd2e50edc6d3378997e1','0007:9340033829:jrc','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=SMP_OpenPEPPOL SMK 003,O=OpenPEPPOL,C=BE:3b3b162e7d37dd2e50edc6d3378997e1','0007:9340033829:jrc:01','ehealth-actorid-qns');
+Insert into smp_ownership (username,businessidentifier,businessidentifierScheme) values ('CN=SMP_OpenPEPPOL SMK 003,O=OpenPEPPOL,C=BE:3b3b162e7d37dd2e50edc6d3378997e1','0007:9340033829dev03','ehealth-actorid-qns');
+
+
+Insert into smp_service_metadata (documentidentifierscheme,businessidentifier,businessidentifierScheme,documentidentifier, xmlContent) values ('busdox-docid-qns','0007:001:oasis','iso6523-actorid-upis','urn:oasis:names:specification:ubl:schema:xsd:creditnote-2::creditnote##urn:www.cenbii.eu:transaction:biitrns014:ver2.0:extended:urn:www.peppol.eu:bis:peppol5a:ver2.0::2.1', '<Metadata>invalid example :)</Metadata>');
+Insert into smp_service_metadata (documentidentifierscheme,businessidentifier,businessidentifierScheme,documentidentifier, xmlContent) values ('busdox-docid-qns','0007:002:oasis','iso6523-actorid-upis','urn:oasis:names:specification:ubl:schema:xsd:creditnote-2::creditnote##urn:www.cenbii.eu:transaction:biitrns014:ver2.0:extended:urn:www.peppol.eu:bis:peppol5a:ver2.0::2.1', '<Metadata>invalid example :)</Metadata>');
+Insert into smp_service_metadata (documentidentifierscheme,businessidentifier,businessidentifierScheme,documentidentifier, xmlContent) values ('busdox-docid-qns','0007:9340033829dev1','ehealth-actorid-qns','urn:oasis:names:specification:ubl:schema:xsd:invoice-2::invoice##urn:www.cenbii.eu:transaction:biitrns010:ver2.0:extended:urn:www.peppol.eu:bis:peppol5a:ver2.0::2.2', '<Metadata>invalid example :)</Metadata>');
+Insert into smp_service_metadata (documentidentifierscheme,businessidentifier,businessidentifierScheme,documentidentifier, xmlContent) values ('busdox-docid-qns','0007:9340033829test','iso6523-actorid-upis','urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:www.cenbii.eu:transaction:biitrns014:ver2.0:extended:urn:www.peppol.eu:bis:peppol5a:ver2.0::2.1', '<Metadata>invalid example :)</Metadata>');
+Insert into smp_service_metadata (documentidentifierscheme,businessidentifier,businessidentifierScheme,documentidentifier, xmlContent) values ('busdox-docid-qns','0007:9340033829test','iso6523-actorid-upis','urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:www.cenbii.eu:transaction:biitrns010:ver2.0:extended:urn:www.peppol.eu:bis:peppol5a:ver2.0::2.1', '<Metadata>invalid example :)</Metadata>');
+Insert into smp_service_metadata (documentidentifierscheme,businessidentifier,businessidentifierScheme,documentidentifier, xmlContent) values ('busdox-docid-qns','0007:9340033829test2','ehealth-actorid-qns','urn:oasis:names:specification:ubl:schema:xsd:creditnote-2::creditnote##urn:www.cenbii.eu:transaction:biitrns014:ver2.0:extended:urn:www.peppol.eu:bis:peppol5a:ver2.0::2.1', '<Metadata>invalid example :)</Metadata>');
+Insert into smp_service_metadata (documentidentifierscheme,businessidentifier,businessidentifierScheme,documentidentifier, xmlContent) values ('busdox-docid-qns','0007:9340033829test2','ehealth-actorid-qns','urn:oasis:names:specification:ubl:schema:xsd:invoice-2::invoice##urn:www.cenbii.eu:transaction:biitrns010:ver2.0:extended:urn:www.peppol.eu:bis:peppol5a:ver2.0::2.1', '<Metadata>invalid example :)</Metadata>');
+Insert into smp_service_metadata (documentidentifierscheme,businessidentifier,businessidentifierScheme,documentidentifier, xmlContent) values ('busdox-docid-qns','0007:9340033829testsupport','iso6523-actorid-upis','urn:oasis:names:specification:ubl:schema:xsd:Invoice-12::Invoice##urn:www.cenbii.eu:transaction:biicoretrdm010:ver1.0:#urn:www.peppol.eu:bis:peppol5a:ver2.0::2.1', '<Metadata>invalid example :)</Metadata>');
+Insert into smp_service_metadata (documentidentifierscheme,businessidentifier,businessidentifierScheme,documentidentifier, xmlContent) values ('busdox-docid-qns','0088:5798000000112','iso6523-actorid-upis','urn:oasis:names:specification:ubl:schema:xsd:Invoice-12::Invoice##urn:www.cenbii.eu:transaction:biicoretrdm010:ver1.0:#urn:www.peppol.eu:bis:peppol4a:ver1.0::2.0', '<Metadata>invalid example :)</Metadata>');
+
+
diff --git a/smp-webapp/src/test/resources/migration/test-migration.sh b/smp-webapp/src/test/resources/migration/test-migration.sh
new file mode 100755
index 0000000000000000000000000000000000000000..9898cf58fc697eac016d72bce96af3d4845b7136
--- /dev/null
+++ b/smp-webapp/src/test/resources/migration/test-migration.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+
+
+SQLFOLDER=../smp-setup/database-scripts
+DATABASE=smpmig
+DB_USERNAME=smpmig;
+DB_PASSWORD=smpmig;
+
+
+# recreate database
+echo "clean database"
+mysql -h localhost -u root --password=root -e "drop schema if exists $DATABASE;DROP USER IF EXISTS $DB_USERNAME;  create schema $DATABASE;alter database $DATABASE charset=utf8; create user $DB_USERNAME identified by '$DB_PASSWORD';grant all on $DATABASE.* to $DB_USERNAME;"
+echo "create database"
+
+# create old database 
+mysql -h localhost -u root --password=root $DATABASE < "$SQLFOLDER/mysql5innodb-4.0.0.ddl"
+
+echo "init data for old database"
+mysql -h localhost -u root --password=root $DATABASE < "mysql-init-data-4.0.sql"
+
+echo "database created - run migration"
+mysql -h localhost -u root --password=root $DATABASE < "$SQLFOLDER/migration from 4.0.x to 4.1.0/mysql5innoDb_4.0_to_4.1.sql"
+
+
+