From 163f472cb3f29705b169289d9274ba3e29b9f094 Mon Sep 17 00:00:00 2001
From: Sebastian-Ion TINCU <Sebastian-Ion.TINCU@ext.ec.europa.eu>
Date: Fri, 2 Feb 2024 11:22:22 +0100
Subject: [PATCH] EDELIVERY-11315 Update Property Names and Description

Update service group and service metadata names.
Fix issue with the Oracle data script.
---
 smp-angular/src/app/app.component.ts          |  2 +-
 smp-angular/src/app/app.module.ts             |  4 +-
 smp-angular/src/app/app.routes.ts             |  4 +-
 smp-angular/src/app/common/global-lookups.ts  |  2 +-
 .../document-wizard-dialog.component.ts       |  1 -
 .../resource-document-panel.component.ts      |  2 +-
 ...oller.ts => resource-search-controller.ts} |  8 +--
 ...o.model.ts => resource-search-ro.model.ts} |  6 +-
 ...nent.css => resource-search.component.css} |  0
 ...nt.html => resource-search.component.html} |  0
 ...ponent.ts => resource-search.component.ts} | 20 +++----
 ...odel.ts => subresource-search-ro.model.ts} |  2 +-
 smp-angular/src/app/smp.constants.ts          | 19 ------
 .../europa/ec/smp/spi/OasisSMPExtension.java  | 16 ++---
 .../europa/ec/smp/spi/converter/DomUtils.java | 12 ++--
 ...ceGroup10.java => OasisSMPResource10.java} | 18 +++---
 ...ceGroup20.java => OasisSMPResource20.java} | 18 +++---
 ...data10.java => OasisSMPSubresource10.java} | 12 ++--
 ...data20.java => OasisSMPSubresource20.java} | 12 ++--
 ...er.java => OasisSMPResource10Handler.java} | 58 +++++++++----------
 ...er.java => OasisSMPResource20Handler.java} | 56 +++++++++---------
 ...java => OasisSMPSubresource10Handler.java} | 28 ++++-----
 ...java => OasisSMPSubresource20Handler.java} | 44 +++++++-------
 ...dator.java => Subresource10Validator.java} | 16 ++---
 ...dator.java => Subresource20Validator.java} | 20 +++----
 .../ec/smp/spi/OasisSMPExtensionTest.java     | 14 ++---
 ...erTest.java => ResourceConverterTest.java} | 12 ++--
 ...est.java => SubresourceConverterTest.java} | 38 ++++++------
 ...0Test.java => OasisSMPResource10Test.java} | 14 ++---
 ...0Test.java => OasisSMPResource20Test.java} | 14 ++---
 ...st.java => OasisSMPSubresource10Test.java} | 10 ++--
 ...st.java => OasisSMPSubresource20Test.java} | 10 ++--
 .../smp/spi/handler/AbstractHandlerTest.java  |  8 +--
 ...ava => OasisSMPResource10HandlerTest.java} | 16 ++---
 ...ava => OasisSMPResource20HandlerTest.java} | 16 ++---
 ... => OasisSMPSubresource10HandlerTest.java} | 20 +++----
 ... => OasisSMPSubresource20HandlerTest.java} | 20 +++----
 ...idScheme.xml => ResourceInvalidScheme.xml} |  0
 .../{ServiceGroupOK.xml => ResourceOK.xml}    |  0
 ...ithDOCTYPE.xml => ResourceWithDOCTYPE.xml} |  0
 ...xtension.xml => ResourceWithExtension.xml} |  0
 ... => SubresourceMissingMandatoryFields.xml} |  0
 ...DOCTYPE.xml => SubresourceWithDOCTYPE.xml} |  0
 ...direct.xml => SubresourceWithRedirect.xml} |  0
 ...SubresourceWithServiceInformationUtf8.xml} |  0
 ...iceOk.xml => SubresourceWithServiceOk.xml} |  0
 ... => resource_unsigned_invalid_iso6523.xml} |  0
 ...resource_unsigned_invalid_iso6523_DTD.xml} |  0
 ..._unsigned_valid_iso6523-no-references.xml} |  0
 ...ml => resource_unsigned_valid_iso6523.xml} |  0
 ... subresource_unsigned_invalid_iso6523.xml} |  0
 ...resource_unsigned_invalid_iso6523_DTD.xml} |  0
 ...resource_unsigned_redirection_iso6523.xml} |  0
 ...=> subresource_unsigned_valid_iso6523.xml} |  0
 ...viceGroupPoland.xml => ResourcePoland.xml} |  0
 ...oupTestSgId2.xml => ResourceTestSgId2.xml} |  0
 ...Poland.xml => SignedSubresourcePoland.xml} |  0
 ...SubresourceDifferentCertificatesTypes.xml} |  0
 ...tadataPoland.xml => SubresourcePoland.xml} |  0
 .../resource/ResourceHandlerServiceTest.java  | 21 ++++---
 .../services/ui/UIDocumentServiceTest.java    | 12 ++--
 .../database-scripts/oracle10g-data.sql       | 11 +++-
 62 files changed, 300 insertions(+), 316 deletions(-)
 rename smp-angular/src/app/service-group-search/{service-group-search-controller.ts => resource-search-controller.ts} (88%)
 rename smp-angular/src/app/service-group-search/{service-group-search-ro.model.ts => resource-search-ro.model.ts} (51%)
 rename smp-angular/src/app/service-group-search/{service-group-search.component.css => resource-search.component.css} (100%)
 rename smp-angular/src/app/service-group-search/{service-group-search.component.html => resource-search.component.html} (100%)
 rename smp-angular/src/app/service-group-search/{service-group-search.component.ts => resource-search.component.ts} (81%)
 rename smp-angular/src/app/service-group-search/{service-metadata-search-ro.model.ts => subresource-search-ro.model.ts} (77%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/{OasisSMPServiceGroup10.java => OasisSMPResource10.java} (78%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/{OasisSMPServiceGroup20.java => OasisSMPResource20.java} (78%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/{OasisSMPServiceMetadata10.java => OasisSMPSubresource10.java} (83%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/{OasisSMPServiceMetadata20.java => OasisSMPSubresource20.java} (83%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/{OasisSMPServiceGroup10Handler.java => OasisSMPResource10Handler.java} (80%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/{OasisSMPServiceGroup20Handler.java => OasisSMPResource20Handler.java} (81%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/{OasisSMPServiceMetadata10Handler.java => OasisSMPSubresource10Handler.java} (91%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/{OasisSMPServiceMetadata20Handler.java => OasisSMPSubresource20Handler.java} (87%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/{ServiceMetadata10Validator.java => Subresource10Validator.java} (91%)
 rename smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/{ServiceMetadata20Validator.java => Subresource20Validator.java} (88%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/{ServiceGroupConverterTest.java => ResourceConverterTest.java} (87%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/{ServiceMetadataConverterTest.java => SubresourceConverterTest.java} (78%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/{OasisSMPServiceGroup10Test.java => OasisSMPResource10Test.java} (80%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/{OasisSMPServiceGroup20Test.java => OasisSMPResource20Test.java} (80%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/{OasisSMPServiceMetadata10Test.java => OasisSMPSubresource10Test.java} (84%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/{OasisSMPServiceMetadata20Test.java => OasisSMPSubresource20Test.java} (84%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/{OasisSMPServiceGroup10HandlerTest.java => OasisSMPResource10HandlerTest.java} (85%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/{OasisSMPServiceGroup20HandlerTest.java => OasisSMPResource20HandlerTest.java} (82%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/{OasisSMPServiceMetadata10HandlerTest.java => OasisSMPSubresource10HandlerTest.java} (84%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/{OasisSMPServiceMetadata20HandlerTest.java => OasisSMPSubresource20HandlerTest.java} (78%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/{ServiceGroupInvalidScheme.xml => ResourceInvalidScheme.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/{ServiceGroupOK.xml => ResourceOK.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/{ServiceGroupWithDOCTYPE.xml => ResourceWithDOCTYPE.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/{ServiceGroupWithExtension.xml => ResourceWithExtension.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/{ServiceMetadataMissingMandatoryFields.xml => SubresourceMissingMandatoryFields.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/{ServiceMetadataWithDOCTYPE.xml => SubresourceWithDOCTYPE.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/{ServiceMetadataWithRedirect.xml => SubresourceWithRedirect.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/{ServiceMetadataWithServiceInformationUtf8.xml => SubresourceWithServiceInformationUtf8.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/{ServiceMetadataWithServiceOk.xml => SubresourceWithServiceOk.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/{service_group_unsigned_invalid_iso6523.xml => resource_unsigned_invalid_iso6523.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/{service_group_unsigned_invalid_iso6523_DTD.xml => resource_unsigned_invalid_iso6523_DTD.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/{service_group_unsigned_valid_iso6523-no-references.xml => resource_unsigned_valid_iso6523-no-references.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/{service_group_unsigned_valid_iso6523.xml => resource_unsigned_valid_iso6523.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/{service_metadata_unsigned_invalid_iso6523.xml => subresource_unsigned_invalid_iso6523.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/{service_metadata_unsigned_invalid_iso6523_DTD.xml => subresource_unsigned_invalid_iso6523_DTD.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/{service_metadata_unsigned_redirection_iso6523.xml => subresource_unsigned_redirection_iso6523.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/{service_metadata_unsigned_valid_iso6523.xml => subresource_unsigned_valid_iso6523.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/{ServiceGroupPoland.xml => ResourcePoland.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/{ServiceGroupTestSgId2.xml => ResourceTestSgId2.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/{SignedServiceMetadataPoland.xml => SignedSubresourcePoland.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/{ServiceMetadataDifferentCertificatesTypes.xml => SubresourceDifferentCertificatesTypes.xml} (100%)
 rename smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/{ServiceMetadataPoland.xml => SubresourcePoland.xml} (100%)

diff --git a/smp-angular/src/app/app.component.ts b/smp-angular/src/app/app.component.ts
index 4efa603e3..721675e50 100644
--- a/smp-angular/src/app/app.component.ts
+++ b/smp-angular/src/app/app.component.ts
@@ -67,7 +67,7 @@ export class AppComponent {
     } else if (this.securityService.isCurrentUserSMPAdmin()) {
       return "SMP administrator";
     } else if (this.securityService.isCurrentUserServiceGroupAdmin()) {
-      return "Service group administrator";
+      return "Resource administrator";
     }
     return "";
   }
diff --git a/smp-angular/src/app/app.module.ts b/smp-angular/src/app/app.module.ts
index fe118c321..4631eb954 100644
--- a/smp-angular/src/app/app.module.ts
+++ b/smp-angular/src/app/app.module.ts
@@ -129,7 +129,7 @@ import {SmpWarningPanelComponent} from "./common/components/smp-warning-panel/sm
 import {ManageMembersDialogComponent} from "./common/dialogs/manage-members-dialog/manage-members-dialog.component";
 import {HttpErrorHandlerService} from "./common/error/http-error-handler.service";
 import {SmpTitledLabelComponent} from "./common/components/smp-titled-label/smp-titled-label.component";
-import {ServiceGroupSearchComponent} from "./service-group-search/service-group-search.component";
+import {ResourceSearchComponent} from "./service-group-search/resource-search.component";
 import {EditResourceController} from "./edit/edit-resources/edit-resource.controller";
 import { ClipboardModule } from '@angular/cdk/clipboard';
 import {CertificateService} from "./common/services/certificate.service";
@@ -203,7 +203,7 @@ import {UserAlertsComponent} from "./user-settings/user-alerts/user-alerts.compo
     RowLimiterComponent,
     SaveDialogComponent,
     SearchTableComponent,
-    ServiceGroupSearchComponent,
+    ResourceSearchComponent,
     SidenavComponent,
     SmpFieldErrorComponent,
     SmpLabelComponent,
diff --git a/smp-angular/src/app/app.routes.ts b/smp-angular/src/app/app.routes.ts
index 0574a6854..f12ed49dd 100644
--- a/smp-angular/src/app/app.routes.ts
+++ b/smp-angular/src/app/app.routes.ts
@@ -1,6 +1,6 @@
 import {RouterModule, Routes} from '@angular/router';
 import {LoginComponent} from './login/login.component';
-import {ServiceGroupSearchComponent} from './service-group-search/service-group-search.component';
+import {ResourceSearchComponent} from './service-group-search/resource-search.component';
 import {PropertyComponent} from "./system-settings/admin-properties/property.component";
 import {UserProfileComponent} from "./user-settings/user-profile/user-profile.component";
 import {authenticationGuard} from "./guards/authentication.guard";
@@ -25,7 +25,7 @@ import {AdminAlertsComponent} from "./system-settings/admin-alerts/admin-alerts.
 
 const appRoutes: Routes = [
 
-  {path: '', component: ServiceGroupSearchComponent},
+  {path: '', component: ResourceSearchComponent},
   {path: 'search', redirectTo: ''},
   {path: 'login', component: LoginComponent},
   {
diff --git a/smp-angular/src/app/common/global-lookups.ts b/smp-angular/src/app/common/global-lookups.ts
index 941203e90..96ad181ce 100644
--- a/smp-angular/src/app/common/global-lookups.ts
+++ b/smp-angular/src/app/common/global-lookups.ts
@@ -134,7 +134,7 @@ export class GlobalLookups {
         .set('page', '-1')
         .set('pageSize', '-1');
 
-      // return only smp and service group admins..
+      // return only smp and resource admins...
       if (this.securityService.isCurrentUserSMPAdmin()) {
         params = params.set('roles', Role.SMP_ADMIN + "," + Role.SERVICE_GROUP_ADMIN);
       }
diff --git a/smp-angular/src/app/edit/edit-resources/document-wizard-dialog/document-wizard-dialog.component.ts b/smp-angular/src/app/edit/edit-resources/document-wizard-dialog/document-wizard-dialog.component.ts
index ddda1667c..fdbd127e9 100644
--- a/smp-angular/src/app/edit/edit-resources/document-wizard-dialog/document-wizard-dialog.component.ts
+++ b/smp-angular/src/app/edit/edit-resources/document-wizard-dialog/document-wizard-dialog.component.ts
@@ -4,7 +4,6 @@ import {UntypedFormBuilder, UntypedFormControl, UntypedFormGroup} from "@angular
 import {ResourceRo} from "../../../common/model/resource-ro.model";
 
 @Component({
-  selector: 'service-group-extension-wizard',
   templateUrl: './document-wizard-dialog.component.html',
   styleUrls:  ['./document-wizard-dialog.component.css']
 })
diff --git a/smp-angular/src/app/edit/edit-resources/resource-document-panel/resource-document-panel.component.ts b/smp-angular/src/app/edit/edit-resources/resource-document-panel/resource-document-panel.component.ts
index 4cdbf6000..3b3566ba9 100644
--- a/smp-angular/src/app/edit/edit-resources/resource-document-panel/resource-document-panel.component.ts
+++ b/smp-angular/src/app/edit/edit-resources/resource-document-panel/resource-document-panel.component.ts
@@ -195,7 +195,7 @@ export class ResourceDocumentPanelComponent implements AfterViewInit, BeforeLeav
 
     const formRef: MatDialogRef<any> = this.dialog.open(DocumentWizardDialogComponent, {
       data: {
-        title: "Service group wizard",
+        title: "Resource wizard",
         resource: this._resource,
 
       }
diff --git a/smp-angular/src/app/service-group-search/service-group-search-controller.ts b/smp-angular/src/app/service-group-search/resource-search-controller.ts
similarity index 88%
rename from smp-angular/src/app/service-group-search/service-group-search-controller.ts
rename to smp-angular/src/app/service-group-search/resource-search-controller.ts
index 0cd08e5fd..8e889e05a 100644
--- a/smp-angular/src/app/service-group-search/service-group-search-controller.ts
+++ b/smp-angular/src/app/service-group-search/resource-search-controller.ts
@@ -1,11 +1,11 @@
 import {SearchTableController} from '../common/search-table/search-table-controller';
 import {MatDialog, MatDialogConfig, MatDialogRef} from '@angular/material/dialog';
-import {ServiceGroupSearchRo} from './service-group-search-ro.model';
+import {ResourceSearchRo} from './resource-search-ro.model';
 import {of} from "rxjs/internal/observable/of";
 import {SearchTableValidationResult} from "../common/search-table/search-table-validation-result.model";
 import {SearchTableEntity} from "../common/search-table/search-table-entity.model";
 
-export class ServiceGroupSearchController implements SearchTableController {
+export class ResourceSearchController implements SearchTableController {
 
   constructor(public dialog: MatDialog) { }
 
@@ -30,7 +30,7 @@ export class ServiceGroupSearchController implements SearchTableController {
     }
   }
 
-  public newRow(): ServiceGroupSearchRo {
+  public newRow(): ResourceSearchRo {
     return null;
   }
 
@@ -48,7 +48,7 @@ export class ServiceGroupSearchController implements SearchTableController {
   }
 
   isRowExpanderDisabled(row: SearchTableEntity): boolean {
-    const serviceGroup = <ServiceGroupSearchRo>row;
+    const serviceGroup = <ResourceSearchRo>row;
     return !(serviceGroup.serviceMetadata && serviceGroup.serviceMetadata.length);
   }
 
diff --git a/smp-angular/src/app/service-group-search/service-group-search-ro.model.ts b/smp-angular/src/app/service-group-search/resource-search-ro.model.ts
similarity index 51%
rename from smp-angular/src/app/service-group-search/service-group-search-ro.model.ts
rename to smp-angular/src/app/service-group-search/resource-search-ro.model.ts
index 7c52053e0..08709f8d9 100644
--- a/smp-angular/src/app/service-group-search/service-group-search-ro.model.ts
+++ b/smp-angular/src/app/service-group-search/resource-search-ro.model.ts
@@ -1,10 +1,10 @@
-import { ServiceMetadataSearchRo } from './service-metadata-search-ro.model';
+import { SubresourceSearchRo } from './subresource-search-ro.model';
 import {SearchTableEntity} from "../common/search-table/search-table-entity.model";
 
-export interface ServiceGroupSearchRo extends SearchTableEntity {
+export interface ResourceSearchRo extends SearchTableEntity {
   participantIdentifier: string;
   participantScheme: string;
   domainCode?:string;
   resourceDefUrlSegment?:string;
-  serviceMetadata: Array<ServiceMetadataSearchRo>;
+  serviceMetadata: Array<SubresourceSearchRo>;
 }
diff --git a/smp-angular/src/app/service-group-search/service-group-search.component.css b/smp-angular/src/app/service-group-search/resource-search.component.css
similarity index 100%
rename from smp-angular/src/app/service-group-search/service-group-search.component.css
rename to smp-angular/src/app/service-group-search/resource-search.component.css
diff --git a/smp-angular/src/app/service-group-search/service-group-search.component.html b/smp-angular/src/app/service-group-search/resource-search.component.html
similarity index 100%
rename from smp-angular/src/app/service-group-search/service-group-search.component.html
rename to smp-angular/src/app/service-group-search/resource-search.component.html
diff --git a/smp-angular/src/app/service-group-search/service-group-search.component.ts b/smp-angular/src/app/service-group-search/resource-search.component.ts
similarity index 81%
rename from smp-angular/src/app/service-group-search/service-group-search.component.ts
rename to smp-angular/src/app/service-group-search/resource-search.component.ts
index a5ec61a60..5eb4052e2 100644
--- a/smp-angular/src/app/service-group-search/service-group-search.component.ts
+++ b/smp-angular/src/app/service-group-search/resource-search.component.ts
@@ -11,26 +11,26 @@ import {
 import {ColumnPicker} from '../common/column-picker/column-picker.model';
 import {MatDialog} from '@angular/material/dialog';
 import {AlertMessageService} from '../common/alert-message/alert-message.service';
-import {ServiceGroupSearchController} from './service-group-search-controller';
+import {ResourceSearchController} from './resource-search-controller';
 import {HttpClient} from '@angular/common/http';
 import {SmpConstants} from "../smp.constants";
 import {GlobalLookups} from "../common/global-lookups";
 import {SearchTableComponent} from "../common/search-table/search-table.component";
-import {ServiceGroupSearchRo} from "./service-group-search-ro.model";
-import {ServiceMetadataSearchRo} from "./service-metadata-search-ro.model";
+import {ResourceSearchRo} from "./resource-search-ro.model";
+import {SubresourceSearchRo} from "./subresource-search-ro.model";
 
 @Component({
-  templateUrl: './service-group-search.component.html',
-  styleUrls: ['./service-group-search.component.css']
+  templateUrl: './resource-search.component.html',
+  styleUrls: ['./resource-search.component.css']
 })
-export class ServiceGroupSearchComponent implements OnInit, AfterViewInit, AfterViewChecked {
+export class ResourceSearchComponent implements OnInit, AfterViewInit, AfterViewChecked {
 
   @ViewChild('rowSMPUrlLinkAction', {static: true}) rowSMPUrlLinkAction: TemplateRef<any>
   @ViewChild('rowActions', {static: true}) rowActions: TemplateRef<any>;
   @ViewChild('searchTable', {static: true}) searchTable: SearchTableComponent;
 
   columnPicker: ColumnPicker = new ColumnPicker();
-  serviceGroupSearchController: ServiceGroupSearchController;
+  serviceGroupSearchController: ResourceSearchController;
   filter: any = {};
   contextPath: string = location.pathname.substring(0, location.pathname.length - 3); // remove /ui s
   baseUrl: string;
@@ -46,7 +46,7 @@ export class ServiceGroupSearchComponent implements OnInit, AfterViewInit, After
   }
 
   ngOnInit(): void {
-    this.serviceGroupSearchController = new ServiceGroupSearchController(this.dialog);
+    this.serviceGroupSearchController = new ResourceSearchController(this.dialog);
   }
 
   initColumns(): void {
@@ -102,14 +102,14 @@ export class ServiceGroupSearchComponent implements OnInit, AfterViewInit, After
     this.initColumns();
   }
 
-  createServiceGroupURL(row: ServiceGroupSearchRo) {
+  createServiceGroupURL(row: ResourceSearchRo) {
 
     return (!row?.domainCode? "" : row.domainCode+ '/')
           + (!row?.resourceDefUrlSegment?"" : row.resourceDefUrlSegment + '/')
           + encodeURIComponent((!row.participantScheme ? '' : row.participantScheme) + '::' + row.participantIdentifier);
   }
 
-  createServiceMetadataURL(row: ServiceGroupSearchRo, rowSMD: ServiceMetadataSearchRo) {
+  createServiceMetadataURL(row: ResourceSearchRo, rowSMD: SubresourceSearchRo) {
 
     return this.createServiceGroupURL(row)
             + '/' + rowSMD.subresourceDefUrlSegment + '/'
diff --git a/smp-angular/src/app/service-group-search/service-metadata-search-ro.model.ts b/smp-angular/src/app/service-group-search/subresource-search-ro.model.ts
similarity index 77%
rename from smp-angular/src/app/service-group-search/service-metadata-search-ro.model.ts
rename to smp-angular/src/app/service-group-search/subresource-search-ro.model.ts
index ddee88c85..989f6948c 100644
--- a/smp-angular/src/app/service-group-search/service-metadata-search-ro.model.ts
+++ b/smp-angular/src/app/service-group-search/subresource-search-ro.model.ts
@@ -1,6 +1,6 @@
 import {SearchTableEntity} from "../common/search-table/search-table-entity.model";
 
-export interface ServiceMetadataSearchRo extends SearchTableEntity {
+export interface SubresourceSearchRo extends SearchTableEntity {
   documentIdentifier: string;
   documentIdentifierScheme: string;
   smlSubdomain: string;
diff --git a/smp-angular/src/app/smp.constants.ts b/smp-angular/src/app/smp.constants.ts
index 26958823a..a4c282d6a 100644
--- a/smp-angular/src/app/smp.constants.ts
+++ b/smp-angular/src/app/smp.constants.ts
@@ -153,25 +153,6 @@ export class SmpConstants {
   public static readonly REST_PUBLIC_SECURITY_AUTHENTICATION = SmpConstants.REST_PUBLIC_SECURITY + 'authentication';
   public static readonly REST_PUBLIC_SECURITY_USER = SmpConstants.REST_PUBLIC_SECURITY + 'user';
 
-  public static readonly REST_PUBLIC_RESOURCE = SmpConstants.REST_PUBLIC + SmpConstants.PATH_RESOURCE_TYPE_RESOURCE;
-  public static readonly REST_PUBLIC_RESOURCE_EDIT = SmpConstants.REST_PUBLIC_RESOURCE + '/' + SmpConstants.PATH_PARAM_ENC_USER_ID
-    + '/' + SmpConstants.PATH_RESOURCE_TYPE_GROUP + '/' + SmpConstants.PATH_PARAM_ENC_GROUP_ID;
-
-
-  public static readonly REST_PUBLIC_RESOURCE_EDIT_DELETE = SmpConstants.REST_PUBLIC_RESOURCE_EDIT +
-    '/' + SmpConstants.PATH_RESOURCE_TYPE_RESOURCE + '/' + SmpConstants.PATH_PARAM_ENC_RESOURCE_ID + '/' + SmpConstants.PATH_ACTION_DELETE;
-
-  public static readonly REST_PUBLIC_SERVICE_GROUP = SmpConstants.REST_PUBLIC + 'service-group';
-  public static readonly REST_PUBLIC_SERVICE_GROUP_ENTITY = SmpConstants.REST_PUBLIC_SERVICE_GROUP + '/' + SmpConstants.PATH_PARAM_SRV_GROUP_ID;
-  public static readonly REST_PUBLIC_SERVICE_GROUP_ENTITY_EXTENSION = SmpConstants.REST_PUBLIC_SERVICE_GROUP_ENTITY + '/extension';
-  // service group extension tools
-  public static readonly REST_SERVICE_GROUP_EXTENSION = `${SmpConstants.REST_PUBLIC_SERVICE_GROUP}/extension`;
-  public static readonly REST_SERVICE_GROUP_EXTENSION_VALIDATE = `${SmpConstants.REST_SERVICE_GROUP_EXTENSION}/validate`;
-
-  public static readonly REST_METADATA = SmpConstants.REST_PUBLIC + 'service-metadata';
-  public static readonly REST_METADATA_VALIDATE = `${SmpConstants.REST_METADATA}/validate`;
-
-
   //------------------------------
   // internal endpoints
   public static readonly REST_INTERNAL_ALERT_MANAGE = SmpConstants.REST_INTERNAL + SmpConstants.PATH_RESOURCE_TYPE_ALERT +
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/OasisSMPExtension.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/OasisSMPExtension.java
index 7f39507b3..818d9c97c 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/OasisSMPExtension.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/OasisSMPExtension.java
@@ -18,8 +18,8 @@
  */
 package eu.europa.ec.smp.spi;
 
-import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup20;
+import eu.europa.ec.smp.spi.def.OasisSMPResource10;
+import eu.europa.ec.smp.spi.def.OasisSMPResource20;
 import eu.europa.ec.smp.spi.resource.ResourceDefinitionSpi;
 import org.springframework.stereotype.Service;
 
@@ -36,13 +36,13 @@ import java.util.List;
 @Service
 public class OasisSMPExtension implements ExtensionInfo {
 
-    final OasisSMPServiceGroup10 oasisSMPServiceGroup10;
+    final OasisSMPResource10 oasisSMPResource10;
 
-    final OasisSMPServiceGroup20 oasisSMPServiceGroup20;
+    final OasisSMPResource20 oasisSMPResource20;
 
-    public OasisSMPExtension(OasisSMPServiceGroup10 oasisSMPServiceGroup10, OasisSMPServiceGroup20 oasisSMPServiceGroup20) {
-        this.oasisSMPServiceGroup10 = oasisSMPServiceGroup10;
-        this.oasisSMPServiceGroup20 = oasisSMPServiceGroup20;
+    public OasisSMPExtension(OasisSMPResource10 oasisSMPResource10, OasisSMPResource20 oasisSMPResource20) {
+        this.oasisSMPResource10 = oasisSMPResource10;
+        this.oasisSMPResource20 = oasisSMPResource20;
     }
 
     @Override
@@ -67,7 +67,7 @@ public class OasisSMPExtension implements ExtensionInfo {
 
     @Override
     public List<ResourceDefinitionSpi> resourceTypes() {
-        return Arrays.asList(oasisSMPServiceGroup10, oasisSMPServiceGroup20);
+        return Arrays.asList(oasisSMPResource10, oasisSMPResource20);
     }
 
     @Override
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/converter/DomUtils.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/converter/DomUtils.java
index a130fcead..2136aa850 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/converter/DomUtils.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/converter/DomUtils.java
@@ -65,8 +65,8 @@ public final class DomUtils {
      * @param serviceMetadataXml
      * @return w3d dom element
      */
-    public static Document toSignedServiceMetadata10Document(byte[] serviceMetadataXml) throws ResourceException {
-        LOG.debug("toSignedServiceMetadata10Document");
+    public static Document toSignedSubresource10Document(byte[] serviceMetadataXml) throws ResourceException {
+        LOG.debug("toSignedSubresource10Document");
         try {
             Document docServiceMetadata = parse(serviceMetadataXml);
             Document root = parse(DOC_SIGNED_SERVICE_METADATA_EMPTY.getBytes());
@@ -79,13 +79,13 @@ public final class DomUtils {
     }
 
 
-    public static Document parse(byte[] serviceMetadataXml) throws SAXException, IOException, ParserConfigurationException {
-        if (serviceMetadataXml == null) {
+    public static Document parse(byte[] subresourceXml) throws SAXException, IOException, ParserConfigurationException {
+        if (subresourceXml == null) {
             LOG.warn("ServiceMetadataXml bytearray is null!");
             return null;
         }
-        LOG.debug("Parse document with size [{}]", serviceMetadataXml.length);
-        InputStream inputStream = new ByteArrayInputStream(serviceMetadataXml);
+        LOG.debug("Parse document with size [{}]", subresourceXml.length);
+        InputStream inputStream = new ByteArrayInputStream(subresourceXml);
         return getDocumentBuilder().parse(inputStream);
     }
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPResource10.java
similarity index 78%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPResource10.java
index 74ccffa9c..4d8b77fbd 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPResource10.java
@@ -18,7 +18,7 @@
  */
 package eu.europa.ec.smp.spi.def;
 
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup10Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPResource10Handler;
 import eu.europa.ec.smp.spi.resource.ResourceDefinitionSpi;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import eu.europa.ec.smp.spi.resource.SubresourceDefinitionSpi;
@@ -35,15 +35,15 @@ import java.util.List;
  * @since 5.0
  */
 @Component
-public class OasisSMPServiceGroup10 implements ResourceDefinitionSpi {
+public class OasisSMPResource10 implements ResourceDefinitionSpi {
 
 
-    OasisSMPServiceGroup10Handler serviceGroup10Handler;
-    OasisSMPServiceMetadata10 oasisSMPServiceMetadata10;
+    OasisSMPResource10Handler resource10Handler;
+    OasisSMPSubresource10 oasisSMPSubresource10;
 
-    public OasisSMPServiceGroup10(OasisSMPServiceGroup10Handler serviceGroup10Handler,  OasisSMPServiceMetadata10 oasisSMPServiceMetadata10) {
-        this.serviceGroup10Handler = serviceGroup10Handler;
-        this.oasisSMPServiceMetadata10 = oasisSMPServiceMetadata10;
+    public OasisSMPResource10(OasisSMPResource10Handler resource10Handler, OasisSMPSubresource10 oasisSMPSubresource10) {
+        this.resource10Handler = resource10Handler;
+        this.oasisSMPSubresource10 = oasisSMPSubresource10;
     }
 
     @Override
@@ -73,12 +73,12 @@ public class OasisSMPServiceGroup10 implements ResourceDefinitionSpi {
 
     @Override
     public List<SubresourceDefinitionSpi> getSubresourceSpiList() {
-        return Collections.singletonList(oasisSMPServiceMetadata10);
+        return Collections.singletonList(oasisSMPSubresource10);
     }
 
     @Override
     public ResourceHandlerSpi getResourceHandler() {
-        return serviceGroup10Handler;
+        return resource10Handler;
     }
 
     @Override
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPResource20.java
similarity index 78%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPResource20.java
index e1f2b5493..74b1141eb 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPResource20.java
@@ -18,7 +18,7 @@
  */
 package eu.europa.ec.smp.spi.def;
 
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup20Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPResource20Handler;
 import eu.europa.ec.smp.spi.resource.ResourceDefinitionSpi;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import eu.europa.ec.smp.spi.resource.SubresourceDefinitionSpi;
@@ -35,15 +35,15 @@ import java.util.List;
  * @since 5.0
  */
 @Component
-public class OasisSMPServiceGroup20 implements ResourceDefinitionSpi {
+public class OasisSMPResource20 implements ResourceDefinitionSpi {
 
 
-    OasisSMPServiceGroup20Handler serviceGroup20Handler;
-    OasisSMPServiceMetadata20 oasisSMPServiceMetadata20;
+    OasisSMPResource20Handler resource20Handler;
+    OasisSMPSubresource20 oasisSMPSubresource20;
 
-    public OasisSMPServiceGroup20(OasisSMPServiceGroup20Handler serviceGroup20Handler, OasisSMPServiceMetadata20 oasisSMPServiceMetadata20) {
-        this.serviceGroup20Handler = serviceGroup20Handler;
-        this.oasisSMPServiceMetadata20 = oasisSMPServiceMetadata20;
+    public OasisSMPResource20(OasisSMPResource20Handler resource20Handler, OasisSMPSubresource20 oasisSMPSubresource20) {
+        this.resource20Handler = resource20Handler;
+        this.oasisSMPSubresource20 = oasisSMPSubresource20;
     }
 
     @Override
@@ -73,12 +73,12 @@ public class OasisSMPServiceGroup20 implements ResourceDefinitionSpi {
 
     @Override
     public List<SubresourceDefinitionSpi> getSubresourceSpiList() {
-        return Collections.singletonList(oasisSMPServiceMetadata20);
+        return Collections.singletonList(oasisSMPSubresource20);
     }
 
     @Override
     public ResourceHandlerSpi getResourceHandler() {
-        return serviceGroup20Handler;
+        return resource20Handler;
     }
 
     @Override
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource10.java
similarity index 83%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource10.java
index e2eadb6e8..3ec9e8680 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource10.java
@@ -18,7 +18,7 @@
  */
 package eu.europa.ec.smp.spi.def;
 
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceMetadata10Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPSubresource10Handler;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import eu.europa.ec.smp.spi.resource.SubresourceDefinitionSpi;
 import org.springframework.stereotype.Component;
@@ -31,14 +31,14 @@ import org.springframework.stereotype.Component;
  * @since 5.0
  */
 @Component
-public class OasisSMPServiceMetadata10 implements SubresourceDefinitionSpi {
+public class OasisSMPSubresource10 implements SubresourceDefinitionSpi {
 
     public static final String RESOURCE_IDENTIFIER = "edelivery-oasis-smp-1.0-servicemetadata";
 
-    OasisSMPServiceMetadata10Handler serviceMetadata10Handler;
+    OasisSMPSubresource10Handler subresource10Handler;
 
-    public OasisSMPServiceMetadata10(OasisSMPServiceMetadata10Handler serviceMetadata10Handler) {
-        this.serviceMetadata10Handler = serviceMetadata10Handler;
+    public OasisSMPSubresource10(OasisSMPSubresource10Handler subresource10Handler) {
+        this.subresource10Handler = subresource10Handler;
     }
 
     @Override
@@ -68,7 +68,7 @@ public class OasisSMPServiceMetadata10 implements SubresourceDefinitionSpi {
 
     @Override
     public ResourceHandlerSpi getResourceHandler() {
-        return serviceMetadata10Handler;
+        return subresource10Handler;
     }
 
     @Override
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata20.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource20.java
similarity index 83%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata20.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource20.java
index 6ab8781e3..85897f558 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata20.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource20.java
@@ -18,7 +18,7 @@
  */
 package eu.europa.ec.smp.spi.def;
 
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceMetadata20Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPSubresource20Handler;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import eu.europa.ec.smp.spi.resource.SubresourceDefinitionSpi;
 import org.springframework.stereotype.Component;
@@ -31,14 +31,14 @@ import org.springframework.stereotype.Component;
  * @since 5.0
  */
 @Component
-public class OasisSMPServiceMetadata20 implements SubresourceDefinitionSpi {
+public class OasisSMPSubresource20 implements SubresourceDefinitionSpi {
 
     public static final String RESOURCE_IDENTIFIER = "edelivery-oasis-smp-2.0-servicemetadata";
 
-    OasisSMPServiceMetadata20Handler serviceMetadata20Handler;
+    OasisSMPSubresource20Handler subresource20Handler;
 
-    public OasisSMPServiceMetadata20(OasisSMPServiceMetadata20Handler serviceMetadata20Handler) {
-        this.serviceMetadata20Handler = serviceMetadata20Handler;
+    public OasisSMPSubresource20(OasisSMPSubresource20Handler subresource20Handler) {
+        this.subresource20Handler = subresource20Handler;
     }
 
     @Override
@@ -68,7 +68,7 @@ public class OasisSMPServiceMetadata20 implements SubresourceDefinitionSpi {
 
     @Override
     public ResourceHandlerSpi getResourceHandler() {
-        return serviceMetadata20Handler;
+        return subresource20Handler;
     }
 
     @Override
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10Handler.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPResource10Handler.java
similarity index 80%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10Handler.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPResource10Handler.java
index bc196455d..10d105d53 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10Handler.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPResource10Handler.java
@@ -27,7 +27,7 @@ import eu.europa.ec.smp.spi.api.SmpIdentifierServiceApi;
 import eu.europa.ec.smp.spi.api.model.RequestData;
 import eu.europa.ec.smp.spi.api.model.ResourceIdentifier;
 import eu.europa.ec.smp.spi.api.model.ResponseData;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceMetadata10;
+import eu.europa.ec.smp.spi.def.OasisSMPSubresource10;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
 import gen.eu.europa.ec.ddc.api.smp10.ParticipantIdentifierType;
 import gen.eu.europa.ec.ddc.api.smp10.ServiceGroup;
@@ -53,9 +53,9 @@ import java.util.stream.Stream;
 import static eu.europa.ec.smp.spi.exceptions.ResourceException.ErrorCode.*;
 
 @Component
-public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
+public class OasisSMPResource10Handler extends AbstractOasisSMPHandler {
 
-    private static final Logger LOG = LoggerFactory.getLogger(OasisSMPServiceGroup10Handler.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OasisSMPResource10Handler.class);
 
     OasisSMP10ServiceGroupReader reader = new OasisSMP10ServiceGroupReader();
 
@@ -64,8 +64,8 @@ public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
 
     final OasisSMP10ServiceGroupReader serviceGroupReader;
 
-    public OasisSMPServiceGroup10Handler(SmpDataServiceApi smpDataApi,
-                                         SmpIdentifierServiceApi smpIdentifierApi) {
+    public OasisSMPResource10Handler(SmpDataServiceApi smpDataApi,
+                                     SmpIdentifierServiceApi smpIdentifierApi) {
         this.smpDataApi = smpDataApi;
         this.smpIdentifierApi = smpIdentifierApi;
         serviceGroupReader = new OasisSMP10ServiceGroupReader();
@@ -74,14 +74,14 @@ public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
     public void generateResource(RequestData resourceData, ResponseData responseData, List<String> fields) throws ResourceException {
         ResourceIdentifier identifier = getResourceIdentifier(resourceData);
 
-        ServiceGroup serviceGroup = new ServiceGroup();
-        serviceGroup.setParticipantIdentifier(new ParticipantIdentifierType());
-        serviceGroup.getParticipantIdentifier().setValue(identifier.getValue());
-        serviceGroup.getParticipantIdentifier().setScheme(identifier.getScheme());
-        serviceGroup.setServiceMetadataReferenceCollection(new ServiceMetadataReferenceCollectionType());
+        ServiceGroup resource = new ServiceGroup();
+        resource.setParticipantIdentifier(new ParticipantIdentifierType());
+        resource.getParticipantIdentifier().setValue(identifier.getValue());
+        resource.getParticipantIdentifier().setScheme(identifier.getScheme());
+        resource.setServiceMetadataReferenceCollection(new ServiceMetadataReferenceCollectionType());
 
         try {
-            reader.serializeNative(serviceGroup, responseData.getOutputStream(), true);
+            reader.serializeNative(resource, responseData.getOutputStream(), true);
         } catch (TechnicalException e) {
             throw new ResourceException(PARSE_ERROR, "Can not marshal extension for service group: [" + identifier + "]. Error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
@@ -97,19 +97,19 @@ public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
             return;
         }
 
-        ServiceGroup serviceGroup;
+        ServiceGroup resource;
         try {
-            serviceGroup = reader.parseNative(resourceData.getResourceInputStream());
+            resource = reader.parseNative(resourceData.getResourceInputStream());
         } catch (TechnicalException e) {
             throw new ResourceException(PARSE_ERROR, "Can not parse service group xml for identifier: [" + identifier + "]. Error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
         // get references
-        serviceGroup.setServiceMetadataReferenceCollection(new ServiceMetadataReferenceCollectionType());
+        resource.setServiceMetadataReferenceCollection(new ServiceMetadataReferenceCollectionType());
         List<ServiceMetadataReferenceType> referenceTypes = buildReferences(identifier);
-        serviceGroup.getServiceMetadataReferenceCollection().getServiceMetadataReferences().addAll(referenceTypes);
+        resource.getServiceMetadataReferenceCollection().getServiceMetadataReferences().addAll(referenceTypes);
 
         try {
-            reader.serializeNative(serviceGroup, responseData.getOutputStream(), false);
+            reader.serializeNative(resource, responseData.getOutputStream(), false);
         } catch (TechnicalException e) {
             throw new ResourceException(PARSE_ERROR, "Can not marshal extension for service group: [" + identifier + "]. Error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
@@ -119,7 +119,7 @@ public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
     private List<ServiceMetadataReferenceType> buildReferences(ResourceIdentifier resourceIdentifier) throws ResourceException {
         LOG.debug("Build build References identifier [{}].", resourceIdentifier);
         // get subresource identifiers for document type
-        List<ResourceIdentifier> subResourceIdentifier = smpDataApi.getSubResourceIdentifiers(resourceIdentifier, OasisSMPServiceMetadata10.RESOURCE_IDENTIFIER);
+        List<ResourceIdentifier> subResourceIdentifier = smpDataApi.getSubResourceIdentifiers(resourceIdentifier, OasisSMPSubresource10.RESOURCE_IDENTIFIER);
 
         List<ServiceMetadataReferenceType> referenceIds = new ArrayList<>();
         for (ResourceIdentifier subresId : subResourceIdentifier) {
@@ -134,7 +134,7 @@ public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
     public URI buildSMPURLForParticipantAndDocumentIdentifier(ResourceIdentifier resourceIdentifier, ResourceIdentifier subresourceIdentifier) throws ResourceException {
         LOG.debug("Build SMP url for participant identifier: [{}] and document identifier [{}].", resourceIdentifier, subresourceIdentifier);
 
-        String pathSegment = smpDataApi.getURIPathSegmentForSubresource(OasisSMPServiceMetadata10.RESOURCE_IDENTIFIER);
+        String pathSegment = smpDataApi.getURIPathSegmentForSubresource(OasisSMPSubresource10.RESOURCE_IDENTIFIER);
         String baseUrl = smpDataApi.getResourceUrl();
         String formattedParticipant = smpIdentifierApi.formatResourceIdentifier(resourceIdentifier);
         String formattedDocument = smpIdentifierApi.formatSubresourceIdentifier(subresourceIdentifier);
@@ -161,23 +161,23 @@ public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
         }
 
         inputStream.mark(Integer.MAX_VALUE - 2);
-        ServiceGroup serviceGroup = validateAndParse(resourceData);
+        ServiceGroup resource = validateAndParse(resourceData);
 
         // ServiceMetadataReferenceCollection must be empty because they are automatically generated
-        if (serviceGroup.getServiceMetadataReferenceCollection() != null
-                && !serviceGroup.getServiceMetadataReferenceCollection().getServiceMetadataReferences().isEmpty()) {
+        if (resource.getServiceMetadataReferenceCollection() != null
+                && !resource.getServiceMetadataReferenceCollection().getServiceMetadataReferences().isEmpty()) {
             throw new ResourceException(INVALID_PARAMETERS, "ServiceMetadataReferenceCollection must be empty!");
         }
         // set participant to "lowercase" to match it as is saved in the database
         // this is just for back-compatibility issue!
-        serviceGroup.getParticipantIdentifier().setValue(resourceData.getResourceIdentifier().getValue());
-        serviceGroup.getParticipantIdentifier().setScheme(resourceData.getResourceIdentifier().getScheme());
+        resource.getParticipantIdentifier().setValue(resourceData.getResourceIdentifier().getValue());
+        resource.getParticipantIdentifier().setScheme(resourceData.getResourceIdentifier().getScheme());
 
         try {
             //inputStream.reset();
             //StreamUtils.copy(inputStream, responseData.getOutputStream());
-            // need to save serviceGroup because of the update on the resource identifier values
-            reader.serializeNative(serviceGroup, responseData.getOutputStream(), true);
+            // need to save resource because of the update on the resource identifier values
+            reader.serializeNative(resource, responseData.getOutputStream(), true);
         } catch (TechnicalException e) {
             throw new ResourceException(PARSE_ERROR, "Error occurred while copying the ServiceGroup", e);
         }
@@ -207,13 +207,13 @@ public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
             throw new ResourceException(INVALID_RESOURCE, "Error occurred while validation Oasis SMP 1.0 ServiceGroup extension: [" + ids + "] with error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
         // if service group
-        ServiceGroup serviceGroup;
+        ServiceGroup resource;
         try {
-            serviceGroup = reader.parseNative(new ByteArrayInputStream(bytearray));
+            resource = reader.parseNative(new ByteArrayInputStream(bytearray));
         } catch (TechnicalException e) {
             throw new ResourceException(INVALID_RESOURCE, "Error occurred while parsing Oasis SMP 1.0 ServiceGroup with error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
-        final ParticipantIdentifierType participantId = serviceGroup.getParticipantIdentifier();
+        final ParticipantIdentifierType participantId = resource.getParticipantIdentifier();
         ResourceIdentifier xmlResourceIdentifier = smpIdentifierApi.normalizeResourceIdentifier(participantId.getValue(), participantId.getScheme());
 
         if (!xmlResourceIdentifier.equals(identifier)) {
@@ -222,6 +222,6 @@ public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
         }
 
 
-        return serviceGroup;
+        return resource;
     }
 }
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup20Handler.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPResource20Handler.java
similarity index 81%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup20Handler.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPResource20Handler.java
index f2bda596b..bcbe0a46c 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup20Handler.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPResource20Handler.java
@@ -29,7 +29,7 @@ import eu.europa.ec.smp.spi.api.model.RequestData;
 import eu.europa.ec.smp.spi.api.model.ResourceIdentifier;
 import eu.europa.ec.smp.spi.api.model.ResponseData;
 import eu.europa.ec.smp.spi.converter.DomUtils;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceMetadata20;
+import eu.europa.ec.smp.spi.def.OasisSMPSubresource20;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
 import eu.europa.ec.smp.spi.exceptions.SignatureException;
 import gen.eu.europa.ec.ddc.api.smp20.ServiceGroup;
@@ -57,9 +57,9 @@ import java.util.stream.Stream;
 import static eu.europa.ec.smp.spi.exceptions.ResourceException.ErrorCode.*;
 
 @Component
-public class OasisSMPServiceGroup20Handler extends AbstractOasisSMPHandler {
+public class OasisSMPResource20Handler extends AbstractOasisSMPHandler {
 
-    private static final Logger LOG = LoggerFactory.getLogger(OasisSMPServiceGroup20Handler.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OasisSMPResource20Handler.class);
 
     final SmpDataServiceApi smpDataApi;
     final SmpXmlSignatureApi signatureApi;
@@ -67,9 +67,9 @@ public class OasisSMPServiceGroup20Handler extends AbstractOasisSMPHandler {
     final OasisSMP20ServiceGroupReader reader;
 
 
-    public OasisSMPServiceGroup20Handler(SmpDataServiceApi smpDataApi,
-                                         SmpIdentifierServiceApi smpIdentifierApi,
-                                         SmpXmlSignatureApi signatureApi) {
+    public OasisSMPResource20Handler(SmpDataServiceApi smpDataApi,
+                                     SmpIdentifierServiceApi smpIdentifierApi,
+                                     SmpXmlSignatureApi signatureApi) {
         this.smpDataApi = smpDataApi;
         this.smpIdentifierApi = smpIdentifierApi;
         this.signatureApi = signatureApi;
@@ -81,15 +81,15 @@ public class OasisSMPServiceGroup20Handler extends AbstractOasisSMPHandler {
         ResourceIdentifier identifier = getResourceIdentifier(resourceData);
 
 
-        ServiceGroup serviceGroup = new ServiceGroup();
-        serviceGroup.setSMPVersionID(new SMPVersionID());
-        serviceGroup.getSMPVersionID().setValue("2.0");
-        serviceGroup.setParticipantID(new ParticipantID());
-        serviceGroup.getParticipantID().setValue(identifier.getValue());
-        serviceGroup.getParticipantID().setSchemeID(identifier.getScheme());
+        ServiceGroup resource = new ServiceGroup();
+        resource.setSMPVersionID(new SMPVersionID());
+        resource.getSMPVersionID().setValue("2.0");
+        resource.setParticipantID(new ParticipantID());
+        resource.getParticipantID().setValue(identifier.getValue());
+        resource.getParticipantID().setSchemeID(identifier.getScheme());
 
         try {
-            reader.serializeNative(serviceGroup, responseData.getOutputStream(), true);
+            reader.serializeNative(resource, responseData.getOutputStream(), true);
         } catch (TechnicalException e) {
             throw new ResourceException(PARSE_ERROR, "Can not marshal service group: [" + identifier + "]. Error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
@@ -103,19 +103,19 @@ public class OasisSMPServiceGroup20Handler extends AbstractOasisSMPHandler {
             LOG.warn("Empty document input stream for service-group [{}]!", identifier);
             return;
         }
-        ServiceGroup serviceGroup;
+        ServiceGroup resource;
         try {
-            serviceGroup = reader.parseNative(resourceData.getResourceInputStream());
+            resource = reader.parseNative(resourceData.getResourceInputStream());
         } catch (TechnicalException e) {
             throw new ResourceException(PARSE_ERROR, "Can not read service group: [" + identifier + "]. Error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
         // get references
-        serviceGroup.getServiceReferences().clear();
-        serviceGroup.getServiceReferences().addAll(buildReferences(identifier));
+        resource.getServiceReferences().clear();
+        resource.getServiceReferences().addAll(buildReferences(identifier));
 
 
         try {
-            Document doc = reader.objectToDocument(serviceGroup);
+            Document doc = reader.objectToDocument(resource);
             signatureApi.createEnvelopedSignature(resourceData, doc.getDocumentElement(), Collections.emptyList());
             DomUtils.serialize(doc, responseData.getOutputStream());
         } catch (SignatureException | TechnicalException | TransformerException e) {
@@ -129,7 +129,7 @@ public class OasisSMPServiceGroup20Handler extends AbstractOasisSMPHandler {
         LOG.debug("Build build References identifier [{}].", resourceIdentifier);
         // get subresource identifiers for document type
         List<ResourceIdentifier> subResourceIdentifier = smpDataApi.getSubResourceIdentifiers(resourceIdentifier,
-                OasisSMPServiceMetadata20.RESOURCE_IDENTIFIER);
+                OasisSMPSubresource20.RESOURCE_IDENTIFIER);
         List<ServiceReference> referenceIds = new ArrayList<>();
         for (ResourceIdentifier subresId : subResourceIdentifier) {
             ServiceReference reference = new ServiceReference();
@@ -151,19 +151,19 @@ public class OasisSMPServiceGroup20Handler extends AbstractOasisSMPHandler {
             inputStream = new BufferedInputStream(inputStream);
         }
         inputStream.mark(Integer.MAX_VALUE - 2);
-        ServiceGroup serviceGroup = validateAndParse(resourceData);
+        ServiceGroup resource = validateAndParse(resourceData);
 
         // ServiceMetadataReferenceCollection must be empty because they are automatically generated
-        if (!serviceGroup.getServiceReferences().isEmpty()) {
+        if (!resource.getServiceReferences().isEmpty()) {
             throw new ResourceException(INVALID_PARAMETERS, "ServiceReferences must be empty!");
         }
         // set participant to "lowercase" to match it as is saved in the database
         // this is just for back-compatibility issue!
-        serviceGroup.getParticipantID().setValue(resourceData.getResourceIdentifier().getValue());
-        serviceGroup.getParticipantID().setSchemeID(resourceData.getResourceIdentifier().getScheme());
+        resource.getParticipantID().setValue(resourceData.getResourceIdentifier().getValue());
+        resource.getParticipantID().setSchemeID(resourceData.getResourceIdentifier().getScheme());
 
         try {
-            reader.serializeNative(serviceGroup, responseData.getOutputStream(), false);
+            reader.serializeNative(resource, responseData.getOutputStream(), false);
         } catch (TechnicalException e) {
             throw new ResourceException(PARSE_ERROR, "Error occurred while copying the ServiceGroup", e);
         }
@@ -194,19 +194,19 @@ public class OasisSMPServiceGroup20Handler extends AbstractOasisSMPHandler {
             throw new ResourceException(INVALID_RESOURCE, "Error occurred while validation Oasis SMP 2.0 ServiceGroup: [" + ids + "] with error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
         // if service group
-        ServiceGroup serviceGroup;
+        ServiceGroup resource;
         try {
-            serviceGroup = reader.parseNative(new ByteArrayInputStream(bytearray));
+            resource = reader.parseNative(new ByteArrayInputStream(bytearray));
         } catch (TechnicalException e) {
             throw new ResourceException(INVALID_RESOURCE, "Error occurred while reading the Oasis SMP 2.0 ServiceGroup with error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
-        final ParticipantID participantId = serviceGroup.getParticipantID();
+        final ParticipantID participantId = resource.getParticipantID();
         ResourceIdentifier xmlResourceIdentifier = smpIdentifierApi.normalizeResourceIdentifier(participantId.getValue(), participantId.getSchemeID());
 
         if (!xmlResourceIdentifier.equals(identifier)) {
             // Business identifier must equal path
             throw new ResourceException(INVALID_PARAMETERS, "Participant identifiers don't match between URL parameter [" + identifier + "] and XML body: [ scheme: '" + participantId.getSchemeID() + "', value: '" + participantId.getValue() + "']");
         }
-        return serviceGroup;
+        return resource;
     }
 }
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata10Handler.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource10Handler.java
similarity index 91%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata10Handler.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource10Handler.java
index a821a9b13..4fb7b1a06 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata10Handler.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource10Handler.java
@@ -31,7 +31,7 @@ import eu.europa.ec.smp.spi.api.model.ResponseData;
 import eu.europa.ec.smp.spi.converter.DomUtils;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
 import eu.europa.ec.smp.spi.exceptions.SignatureException;
-import eu.europa.ec.smp.spi.validation.ServiceMetadata10Validator;
+import eu.europa.ec.smp.spi.validation.Subresource10Validator;
 import gen.eu.europa.ec.ddc.api.smp10.*;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.slf4j.Logger;
@@ -56,9 +56,9 @@ import java.util.List;
 import static eu.europa.ec.smp.spi.exceptions.ResourceException.ErrorCode.*;
 
 @Component
-public class OasisSMPServiceMetadata10Handler extends AbstractOasisSMPHandler {
+public class OasisSMPSubresource10Handler extends AbstractOasisSMPHandler {
 
-    private static final Logger LOG = LoggerFactory.getLogger(OasisSMPServiceMetadata10Handler.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OasisSMPSubresource10Handler.class);
 
     private static final String NS = "http://docs.oasis-open.org/bdxr/ns/SMP/2016/05";
     private static final String DOC_SIGNED_SERVICE_METADATA_EMPTY = "<SignedServiceMetadata xmlns=\"" + NS + "\"/>";
@@ -67,13 +67,13 @@ public class OasisSMPServiceMetadata10Handler extends AbstractOasisSMPHandler {
     final SmpXmlSignatureApi signatureApi;
     final SmpDataServiceApi smpDataApi;
     final SmpIdentifierServiceApi smpIdentifierApi;
-    final ServiceMetadata10Validator serviceMetadataValidator;
+    final Subresource10Validator serviceMetadataValidator;
     final OasisSMP10ServiceMetadataReader reader;
 
-    public OasisSMPServiceMetadata10Handler(SmpDataServiceApi smpDataApi,
-                                            SmpIdentifierServiceApi smpIdentifierApi,
-                                            SmpXmlSignatureApi signatureApi,
-                                            ServiceMetadata10Validator serviceMetadataValidator) {
+    public OasisSMPSubresource10Handler(SmpDataServiceApi smpDataApi,
+                                        SmpIdentifierServiceApi smpIdentifierApi,
+                                        SmpXmlSignatureApi signatureApi,
+                                        Subresource10Validator serviceMetadataValidator) {
         this.signatureApi = signatureApi;
         this.smpDataApi = smpDataApi;
         this.smpIdentifierApi = smpIdentifierApi;
@@ -86,7 +86,7 @@ public class OasisSMPServiceMetadata10Handler extends AbstractOasisSMPHandler {
         ResourceIdentifier identifier = getResourceIdentifier(resourceData);
         ResourceIdentifier subresourceIdentifier = getSubresourceIdentifier(resourceData);
 
-        ServiceMetadata serviceMetadata = new ServiceMetadata();
+        ServiceMetadata subresource = new ServiceMetadata();
         ServiceInformationType serviceInformationType =   new ServiceInformationType();
         ProcessListType processListType = new ProcessListType();
         ProcessType processType = new ProcessType();
@@ -103,7 +103,7 @@ public class OasisSMPServiceMetadata10Handler extends AbstractOasisSMPHandler {
         processListType.getProcesses().add(processType);
         processType.getServiceEndpointList().getEndpoints().add(endpointType);
         serviceInformationType.setProcessList(processListType);
-        serviceMetadata.setServiceInformation(serviceInformationType);
+        subresource.setServiceInformation(serviceInformationType);
         serviceInformationType.setParticipantIdentifier(new ParticipantIdentifierType());
         serviceInformationType.getParticipantIdentifier().setValue(identifier.getValue());
         serviceInformationType.getParticipantIdentifier().setScheme(identifier.getScheme());
@@ -112,7 +112,7 @@ public class OasisSMPServiceMetadata10Handler extends AbstractOasisSMPHandler {
         serviceInformationType.getDocumentIdentifier().setScheme(subresourceIdentifier.getScheme());
 
         try {
-            reader.serializeNative(serviceMetadata, responseData.getOutputStream(), true);
+            reader.serializeNative(subresource, responseData.getOutputStream(), true);
         } catch (TechnicalException e) {
             throw new ResourceException(PARSE_ERROR, "Can not marshal extension for service group: [" + identifier + "]. Error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
@@ -191,13 +191,13 @@ public class OasisSMPServiceMetadata10Handler extends AbstractOasisSMPHandler {
             throw new ResourceException(INVALID_RESOURCE, "Error occurred while validation Oasis SMP 1.0 ServiceMetadata: [" + identifier + "] with error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
 
-        ServiceMetadata serviceMetadata;
+        ServiceMetadata subresource;
         try {
-            serviceMetadata = (ServiceMetadata) reader.parseNative(new ByteArrayInputStream(bytearray));
+            subresource = (ServiceMetadata) reader.parseNative(new ByteArrayInputStream(bytearray));
         } catch (TechnicalException e) {
             throw new ResourceException(INVALID_RESOURCE, "Error occurred while validation Oasis SMP 1.0 ServiceMetadata: [" + identifier + "] with error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
-        serviceMetadataValidator.validate(identifier, documentIdentifier, serviceMetadata);
+        serviceMetadataValidator.validate(identifier, documentIdentifier, subresource);
     }
 
     public static Document toSignedServiceMetadataDocument(byte[] serviceMetadataXml) throws ResourceException {
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20Handler.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource20Handler.java
similarity index 87%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20Handler.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource20Handler.java
index 323b44284..72918072b 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20Handler.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource20Handler.java
@@ -31,7 +31,7 @@ import eu.europa.ec.smp.spi.api.model.ResponseData;
 import eu.europa.ec.smp.spi.converter.DomUtils;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
 import eu.europa.ec.smp.spi.exceptions.SignatureException;
-import eu.europa.ec.smp.spi.validation.ServiceMetadata20Validator;
+import eu.europa.ec.smp.spi.validation.Subresource20Validator;
 import gen.eu.europa.ec.ddc.api.smp20.ServiceMetadata;
 import gen.eu.europa.ec.ddc.api.smp20.aggregate.Certificate;
 import gen.eu.europa.ec.ddc.api.smp20.aggregate.Endpoint;
@@ -59,21 +59,21 @@ import java.util.List;
 import static eu.europa.ec.smp.spi.exceptions.ResourceException.ErrorCode.*;
 
 @Component
-public class OasisSMPServiceMetadata20Handler extends AbstractOasisSMPHandler {
+public class OasisSMPSubresource20Handler extends AbstractOasisSMPHandler {
 
-    private static final Logger LOG = LoggerFactory.getLogger(OasisSMPServiceMetadata20Handler.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OasisSMPSubresource20Handler.class);
 
     final SmpXmlSignatureApi signatureApi;
     final SmpDataServiceApi smpDataApi;
     final SmpIdentifierServiceApi smpIdentifierApi;
-    final ServiceMetadata20Validator serviceMetadataValidator;
+    final Subresource20Validator serviceMetadataValidator;
 
     final OasisSMP20ServiceMetadataReader reader;
 
-    public OasisSMPServiceMetadata20Handler(SmpDataServiceApi smpDataApi,
-                                            SmpIdentifierServiceApi smpIdentifierApi,
-                                            SmpXmlSignatureApi signatureApi,
-                                            ServiceMetadata20Validator serviceMetadataValidator) {
+    public OasisSMPSubresource20Handler(SmpDataServiceApi smpDataApi,
+                                        SmpIdentifierServiceApi smpIdentifierApi,
+                                        SmpXmlSignatureApi signatureApi,
+                                        Subresource20Validator serviceMetadataValidator) {
         this.signatureApi = signatureApi;
         this.smpDataApi = smpDataApi;
         this.smpIdentifierApi = smpIdentifierApi;
@@ -87,17 +87,17 @@ public class OasisSMPServiceMetadata20Handler extends AbstractOasisSMPHandler {
         ResourceIdentifier identifier = getResourceIdentifier(resourceData);
         ResourceIdentifier subresourceIdentifier = getSubresourceIdentifier(resourceData);
 
-        ServiceMetadata serviceMetadata = new ServiceMetadata();
-        serviceMetadata.setSMPVersionID(new SMPVersionID());
-        serviceMetadata.getSMPVersionID().setValue("2.0");
-        serviceMetadata.setParticipantID(new ParticipantID());
-        serviceMetadata.getParticipantID().setValue(identifier.getValue());
-        serviceMetadata.getParticipantID().setSchemeID(identifier.getScheme());
-        serviceMetadata.setServiceID(new ServiceID());
-        serviceMetadata.getServiceID().setValue(subresourceIdentifier.getValue());
-        serviceMetadata.getServiceID().setSchemeID(subresourceIdentifier.getScheme());
+        ServiceMetadata subresource = new ServiceMetadata();
+        subresource.setSMPVersionID(new SMPVersionID());
+        subresource.getSMPVersionID().setValue("2.0");
+        subresource.setParticipantID(new ParticipantID());
+        subresource.getParticipantID().setValue(identifier.getValue());
+        subresource.getParticipantID().setSchemeID(identifier.getScheme());
+        subresource.setServiceID(new ServiceID());
+        subresource.getServiceID().setValue(subresourceIdentifier.getValue());
+        subresource.getServiceID().setSchemeID(subresourceIdentifier.getScheme());
         ProcessMetadata processMetadata = new ProcessMetadata();
-        serviceMetadata.getProcessMetadatas().add(processMetadata);
+        subresource.getProcessMetadatas().add(processMetadata);
         Process process = new Process();
         process.setID(new ID());
         process.getID().setValue("Service");
@@ -147,7 +147,7 @@ public class OasisSMPServiceMetadata20Handler extends AbstractOasisSMPHandler {
 
 
         try {
-            reader.serializeNative(serviceMetadata, responseData.getOutputStream(), true);
+            reader.serializeNative(subresource, responseData.getOutputStream(), true);
         } catch (TechnicalException e) {
             throw new ResourceException(PARSE_ERROR, "Can not marshal extension for service group: [" + identifier + "]. Error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
@@ -228,13 +228,13 @@ public class OasisSMPServiceMetadata20Handler extends AbstractOasisSMPHandler {
         }
 
 
-        ServiceMetadata serviceMetadata;
+        ServiceMetadata subresource;
         try {
-            serviceMetadata = reader.parseNative(new ByteArrayInputStream(bytearray));
+            subresource = reader.parseNative(new ByteArrayInputStream(bytearray));
         } catch (TechnicalException e) {
             throw new ResourceException(INVALID_RESOURCE, "Error occurred while validation Oasis SMP 2.0 ServiceMetadata: [" + identifier + "] with error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
-        serviceMetadataValidator.validate(identifier, documentIdentifier, serviceMetadata);
+        serviceMetadataValidator.validate(identifier, documentIdentifier, subresource);
 
     }
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata10Validator.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/Subresource10Validator.java
similarity index 91%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata10Validator.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/Subresource10Validator.java
index 04bb1836b..32f35f668 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata10Validator.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/Subresource10Validator.java
@@ -37,32 +37,32 @@ import static eu.europa.ec.smp.spi.exceptions.ResourceException.ErrorCode.INVALI
 
 
 /**
- * Simple Service metadata validator
+ * Simple Subresource validator
  *
  * @author gutowpa
  * @since 3.0.0.
  */
 @Component
-public class ServiceMetadata10Validator {
+public class Subresource10Validator {
 
-    private static final Logger LOG = LoggerFactory.getLogger(ServiceMetadata10Validator.class);
+    private static final Logger LOG = LoggerFactory.getLogger(Subresource10Validator.class);
 
     final SmpIdentifierServiceApi smpIdentifierApi;
 
-    public ServiceMetadata10Validator(SmpIdentifierServiceApi smpIdentifierApi) {
+    public Subresource10Validator(SmpIdentifierServiceApi smpIdentifierApi) {
         this.smpIdentifierApi = smpIdentifierApi;
     }
 
     public void validate(ResourceIdentifier participantIdentifierFromUrl,
                          ResourceIdentifier documentIdentifierFromUrl,
-                         ServiceMetadata serviceMetadata
+                         ServiceMetadata subresource
     ) throws ResourceException {
         LOG.debug("Validate service metadata for participant [{}], document [{}]", participantIdentifierFromUrl, documentIdentifierFromUrl);
 
-        ServiceInformationType serviceInformation = serviceMetadata.getServiceInformation();
+        ServiceInformationType serviceInformation = subresource.getServiceInformation();
 
-        if (serviceInformation == null && serviceMetadata.getRedirect() != null) {
-            LOG.debug("Redirect serviceMetadata, skip document/participant identifier validation");
+        if (serviceInformation == null && subresource.getRedirect() != null) {
+            LOG.debug("Redirect subresource, skip document/participant identifier validation");
             return;
         }
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata20Validator.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/Subresource20Validator.java
similarity index 88%
rename from smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata20Validator.java
rename to smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/Subresource20Validator.java
index db2319722..ae18e49bb 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata20Validator.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/Subresource20Validator.java
@@ -42,27 +42,27 @@ import static eu.europa.ec.smp.spi.exceptions.ResourceException.ErrorCode.INVALI
 
 
 /**
- * Simple Service metadata validator
+ * Simple Subresource validator
  */
 @Component
-public class ServiceMetadata20Validator {
+public class Subresource20Validator {
 
-    private static final Logger LOG = LoggerFactory.getLogger(ServiceMetadata20Validator.class);
+    private static final Logger LOG = LoggerFactory.getLogger(Subresource20Validator.class);
 
     final SmpIdentifierServiceApi smpIdentifierApi;
 
-    public ServiceMetadata20Validator(SmpIdentifierServiceApi smpIdentifierApi) {
+    public Subresource20Validator(SmpIdentifierServiceApi smpIdentifierApi) {
         this.smpIdentifierApi = smpIdentifierApi;
     }
 
     public void validate(ResourceIdentifier participantIdentifierFromUrl,
                          ResourceIdentifier documentIdentifierFromUrl,
-                         ServiceMetadata serviceMetadata
+                         ServiceMetadata subresource
     ) throws ResourceException {
         LOG.debug("Validate service metadata for participant [{}], document [{}]", participantIdentifierFromUrl, documentIdentifierFromUrl);
 
-        final ParticipantID participantId = serviceMetadata.getParticipantID();
-        final ServiceID documentId = serviceMetadata.getServiceID();
+        final ParticipantID participantId = subresource.getParticipantID();
+        final ServiceID documentId = subresource.getServiceID();
         ResourceIdentifier xmlResourceIdentifier = smpIdentifierApi.normalizeResourceIdentifier(participantId.getValue(), participantId.getSchemeID());
         ResourceIdentifier xmlSubresourceIdentifier = smpIdentifierApi.normalizeSubresourceIdentifier(documentId.getValue(), documentId.getSchemeID());
         if (!xmlResourceIdentifier.equals(participantIdentifierFromUrl)) {
@@ -75,11 +75,11 @@ public class ServiceMetadata20Validator {
             throw new ResourceException(INVALID_PARAMETERS, "Document identifiers don't match between URL parameter [" + documentIdentifierFromUrl + "] and XML body: [" + xmlSubresourceIdentifier + "]");
         }
 
-        List<ProcessMetadata> processMetadata = serviceMetadata.getProcessMetadatas();
+        List<ProcessMetadata> processMetadata = subresource.getProcessMetadatas();
         validateProcesses(processMetadata);
 /*
-        if (serviceInformation == null && serviceMetadata.getRedirect() != null) {
-            LOG.debug("Redirect serviceMetadata, skip document/participant identifier validation");
+        if (serviceInformation == null && subresource.getRedirect() != null) {
+            LOG.debug("Redirect subresource, skip document/participant identifier validation");
             return;
         }*/
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java
index 0acb1ef70..938f10346 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java
@@ -18,8 +18,8 @@
  */
 package eu.europa.ec.smp.spi;
 
-import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup20;
+import eu.europa.ec.smp.spi.def.OasisSMPResource10;
+import eu.europa.ec.smp.spi.def.OasisSMPResource20;
 import eu.europa.ec.smp.spi.resource.ResourceDefinitionSpi;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
@@ -30,10 +30,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class OasisSMPExtensionTest {
 
-    OasisSMPServiceGroup10 mockOasisSMPServiceGroup10 = Mockito.mock(OasisSMPServiceGroup10.class);
-    OasisSMPServiceGroup20 mockOasisSMPServiceGroup20 = Mockito.mock(OasisSMPServiceGroup20.class);
+    OasisSMPResource10 mockOasisSMPResource10 = Mockito.mock(OasisSMPResource10.class);
+    OasisSMPResource20 mockOasisSMPResource20 = Mockito.mock(OasisSMPResource20.class);
 
-    OasisSMPExtension testInstance = new OasisSMPExtension(mockOasisSMPServiceGroup10, mockOasisSMPServiceGroup20);
+    OasisSMPExtension testInstance = new OasisSMPExtension(mockOasisSMPResource10, mockOasisSMPResource20);
     @Test
     void testIdentifier() {
 
@@ -64,8 +64,8 @@ class OasisSMPExtensionTest {
     void testResourceTypes() {
         List<ResourceDefinitionSpi> result = testInstance.resourceTypes();
         assertEquals(2, result.size());
-        assertEquals(mockOasisSMPServiceGroup10, result.get(0));
-        assertEquals(mockOasisSMPServiceGroup20, result.get(1));
+        assertEquals(mockOasisSMPResource10, result.get(0));
+        assertEquals(mockOasisSMPResource20, result.get(1));
     }
 
     @Test
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ResourceConverterTest.java
similarity index 87%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ResourceConverterTest.java
index 3787a1fd0..ec1879d36 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ResourceConverterTest.java
@@ -34,7 +34,7 @@ import java.io.ByteArrayInputStream;
 /**
  * Created by gutowpa on 11/04/2017.
  */
-class ServiceGroupConverterTest {
+class ResourceConverterTest {
 
     OasisSMP10ServiceGroupReader testInstance = new OasisSMP10ServiceGroupReader();
 
@@ -42,23 +42,23 @@ class ServiceGroupConverterTest {
 
 
     @Test
-    void testUnmashallingServiceGroup() throws Exception {
+    void testUnmashallingResource() throws Exception {
 
         //given
-        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ServiceGroupOK.xml");
+        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ResourceOK.xml");
 
         //when
-        ServiceGroup serviceGroup = testInstance.parseNative(new ByteArrayInputStream(inputDoc));
+        ServiceGroup resource = testInstance.parseNative(new ByteArrayInputStream(inputDoc));
 
         //then
-        Assertions.assertNotNull(serviceGroup);
+        Assertions.assertNotNull(resource);
     }
 
 
     @Test
     void testVulnerabilityParsingDTD() throws Exception {
         //given
-        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ServiceGroupWithDOCTYPE.xml");
+        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ResourceWithDOCTYPE.xml");
         //when then
         BindException result = Assertions.assertThrows(BindException.class, () -> testInstance.parseNative(new ByteArrayInputStream(inputDoc)));
         MatcherAssert.assertThat(result.getCause().getMessage(), CoreMatchers.containsString("DOCTYPE is disallowed"));
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/SubresourceConverterTest.java
similarity index 78%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/SubresourceConverterTest.java
index 8917b58b1..8fe23aaa6 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/SubresourceConverterTest.java
@@ -42,7 +42,7 @@ import static org.junit.jupiter.api.Assertions.*;
 /**
  * Created by gutowpa on 05/01/2017.
  */
-class ServiceMetadataConverterTest {
+class SubresourceConverterTest {
 
     private static final String NS = "http://docs.oasis-open.org/bdxr/ns/SMP/2016/05";
     private static final String RES_PATH = "/examples/oasis-smp-1.0/";
@@ -52,15 +52,15 @@ class ServiceMetadataConverterTest {
     @Test
     void testUnmarshalServiceInformation() throws Exception {
         //given
-        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ServiceMetadataWithServiceOk.xml");
+        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "SubresourceWithServiceOk.xml");
 
         //when
-        ServiceMetadata serviceMetadata = (ServiceMetadata) testInstance.parseNative(new ByteArrayInputStream(inputDoc));
+        ServiceMetadata subresource = (ServiceMetadata) testInstance.parseNative(new ByteArrayInputStream(inputDoc));
 
         //then
-        assertNotNull(serviceMetadata);
-        assertNull(serviceMetadata.getRedirect());
-        ServiceInformationType serviceInformation = serviceMetadata.getServiceInformation();
+        assertNotNull(subresource);
+        assertNull(subresource.getRedirect());
+        ServiceInformationType serviceInformation = subresource.getServiceInformation();
         assertNotNull(serviceInformation);
         ServiceEndpointList serviceEndpointList = serviceInformation.getProcessList().getProcesses().get(0).getServiceEndpointList();
         String serviceDescription1 = serviceEndpointList.getEndpoints().get(0).getServiceDescription();
@@ -72,13 +72,13 @@ class ServiceMetadataConverterTest {
     @Test
     void testUnmarshalServiceInformationUtf8() throws Exception {
         //given
-        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ServiceMetadataWithServiceInformationUtf8.xml");
+        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "SubresourceWithServiceInformationUtf8.xml");
 
         //when
-        ServiceMetadata serviceMetadata = (ServiceMetadata) testInstance.parseNative(new ByteArrayInputStream(inputDoc));
+        ServiceMetadata subresource = (ServiceMetadata) testInstance.parseNative(new ByteArrayInputStream(inputDoc));
 
         //then
-        String serviceDescription = serviceMetadata.getServiceInformation().getProcessList().getProcesses().get(0).getServiceEndpointList().getEndpoints().get(0).getServiceDescription();
+        String serviceDescription = subresource.getServiceInformation().getProcessList().getProcesses().get(0).getServiceEndpointList().getEndpoints().get(0).getServiceDescription();
         assertEquals("--ö--ẞßÄäPLżółćNOÆæØøÅå", serviceDescription);
 
     }
@@ -86,15 +86,15 @@ class ServiceMetadataConverterTest {
     @Test
     void testUnmarshalRedirect() throws Exception {
         //given
-        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ServiceMetadataWithRedirect.xml");
+        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "SubresourceWithRedirect.xml");
 
         //when
-        ServiceMetadata serviceMetadata = (ServiceMetadata) testInstance.parseNative(new ByteArrayInputStream(inputDoc));
+        ServiceMetadata subresource = (ServiceMetadata) testInstance.parseNative(new ByteArrayInputStream(inputDoc));
 
         //then
-        assertNotNull(serviceMetadata);
-        assertNull(serviceMetadata.getServiceInformation());
-        RedirectType redirect = serviceMetadata.getRedirect();
+        assertNotNull(subresource);
+        assertNull(subresource.getServiceInformation());
+        RedirectType redirect = subresource.getRedirect();
         assertNotNull(redirect);
         assertEquals("http://poland.pl", redirect.getHref());
         assertEquals("SAMPLE CERTIFICATE VALUE", redirect.getCertificateUID());
@@ -113,19 +113,19 @@ class ServiceMetadataConverterTest {
     @Test
     void testInvalidDocumentNamespace() throws Exception {
         //given
-        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ServiceMetadataMissingMandatoryFields.xml");
+        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "SubresourceMissingMandatoryFields.xml");
         //when then
         BindException result = assertThrows(BindException.class, () -> testInstance.parseNative(new ByteArrayInputStream(inputDoc)));
         MatcherAssert.assertThat(result.getCause().getMessage(), CoreMatchers.containsString("unexpected element "));
     }
 
     @Test
-    void testToSignedServiceMetadataDocument() throws Exception {
+    void testToSignedSubresourceDocument() throws Exception {
         //given
-        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ServiceMetadataWithServiceOk.xml");
+        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "SubresourceWithServiceOk.xml");
 
         //when
-        Document signedServiceMetadataDoc = DomUtils.toSignedServiceMetadata10Document(inputDoc);
+        Document signedServiceMetadataDoc = DomUtils.toSignedSubresource10Document(inputDoc);
 
         //then
         Element root = signedServiceMetadataDoc.getDocumentElement();
@@ -142,7 +142,7 @@ class ServiceMetadataConverterTest {
     @Test
     void testVulnerabilityParsingDTD() throws Exception {
 
-        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "ServiceMetadataWithDOCTYPE.xml");
+        byte[] inputDoc = XmlTestUtils.loadDocumentAsByteArray(RES_PATH + "SubresourceWithDOCTYPE.xml");
 
         //when then
         BindException result = assertThrows(BindException.class, () -> testInstance.parseNative(new ByteArrayInputStream(inputDoc)));
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPResource10Test.java
similarity index 80%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPResource10Test.java
index 98bf2c23c..569518040 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPResource10Test.java
@@ -18,7 +18,7 @@
  */
 package eu.europa.ec.smp.spi.def;
 
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup10Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPResource10Handler;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import eu.europa.ec.smp.spi.resource.SubresourceDefinitionSpi;
 import org.hamcrest.CoreMatchers;
@@ -30,12 +30,12 @@ import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-class OasisSMPServiceGroup10Test {
+class OasisSMPResource10Test {
 
-    OasisSMPServiceGroup10Handler mockOasisSMPServiceGroup10Handler  = Mockito.mock(OasisSMPServiceGroup10Handler.class);
-    OasisSMPServiceMetadata10 mockOasisSMPServiceMetadata10  = Mockito.mock(OasisSMPServiceMetadata10.class);
+    OasisSMPResource10Handler mockOasisSMPResource10Handler = Mockito.mock(OasisSMPResource10Handler.class);
+    OasisSMPSubresource10 mockOasisSMPSubresource10 = Mockito.mock(OasisSMPSubresource10.class);
 
-    OasisSMPServiceGroup10 testInstance = new OasisSMPServiceGroup10(mockOasisSMPServiceGroup10Handler,mockOasisSMPServiceMetadata10 );
+    OasisSMPResource10 testInstance = new OasisSMPResource10(mockOasisSMPResource10Handler, mockOasisSMPSubresource10);
 
 
     @Test
@@ -78,14 +78,14 @@ class OasisSMPServiceGroup10Test {
         List<SubresourceDefinitionSpi> result = testInstance.getSubresourceSpiList();
 
         assertEquals(1, result.size());
-        assertEquals(mockOasisSMPServiceMetadata10, result.get(0));
+        assertEquals(mockOasisSMPSubresource10, result.get(0));
     }
 
     @Test
     void getResourceHandler() {
         ResourceHandlerSpi result = testInstance.getResourceHandler();
 
-        assertEquals(mockOasisSMPServiceGroup10Handler, result);
+        assertEquals(mockOasisSMPResource10Handler, result);
     }
 
     @Test
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPResource20Test.java
similarity index 80%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPResource20Test.java
index dc9ce0241..86a4a5477 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPResource20Test.java
@@ -18,7 +18,7 @@
  */
 package eu.europa.ec.smp.spi.def;
 
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup20Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPResource20Handler;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import eu.europa.ec.smp.spi.resource.SubresourceDefinitionSpi;
 import org.hamcrest.CoreMatchers;
@@ -30,11 +30,11 @@ import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-class OasisSMPServiceGroup20Test {
-    OasisSMPServiceGroup20Handler mockOasisSMPServiceGroup20Handler = Mockito.mock(OasisSMPServiceGroup20Handler.class);
-    OasisSMPServiceMetadata20 mockOasisSMPServiceMetadata20 = Mockito.mock(OasisSMPServiceMetadata20.class);
+class OasisSMPResource20Test {
+    OasisSMPResource20Handler mockOasisSMPResource20Handler = Mockito.mock(OasisSMPResource20Handler.class);
+    OasisSMPSubresource20 mockOasisSMPSubresource20 = Mockito.mock(OasisSMPSubresource20.class);
 
-    OasisSMPServiceGroup20 testInstance = new OasisSMPServiceGroup20(mockOasisSMPServiceGroup20Handler, mockOasisSMPServiceMetadata20);
+    OasisSMPResource20 testInstance = new OasisSMPResource20(mockOasisSMPResource20Handler, mockOasisSMPSubresource20);
 
 
     @Test
@@ -77,14 +77,14 @@ class OasisSMPServiceGroup20Test {
         List<SubresourceDefinitionSpi> result = testInstance.getSubresourceSpiList();
 
         assertEquals(1, result.size());
-        assertEquals(mockOasisSMPServiceMetadata20, result.get(0));
+        assertEquals(mockOasisSMPSubresource20, result.get(0));
     }
 
     @Test
     void getResourceHandler() {
         ResourceHandlerSpi result = testInstance.getResourceHandler();
 
-        assertEquals(mockOasisSMPServiceGroup20Handler, result);
+        assertEquals(mockOasisSMPResource20Handler, result);
     }
 
     @Test
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource10Test.java
similarity index 84%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource10Test.java
index 23278fe42..02487fd7b 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource10Test.java
@@ -18,7 +18,7 @@
  */
 package eu.europa.ec.smp.spi.def;
 
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceMetadata10Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPSubresource10Handler;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import org.hamcrest.CoreMatchers;
 import org.hamcrest.MatcherAssert;
@@ -27,10 +27,10 @@ import org.mockito.Mockito;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-class OasisSMPServiceMetadata10Test {
+class OasisSMPSubresource10Test {
 
-    OasisSMPServiceMetadata10Handler mockOasisSMPServiceMetadata10Handler = Mockito.mock(OasisSMPServiceMetadata10Handler.class);
-    OasisSMPServiceMetadata10 testInstance = new OasisSMPServiceMetadata10(mockOasisSMPServiceMetadata10Handler);
+    OasisSMPSubresource10Handler mockOasisSMPSubresource10Handler = Mockito.mock(OasisSMPSubresource10Handler.class);
+    OasisSMPSubresource10 testInstance = new OasisSMPSubresource10(mockOasisSMPSubresource10Handler);
 
     @Test
     void identifier() {
@@ -71,7 +71,7 @@ class OasisSMPServiceMetadata10Test {
     void getResourceHandler() {
         ResourceHandlerSpi result = testInstance.getResourceHandler();
 
-        assertEquals(mockOasisSMPServiceMetadata10Handler, result);
+        assertEquals(mockOasisSMPSubresource10Handler, result);
     }
 
     @Test
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata20Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource20Test.java
similarity index 84%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata20Test.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource20Test.java
index 902075924..a993a7a07 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata20Test.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPSubresource20Test.java
@@ -18,7 +18,7 @@
  */
 package eu.europa.ec.smp.spi.def;
 
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceMetadata20Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPSubresource20Handler;
 import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi;
 import org.hamcrest.CoreMatchers;
 import org.hamcrest.MatcherAssert;
@@ -27,10 +27,10 @@ import org.mockito.Mockito;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-class OasisSMPServiceMetadata20Test {
+class OasisSMPSubresource20Test {
 
-    OasisSMPServiceMetadata20Handler mockOasisSMPServiceMetadata20Handler = Mockito.mock(OasisSMPServiceMetadata20Handler.class);
-    OasisSMPServiceMetadata20 testInstance = new OasisSMPServiceMetadata20(mockOasisSMPServiceMetadata20Handler);
+    OasisSMPSubresource20Handler mockOasisSMPSubresource20Handler = Mockito.mock(OasisSMPSubresource20Handler.class);
+    OasisSMPSubresource20 testInstance = new OasisSMPSubresource20(mockOasisSMPSubresource20Handler);
 
     @Test
     void identifier() {
@@ -71,7 +71,7 @@ class OasisSMPServiceMetadata20Test {
     void getResourceHandler() {
         ResourceHandlerSpi result = testInstance.getResourceHandler();
 
-        assertEquals(mockOasisSMPServiceMetadata20Handler, result);
+        assertEquals(mockOasisSMPSubresource20Handler, result);
     }
 
     @Test
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/AbstractHandlerTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/AbstractHandlerTest.java
index 20dbf6b99..d52317222 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/AbstractHandlerTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/AbstractHandlerTest.java
@@ -24,7 +24,7 @@ import eu.europa.ec.smp.spi.api.SmpXmlSignatureApi;
 import eu.europa.ec.smp.spi.api.model.RequestData;
 import eu.europa.ec.smp.spi.api.model.ResourceIdentifier;
 import eu.europa.ec.smp.spi.api.model.ResponseData;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10;
+import eu.europa.ec.smp.spi.def.OasisSMPResource10;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
 import org.mockito.Mockito;
 
@@ -51,7 +51,7 @@ abstract class AbstractHandlerTest {
 
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         Mockito.doReturn(baos).when(responseData).getOutputStream();
-        Mockito.doReturn(OasisSMPServiceGroup10.class.getResourceAsStream(resourceName)).when(requestData).getResourceInputStream();
+        Mockito.doReturn(OasisSMPResource10.class.getResourceAsStream(resourceName)).when(requestData).getResourceInputStream();
         Mockito.doReturn(resourceIdentifier).when(requestData).getResourceIdentifier();
         if (subresourceIdentifier != null) {
             Mockito.doReturn(subresourceIdentifier).when(requestData).getSubresourceIdentifier();
@@ -71,7 +71,7 @@ abstract class AbstractHandlerTest {
 
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         Mockito.doReturn(baos).when(responseData).getOutputStream();
-        Mockito.doReturn(OasisSMPServiceGroup10.class.getResourceAsStream(resourceName)).when(requestData).getResourceInputStream();
+        Mockito.doReturn(OasisSMPResource10.class.getResourceAsStream(resourceName)).when(requestData).getResourceInputStream();
         Mockito.doReturn(resourceIdentifier).when(requestData).getResourceIdentifier();
         if (subresourceIdentifier != null) {
             Mockito.doReturn(subresourceIdentifier).when(requestData).getSubresourceIdentifier();
@@ -92,7 +92,7 @@ abstract class AbstractHandlerTest {
             Mockito.doReturn(subresourceIdentifier).when(requestData).getSubresourceIdentifier();
             Mockito.when(mockSmpIdentifierServiceApi.normalizeSubresourceIdentifier(Mockito.anyString(), Mockito.anyString())).thenAnswer(i -> new ResourceIdentifier((String) i.getArguments()[0], (String) i.getArguments()[1]));
         }
-        Mockito.doReturn(OasisSMPServiceGroup10.class.getResourceAsStream(resourceName)).when(requestData).getResourceInputStream();
+        Mockito.doReturn(OasisSMPResource10.class.getResourceAsStream(resourceName)).when(requestData).getResourceInputStream();
         Mockito.doReturn(resourceIdentifier).when(requestData).getResourceIdentifier();
         Mockito.when(mockSmpIdentifierServiceApi.normalizeResourceIdentifier(Mockito.anyString(), Mockito.anyString())).thenAnswer(i -> new ResourceIdentifier((String) i.getArguments()[0], (String) i.getArguments()[1]));
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10HandlerTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPResource10HandlerTest.java
similarity index 85%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10HandlerTest.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPResource10HandlerTest.java
index 3cc0dcefe..4baafd85b 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10HandlerTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPResource10HandlerTest.java
@@ -25,10 +25,10 @@ import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertThrows;
 
-class OasisSMPServiceGroup10HandlerTest extends AbstractHandlerTest {
+class OasisSMPResource10HandlerTest extends AbstractHandlerTest {
     @Override
     public AbstractOasisSMPHandler getTestInstance() {
-        return new OasisSMPServiceGroup10Handler(mockSmpDataApi, mockSmpIdentifierServiceApi);
+        return new OasisSMPResource10Handler(mockSmpDataApi, mockSmpIdentifierServiceApi);
     }
 
     @Test
@@ -43,7 +43,7 @@ class OasisSMPServiceGroup10HandlerTest extends AbstractHandlerTest {
     void validateResourceOK() throws ResourceException {
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("urn:eu:ncpb:utest", "ehealth-actorid-qns");
         // validate
-        validateResourceAction("/examples/oasis-smp-1.0/ServiceGroupOK.xml", resourceIdentifier);
+        validateResourceAction("/examples/oasis-smp-1.0/ResourceOK.xml", resourceIdentifier);
     }
 
     @Test
@@ -51,7 +51,7 @@ class OasisSMPServiceGroup10HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("urn:eu:ncpb:utest", "ehealth-actorid-qns");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-1.0/ServiceGroupWithDOCTYPE.xml", resourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-1.0/ResourceWithDOCTYPE.xml", resourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("DOCTYPE is disallowed"));
     }
 
@@ -60,7 +60,7 @@ class OasisSMPServiceGroup10HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("urn:poland:ncpb:InvalidIdentifier", "ehealth-actorid-qns");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-1.0/ServiceGroupOK.xml", resourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-1.0/ResourceOK.xml", resourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("Participant identifiers don't match"));
     }
 
@@ -69,13 +69,13 @@ class OasisSMPServiceGroup10HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("urn:poland:ncpb:utestt", "ehealth-actorid-qns");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-1.0/ServiceGroupInvalidScheme.xml", resourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-1.0/ResourceInvalidScheme.xml", resourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("SAXParseException"));
     }
 
     @Test
     void readResourceOK() throws ResourceException {
-        String resourceName = "/examples/oasis-smp-1.0/ServiceGroupOK.xml";
+        String resourceName = "/examples/oasis-smp-1.0/ResourceOK.xml";
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("urn:eu:ncpb:utest", "ehealth-actorid-qns");
 
         readResourceAction(resourceName, resourceIdentifier);
@@ -84,7 +84,7 @@ class OasisSMPServiceGroup10HandlerTest extends AbstractHandlerTest {
 
     @Test
     void storeResourceOK() throws ResourceException {
-        String resourceName = "/examples/oasis-smp-1.0/ServiceGroupOK.xml";
+        String resourceName = "/examples/oasis-smp-1.0/ResourceOK.xml";
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("urn:eu:ncpb:utest", "ehealth-actorid-qns");
 
         storeResourceAction(resourceName, resourceIdentifier);
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup20HandlerTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPResource20HandlerTest.java
similarity index 82%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup20HandlerTest.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPResource20HandlerTest.java
index 4f682bc89..10c5d368a 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup20HandlerTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPResource20HandlerTest.java
@@ -25,10 +25,10 @@ import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertThrows;
 
-class OasisSMPServiceGroup20HandlerTest extends AbstractHandlerTest {
+class OasisSMPResource20HandlerTest extends AbstractHandlerTest {
     @Override
     public AbstractOasisSMPHandler getTestInstance() {
-        return new OasisSMPServiceGroup20Handler(mockSmpDataApi, mockSmpIdentifierServiceApi, mockSignatureApi);
+        return new OasisSMPResource20Handler(mockSmpDataApi, mockSmpIdentifierServiceApi, mockSignatureApi);
     }
 
     @Test
@@ -43,7 +43,7 @@ class OasisSMPServiceGroup20HandlerTest extends AbstractHandlerTest {
     void validateResourceOK() throws ResourceException {
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier( "9925:0367302178", "iso6523-actorid-upis");
         // validate
-        validateResourceAction("/examples/oasis-smp-2.0/service_group_unsigned_valid_iso6523.xml", resourceIdentifier);
+        validateResourceAction("/examples/oasis-smp-2.0/resource_unsigned_valid_iso6523.xml", resourceIdentifier);
     }
 
     @Test
@@ -51,7 +51,7 @@ class OasisSMPServiceGroup20HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier( "9925:0367302178", "iso6523-actorid-upis");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-2.0/service_group_unsigned_invalid_iso6523_DTD.xml", resourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-2.0/resource_unsigned_invalid_iso6523_DTD.xml", resourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("accessExternalDTD"));
     }
 
@@ -60,7 +60,7 @@ class OasisSMPServiceGroup20HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier( "9925:0367302178:invalid", "iso6523-actorid-upis");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-2.0/service_group_unsigned_valid_iso6523.xml", resourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-2.0/resource_unsigned_valid_iso6523.xml", resourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("Participant identifiers don't match"));
     }
 
@@ -69,13 +69,13 @@ class OasisSMPServiceGroup20HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier( "9925:0367302178", "iso6523-actorid-upis");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-2.0/service_group_unsigned_invalid_iso6523.xml", resourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-2.0/resource_unsigned_invalid_iso6523.xml", resourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("SAXParseException"));
     }
 
     @Test
     void readResourceOK() throws ResourceException {
-        String resourceName = "/examples/oasis-smp-2.0/service_group_unsigned_valid_iso6523.xml";
+        String resourceName = "/examples/oasis-smp-2.0/resource_unsigned_valid_iso6523.xml";
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("iso6523-actorid-upis", "9925:0367302178");
 
         readResourceAction(resourceName, resourceIdentifier);
@@ -83,7 +83,7 @@ class OasisSMPServiceGroup20HandlerTest extends AbstractHandlerTest {
 
     @Test
     void storeResourceOK() throws ResourceException {
-        String resourceName = "/examples/oasis-smp-2.0/service_group_unsigned_valid_iso6523-no-references.xml";
+        String resourceName = "/examples/oasis-smp-2.0/resource_unsigned_valid_iso6523-no-references.xml";
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("9925:0367302178", "iso6523-actorid-upis");
 
         storeResourceAction(resourceName, resourceIdentifier);
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata10HandlerTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource10HandlerTest.java
similarity index 84%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata10HandlerTest.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource10HandlerTest.java
index 8894d6ead..297a604bc 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata10HandlerTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource10HandlerTest.java
@@ -20,18 +20,18 @@ package eu.europa.ec.smp.spi.handler;
 
 import eu.europa.ec.smp.spi.api.model.ResourceIdentifier;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
-import eu.europa.ec.smp.spi.validation.ServiceMetadata10Validator;
+import eu.europa.ec.smp.spi.validation.Subresource10Validator;
 import org.hamcrest.MatcherAssert;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertThrows;
 
-class OasisSMPServiceMetadata10HandlerTest extends AbstractHandlerTest {
+class OasisSMPSubresource10HandlerTest extends AbstractHandlerTest {
 
 
     @Override
     public AbstractOasisSMPHandler getTestInstance() {
-        return new OasisSMPServiceMetadata10Handler(mockSmpDataApi, mockSmpIdentifierServiceApi, mockSignatureApi, new ServiceMetadata10Validator(mockSmpIdentifierServiceApi));
+        return new OasisSMPSubresource10Handler(mockSmpDataApi, mockSmpIdentifierServiceApi, mockSignatureApi, new Subresource10Validator(mockSmpIdentifierServiceApi));
     }
 
     @Test
@@ -48,7 +48,7 @@ class OasisSMPServiceMetadata10HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("urn:eu:ncpb:utest", "ehealth-actorid-qns");
         ResourceIdentifier subResourceIdentifier = new ResourceIdentifier("urn::epsos##services:extended:epsos::107", "ehealth-resid-qns");
         // validate
-        validateResourceAction("/examples/oasis-smp-1.0/ServiceMetadataWithServiceOk.xml", resourceIdentifier, subResourceIdentifier);
+        validateResourceAction("/examples/oasis-smp-1.0/SubresourceWithServiceOk.xml", resourceIdentifier, subResourceIdentifier);
     }
 
     @Test
@@ -57,7 +57,7 @@ class OasisSMPServiceMetadata10HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier subResourceIdentifier = new ResourceIdentifier("urn::epsos##services:extended:epsos::107", "ehealth-resid-qns");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-1.0/ServiceMetadataWithDOCTYPE.xml", resourceIdentifier, subResourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-1.0/SubresourceWithDOCTYPE.xml", resourceIdentifier, subResourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("DOCTYPE is disallowed"));
     }
 
@@ -67,7 +67,7 @@ class OasisSMPServiceMetadata10HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier subResourceIdentifier = new ResourceIdentifier("urn::epsos##services:extended:epsos::101", "ehealth-resid-qns");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-1.0/ServiceMetadataWithServiceOk.xml", resourceIdentifier, subResourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-1.0/SubresourceWithServiceOk.xml", resourceIdentifier, subResourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("Participant identifiers don't match"));
     }
 
@@ -77,7 +77,7 @@ class OasisSMPServiceMetadata10HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier subResourceIdentifier = new ResourceIdentifier("urn::epsos##services:extended:epsos::101:invalidIdentifeir", "ehealth-resid-qns");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-1.0/ServiceMetadataWithServiceOk.xml", resourceIdentifier, subResourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-1.0/SubresourceWithServiceOk.xml", resourceIdentifier, subResourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("Document identifiers don't match"));
     }
 
@@ -87,13 +87,13 @@ class OasisSMPServiceMetadata10HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier subResourceIdentifier = new ResourceIdentifier("urn::epsos##services:extended:epsos::10", "ehealth-resid-qns");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-1.0/ServiceMetadataMissingMandatoryFields.xml", resourceIdentifier, subResourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-1.0/SubresourceMissingMandatoryFields.xml", resourceIdentifier, subResourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("SAXParseException"));
     }
 
     @Test
     void readResourceOK() throws ResourceException {
-        String resourceName = "/examples/oasis-smp-1.0/ServiceMetadataWithServiceOk.xml";
+        String resourceName = "/examples/oasis-smp-1.0/SubresourceWithServiceOk.xml";
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("urn:eu:ncpb:utest", "ehealth-actorid-qns");
         ResourceIdentifier subResourceIdentifier = new ResourceIdentifier("urn::epsos##services:extended:epsos::10", "ehealth-resid-qns");
 
@@ -103,7 +103,7 @@ class OasisSMPServiceMetadata10HandlerTest extends AbstractHandlerTest {
 
     @Test
     void storeResourceOK() throws ResourceException {
-        String resourceName = "/examples/oasis-smp-1.0/ServiceMetadataWithServiceOk.xml";
+        String resourceName = "/examples/oasis-smp-1.0/SubresourceWithServiceOk.xml";
         ResourceIdentifier resourceIdentifier = new ResourceIdentifier("urn:eu:ncpb:utest", "ehealth-actorid-qns");
         ResourceIdentifier subResourceIdentifier = new ResourceIdentifier("urn::epsos##services:extended:epsos::107", "ehealth-resid-qns");
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource20HandlerTest.java
similarity index 78%
rename from smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java
rename to smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource20HandlerTest.java
index 36778b70a..7d44e700e 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPSubresource20HandlerTest.java
@@ -20,13 +20,13 @@ package eu.europa.ec.smp.spi.handler;
 
 import eu.europa.ec.smp.spi.api.model.ResourceIdentifier;
 import eu.europa.ec.smp.spi.exceptions.ResourceException;
-import eu.europa.ec.smp.spi.validation.ServiceMetadata20Validator;
+import eu.europa.ec.smp.spi.validation.Subresource20Validator;
 import org.hamcrest.MatcherAssert;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertThrows;
 
-class OasisSMPServiceMetadata20HandlerTest extends AbstractHandlerTest {
+class OasisSMPSubresource20HandlerTest extends AbstractHandlerTest {
 
 
     ResourceIdentifier resourceIdentifier = new ResourceIdentifier( "9915:123456789", "iso6523-actorid-upis");
@@ -34,7 +34,7 @@ class OasisSMPServiceMetadata20HandlerTest extends AbstractHandlerTest {
 
     @Override
     public AbstractOasisSMPHandler getTestInstance() {
-        return new OasisSMPServiceMetadata20Handler(mockSmpDataApi, mockSmpIdentifierServiceApi, mockSignatureApi, new ServiceMetadata20Validator(mockSmpIdentifierServiceApi) );
+        return new OasisSMPSubresource20Handler(mockSmpDataApi, mockSmpIdentifierServiceApi, mockSignatureApi, new Subresource20Validator(mockSmpIdentifierServiceApi) );
     }
 
     @Test
@@ -47,14 +47,14 @@ class OasisSMPServiceMetadata20HandlerTest extends AbstractHandlerTest {
     void validateResourceOK() throws ResourceException {
 
         // validate
-        validateResourceAction("/examples/oasis-smp-2.0/service_metadata_unsigned_valid_iso6523.xml", resourceIdentifier, subResourceIdentifier);
+        validateResourceAction("/examples/oasis-smp-2.0/subresource_unsigned_valid_iso6523.xml", resourceIdentifier, subResourceIdentifier);
     }
 
     @Test
     void validateResourceDisallowedDocType() {
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-2.0/service_metadata_unsigned_invalid_iso6523_DTD.xml", resourceIdentifier, subResourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-2.0/subresource_unsigned_invalid_iso6523_DTD.xml", resourceIdentifier, subResourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("accessExternalDTD"));
     }
 
@@ -63,7 +63,7 @@ class OasisSMPServiceMetadata20HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier resourceIdentifierInvalid = new ResourceIdentifier("urn:poland:ncpb:wrongIdentifier", "ehealth-actorid-qns");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-2.0/service_metadata_unsigned_valid_iso6523.xml", resourceIdentifierInvalid, subResourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-2.0/subresource_unsigned_valid_iso6523.xml", resourceIdentifierInvalid, subResourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("Participant identifiers don't match"));
     }
 
@@ -73,7 +73,7 @@ class OasisSMPServiceMetadata20HandlerTest extends AbstractHandlerTest {
         ResourceIdentifier subResourceIdentifier = new ResourceIdentifier("urn::epsos##services:extended:epsos::101:invalidIdentifeir", "ehealth-resid-qns");
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-2.0/service_metadata_unsigned_valid_iso6523.xml", resourceIdentifier, subResourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-2.0/subresource_unsigned_valid_iso6523.xml", resourceIdentifier, subResourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("Document identifiers don't match"));
     }
 
@@ -82,20 +82,20 @@ class OasisSMPServiceMetadata20HandlerTest extends AbstractHandlerTest {
 
         // validate
         ResourceException result = assertThrows(ResourceException.class,
-                () -> validateResourceAction("/examples/oasis-smp-2.0/service_metadata_unsigned_invalid_iso6523.xml", resourceIdentifier, subResourceIdentifier));
+                () -> validateResourceAction("/examples/oasis-smp-2.0/subresource_unsigned_invalid_iso6523.xml", resourceIdentifier, subResourceIdentifier));
         MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.containsString("SAXParseException"));
     }
 
     @Test
     void readResourceOK() throws ResourceException {
-        String resourceName = "/examples/oasis-smp-2.0/service_metadata_unsigned_valid_iso6523.xml";
+        String resourceName = "/examples/oasis-smp-2.0/subresource_unsigned_valid_iso6523.xml";
 
         readResourceAction(resourceName, resourceIdentifier, subResourceIdentifier);
     }
 
     @Test
     void storeResourceOK() throws ResourceException {
-        String resourceName = "/examples/oasis-smp-2.0/service_metadata_unsigned_valid_iso6523.xml";
+        String resourceName = "/examples/oasis-smp-2.0/subresource_unsigned_valid_iso6523.xml";
         storeResourceAction(resourceName, resourceIdentifier, subResourceIdentifier);
     }
 
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceGroupInvalidScheme.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ResourceInvalidScheme.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceGroupInvalidScheme.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ResourceInvalidScheme.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceGroupOK.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ResourceOK.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceGroupOK.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ResourceOK.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceGroupWithDOCTYPE.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ResourceWithDOCTYPE.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceGroupWithDOCTYPE.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ResourceWithDOCTYPE.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceGroupWithExtension.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ResourceWithExtension.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceGroupWithExtension.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ResourceWithExtension.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataMissingMandatoryFields.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceMissingMandatoryFields.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataMissingMandatoryFields.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceMissingMandatoryFields.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataWithDOCTYPE.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceWithDOCTYPE.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataWithDOCTYPE.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceWithDOCTYPE.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataWithRedirect.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceWithRedirect.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataWithRedirect.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceWithRedirect.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataWithServiceInformationUtf8.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceWithServiceInformationUtf8.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataWithServiceInformationUtf8.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceWithServiceInformationUtf8.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataWithServiceOk.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceWithServiceOk.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataWithServiceOk.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-1.0/SubresourceWithServiceOk.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_group_unsigned_invalid_iso6523.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/resource_unsigned_invalid_iso6523.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_group_unsigned_invalid_iso6523.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/resource_unsigned_invalid_iso6523.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_group_unsigned_invalid_iso6523_DTD.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/resource_unsigned_invalid_iso6523_DTD.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_group_unsigned_invalid_iso6523_DTD.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/resource_unsigned_invalid_iso6523_DTD.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_group_unsigned_valid_iso6523-no-references.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/resource_unsigned_valid_iso6523-no-references.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_group_unsigned_valid_iso6523-no-references.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/resource_unsigned_valid_iso6523-no-references.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_group_unsigned_valid_iso6523.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/resource_unsigned_valid_iso6523.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_group_unsigned_valid_iso6523.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/resource_unsigned_valid_iso6523.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_metadata_unsigned_invalid_iso6523.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/subresource_unsigned_invalid_iso6523.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_metadata_unsigned_invalid_iso6523.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/subresource_unsigned_invalid_iso6523.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_metadata_unsigned_invalid_iso6523_DTD.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/subresource_unsigned_invalid_iso6523_DTD.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_metadata_unsigned_invalid_iso6523_DTD.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/subresource_unsigned_invalid_iso6523_DTD.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_metadata_unsigned_redirection_iso6523.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/subresource_unsigned_redirection_iso6523.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_metadata_unsigned_redirection_iso6523.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/subresource_unsigned_redirection_iso6523.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_metadata_unsigned_valid_iso6523.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/subresource_unsigned_valid_iso6523.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/service_metadata_unsigned_valid_iso6523.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/oasis-smp-2.0/subresource_unsigned_valid_iso6523.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ServiceGroupPoland.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ResourcePoland.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ServiceGroupPoland.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ResourcePoland.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ServiceGroupTestSgId2.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ResourceTestSgId2.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ServiceGroupTestSgId2.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ResourceTestSgId2.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/SignedServiceMetadataPoland.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/SignedSubresourcePoland.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/SignedServiceMetadataPoland.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/SignedSubresourcePoland.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ServiceMetadataDifferentCertificatesTypes.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/SubresourceDifferentCertificatesTypes.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ServiceMetadataDifferentCertificatesTypes.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/SubresourceDifferentCertificatesTypes.xml
diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ServiceMetadataPoland.xml b/smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/SubresourcePoland.xml
similarity index 100%
rename from smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/ServiceMetadataPoland.xml
rename to smp-resource-extensions/oasis-smp-spi/src/test/resources/examples/services/SubresourcePoland.xml
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java
index c003f2280..edecf0cbd 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java
@@ -22,12 +22,11 @@ import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao;
 import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
 import eu.europa.ec.edelivery.smp.servlet.ResourceRequest;
 import eu.europa.ec.edelivery.smp.servlet.ResourceResponse;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceMetadata10;
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup10Handler;
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceMetadata10Handler;
-import eu.europa.ec.smp.spi.validation.ServiceMetadata10Validator;
-import org.junit.jupiter.api.Assertions;
+import eu.europa.ec.smp.spi.def.OasisSMPResource10;
+import eu.europa.ec.smp.spi.def.OasisSMPSubresource10;
+import eu.europa.ec.smp.spi.handler.OasisSMPResource10Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPSubresource10Handler;
+import eu.europa.ec.smp.spi.validation.Subresource10Validator;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
@@ -45,11 +44,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 
 // add SPI examples to the context
-@ContextConfiguration(classes = {OasisSMPServiceGroup10.class,
-        OasisSMPServiceMetadata10.class,
-        OasisSMPServiceGroup10Handler.class,
-        OasisSMPServiceMetadata10Handler.class,
-        ServiceMetadata10Validator.class})
+@ContextConfiguration(classes = {OasisSMPResource10.class,
+        OasisSMPSubresource10.class,
+        OasisSMPResource10Handler.class,
+        OasisSMPSubresource10Handler.class,
+        Subresource10Validator.class})
 class ResourceHandlerServiceTest extends AbstractJunit5BaseDao {
 
     @Autowired
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java
index 80798e074..977eae1f5 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java
@@ -25,11 +25,11 @@ import eu.europa.ec.edelivery.smp.data.ui.DocumentRo;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest;
 import eu.europa.ec.edelivery.smp.services.resource.ResourceHandlerService;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10;
-import eu.europa.ec.smp.spi.def.OasisSMPServiceMetadata10;
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup10Handler;
-import eu.europa.ec.smp.spi.handler.OasisSMPServiceMetadata10Handler;
-import eu.europa.ec.smp.spi.validation.ServiceMetadata10Validator;
+import eu.europa.ec.smp.spi.def.OasisSMPResource10;
+import eu.europa.ec.smp.spi.def.OasisSMPSubresource10;
+import eu.europa.ec.smp.spi.handler.OasisSMPResource10Handler;
+import eu.europa.ec.smp.spi.handler.OasisSMPSubresource10Handler;
+import eu.europa.ec.smp.spi.validation.Subresource10Validator;
 import org.hamcrest.CoreMatchers;
 import org.hamcrest.MatcherAssert;
 import org.junit.Before;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThrows;
 
 @ContextConfiguration(classes = {UIDocumentService.class, ConversionTestConfig.class, ResourceHandlerService.class,
-        OasisSMPServiceGroup10.class, OasisSMPServiceGroup10Handler.class, OasisSMPServiceMetadata10.class, OasisSMPServiceMetadata10Handler.class, ServiceMetadata10Validator.class,})
+        OasisSMPResource10.class, OasisSMPResource10Handler.class, OasisSMPSubresource10.class, OasisSMPSubresource10Handler.class, Subresource10Validator.class,})
 public class UIDocumentServiceTest extends AbstractServiceIntegrationTest {
 
     @Autowired
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-data.sql b/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-data.sql
index 44abff239..4540b0303 100644
--- a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-data.sql
+++ b/smp-webapp/src/main/smp-setup/database-scripts/oracle10g-data.sql
@@ -1,7 +1,12 @@
-insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'system', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'SYSTEM_ADMIN', 1, sysdate, sysdate);
-insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'smp', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'SMP_ADMIN', 1, sysdate, sysdate);
-insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'user', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'SERVICE_GROUP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_USER (ID, USERNAME, ACTIVE, APPLICATION_ROLE, EMAIL, CREATED_ON, LAST_UPDATED_ON) values
+    (-1, 'system', 1, 'SYSTEM_ADMIN', 'system@mail-example.local', sysdate,  sysdate);
+insert into SMP_CREDENTIAL (ID, FK_USER_ID, CREDENTIAL_ACTIVE, CREDENTIAL_NAME, CREDENTIAL_VALUE, CREDENTIAL_TYPE, CREDENTIAL_TARGET, CREATED_ON, LAST_UPDATED_ON) values
+    (-1, -1, 1, 'system', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'USERNAME_PASSWORD','UI',  sysdate,  sysdate);
 
+insert into SMP_USER (ID, USERNAME, ACTIVE, APPLICATION_ROLE, EMAIL, CREATED_ON, LAST_UPDATED_ON) values
+    (-2, 'user', 1, 'USER',  'user@mail-example.local',  sysdate,  sysdate);
+insert into SMP_CREDENTIAL (ID, FK_USER_ID, CREDENTIAL_ACTIVE, CREDENTIAL_NAME, CREDENTIAL_VALUE, CREDENTIAL_TYPE, CREDENTIAL_TARGET, CREATED_ON, LAST_UPDATED_ON) values
+    (-2, -2, 1, 'user', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'USERNAME_PASSWORD','UI', sysdate,  sysdate);
 
 -- insert domain
 insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SIGNATURE_KEY_ALIAS, SML_CLIENT_KEY_ALIAS, SML_CLIENT_CERT_AUTH, SML_REGISTERED,  CREATED_ON, LAST_UPDATED_ON) values
-- 
GitLab