From 3fcc062f53c2e584b158fc71b5ccb0d27e610952 Mon Sep 17 00:00:00 2001
From: Lars Johansson <lars.johansson@ess.eu>
Date: Thu, 22 Dec 2022 12:46:16 +0100
Subject: [PATCH] Refactor for clarity

Refactor for clarity.
Remove usage of port 8083.
---
 README.md                                     |   2 +-
 docker-compose-demo.yml                       |   2 +-
 docker-compose-integrationtest.yml            |   2 +-
 docker-compose.yml                            |   2 +-
 .../openepics/names/service/NamesService.java |   5 +-
 .../names/service/StructuresService.java      | 153 +++++++++---------
 .../openepics/names/util/NameElementUtil.java |  17 ++
 src/main/resources/application.properties     |   5 +-
 src/test/resources/application.properties     |   5 +-
 9 files changed, 105 insertions(+), 88 deletions(-)

diff --git a/README.md b/README.md
index c2f6e03e..cc9e24cd 100644
--- a/README.md
+++ b/README.md
@@ -61,7 +61,7 @@ or with `java -jar`
 * start application
     * `java -jar target/naming-backend-*.jar`
     * `java -jar -Dspring.datasource.url=jdbc:postgresql://localhost:5432/discs_names target/naming-backend-*.jar`
-* browse to `http://localhost:8083/swagger-ui.html`
+* browse to `http://localhost:8080/swagger-ui.html`
 
 #### Integration tests with Docker containers
 
diff --git a/docker-compose-demo.yml b/docker-compose-demo.yml
index 7573a34a..a11410ae 100644
--- a/docker-compose-demo.yml
+++ b/docker-compose-demo.yml
@@ -10,7 +10,7 @@ services:
     networks:
       - naming-net
     ports:
-      - "8080:8083"
+      - "8080:8080"
     depends_on:
       postgres: 
         condition: service_healthy
diff --git a/docker-compose-integrationtest.yml b/docker-compose-integrationtest.yml
index 406e1b6e..b7801292 100644
--- a/docker-compose-integrationtest.yml
+++ b/docker-compose-integrationtest.yml
@@ -9,7 +9,7 @@ services:
     networks:
       - naming-net
     ports:
-      - "8080:8083"
+      - "8080:8080"
     depends_on:
       postgres: 
         condition: service_healthy
diff --git a/docker-compose.yml b/docker-compose.yml
index fdced579..374ba4a1 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -10,7 +10,7 @@ services:
     networks:
       - naming-net
     ports:
-      - "8080:8083"
+      - "8080:8080"
     depends_on:
       - postgres
     command: "java -jar /naming/naming-backend.jar"
diff --git a/src/main/java/org/openepics/names/service/NamesService.java b/src/main/java/org/openepics/names/service/NamesService.java
index 5135ff22..4c1e1a8b 100644
--- a/src/main/java/org/openepics/names/service/NamesService.java
+++ b/src/main/java/org/openepics/names/service/NamesService.java
@@ -248,10 +248,7 @@ public class NamesService {
         List<Name> names = nameRepository.readNames(deleted, uuid, name, nameequivalence, systemstructure, devicestructure, index, description, includeHistory, orderBy, isAsc, offset, limit);
         Long totalCount = nameRepository.countNames(deleted, uuid, name, nameequivalence, systemstructure, devicestructure, index, description, includeHistory);
 
-        final List<NameElement> nameElements = Lists.newArrayList();
-        for (Name namee : names) {
-            nameElements.add(NameElementUtil.getNameElement(namee));
-        }
+        final List<NameElement> nameElements = NameElementUtil.getNameElements(names);
 
         ResponsePageNameElements response = new ResponsePageNameElements(nameElements, totalCount, nameElements.size(), offset, limit);
         LOGGER.log(Level.FINE, "readNames, response:        {0}", response);
diff --git a/src/main/java/org/openepics/names/service/StructuresService.java b/src/main/java/org/openepics/names/service/StructuresService.java
index 96497f68..f9e74e81 100644
--- a/src/main/java/org/openepics/names/service/StructuresService.java
+++ b/src/main/java/org/openepics/names/service/StructuresService.java
@@ -160,6 +160,7 @@ public class StructuresService {
             //     namingConvention.equivalenceClassRepresentative return null for null input
 
             UUID uuid = UUID.randomUUID();
+            Type type = structureElement.getType();
             String name = structureElement.getName();
             String mnemonic = structureElement.getMnemonic();
             mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic;
@@ -167,7 +168,7 @@ public class StructuresService {
             String description = structureElement.getDescription();
             String requestedComment = structureElement.getComment();
 
-            if (Type.SYSTEMGROUP.equals(structureElement.getType())) {
+            if (Type.SYSTEMGROUP.equals(type)) {
                 // note rules for mnemonic for system group
 
                 // create
@@ -179,7 +180,7 @@ public class StructuresService {
 
                 // add
                 createdStructureElements.add(StructureElementUtil.getStructureElementRequested(systemGroup));
-            } else if (Type.SYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SYSTEM.equals(type)) {
                 // create
                 System system = new System(uuid, structureElement.getParent(),
                         name, mnemonic, equivalenceClassRepresentative,
@@ -189,7 +190,7 @@ public class StructuresService {
 
                 // add
                 createdStructureElements.add(StructureElementUtil.getStructureElementRequested(system));
-            } else if (Type.SUBSYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SUBSYSTEM.equals(type)) {
                 // create
                 Subsystem subsystem = new Subsystem(uuid, structureElement.getParent(),
                         name, mnemonic, equivalenceClassRepresentative,
@@ -199,7 +200,7 @@ public class StructuresService {
 
                 // add
                 createdStructureElements.add(StructureElementUtil.getStructureElementRequested(subsystem));
-            } else if (Type.DISCIPLINE.equals(structureElement.getType())) {
+            } else if (Type.DISCIPLINE.equals(type)) {
                 // create
                 Discipline discipline = new Discipline(uuid,
                         name, mnemonic, equivalenceClassRepresentative,
@@ -209,7 +210,7 @@ public class StructuresService {
 
                 // add
                 createdStructureElements.add(StructureElementUtil.getStructureElementRequested(discipline));
-            } else if (Type.DEVICEGROUP.equals(structureElement.getType())) {
+            } else if (Type.DEVICEGROUP.equals(type)) {
                 // note rules for mnemonic for device group
 
                 // create
@@ -221,7 +222,7 @@ public class StructuresService {
 
                 // add
                 createdStructureElements.add(StructureElementUtil.getStructureElementRequested(deviceGroup));
-            } else if (Type.DEVICETYPE.equals(structureElement.getType())) {
+            } else if (Type.DEVICETYPE.equals(type)) {
                 // create
                 DeviceType deviceType = new DeviceType(uuid, structureElement.getParent(),
                         name, mnemonic, equivalenceClassRepresentative,
@@ -813,10 +814,10 @@ public class StructuresService {
         String requestedBy = TextUtil.TEST_WHO;
         final List<StructureElement> updatedStructureElements = Lists.newArrayList();
         for (StructureElementCommand structureElement : structureElements) {
-            // note
-            //     namingConvention.equivalenceClassRepresentative return null for null input
+            // namingConvention.equivalenceClassRepresentative return null for null input
 
             UUID uuid = structureElement.getUuid();
+            Type type = structureElement.getType();
             String name = structureElement.getName();
             String mnemonic = structureElement.getMnemonic();
             mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic;
@@ -824,7 +825,7 @@ public class StructuresService {
             String description = structureElement.getDescription();
             String requestedComment = structureElement.getComment();
 
-            if (Type.SYSTEMGROUP.equals(structureElement.getType())) {
+            if (Type.SYSTEMGROUP.equals(type)) {
                 // note rules for mnemonic for system group
 
                 // create
@@ -836,7 +837,7 @@ public class StructuresService {
 
                 // add
                 updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(systemGroup));
-            } else if (Type.SYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SYSTEM.equals(type)) {
                 // create
                 System system = new System(uuid, structureElement.getParent(),
                         name, structureElement.getMnemonic(), equivalenceClassRepresentative,
@@ -846,7 +847,7 @@ public class StructuresService {
 
                 // add
                 updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(system));
-            } else if (Type.SUBSYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SUBSYSTEM.equals(type)) {
                 // create
                 Subsystem subsystem = new Subsystem(uuid, structureElement.getParent(),
                         name, mnemonic, equivalenceClassRepresentative,
@@ -856,7 +857,7 @@ public class StructuresService {
 
                 // add
                 updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(subsystem));
-            } else if (Type.DISCIPLINE.equals(structureElement.getType())) {
+            } else if (Type.DISCIPLINE.equals(type)) {
                 // create
                 Discipline discipline = new Discipline(uuid,
                         name, mnemonic, equivalenceClassRepresentative,
@@ -866,7 +867,7 @@ public class StructuresService {
 
                 // add
                 updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(discipline));
-            } else if (Type.DEVICEGROUP.equals(structureElement.getType())) {
+            } else if (Type.DEVICEGROUP.equals(type)) {
                 // note rules for mnemonic for device group
 
                 // create
@@ -878,7 +879,7 @@ public class StructuresService {
 
                 // add
                 updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(deviceGroup));
-            } else if (Type.DEVICETYPE.equals(structureElement.getType())) {
+            } else if (Type.DEVICETYPE.equals(type)) {
                 // create
                 DeviceType deviceType = new DeviceType(uuid, structureElement.getParent(),
                         name, mnemonic, equivalenceClassRepresentative,
@@ -917,11 +918,12 @@ public class StructuresService {
         String requestedBy = TextUtil.TEST_WHO;
         final List<StructureElement> deletedStructureElements = Lists.newArrayList();
         for (StructureElementCommand structureElement : structureElements) {
-            String queryValue = structureElement.getUuid().toString();
+            String uuid = structureElement.getUuid().toString();
+            Type type = structureElement.getType();
 
-            if (Type.SYSTEMGROUP.equals(structureElement.getType())) {
+            if (Type.SYSTEMGROUP.equals(type)) {
                 // find
-                List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null);
+                List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) {
                     continue;
                 }
@@ -936,9 +938,9 @@ public class StructuresService {
 
                 // add
                 deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(systemGroup));
-            } else if (Type.SYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SYSTEM.equals(type)) {
                 // find
-                List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(systems, 1)) {
                     continue;
                 }
@@ -953,9 +955,9 @@ public class StructuresService {
 
                 // add
                 deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(system));
-            } else if (Type.SUBSYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SUBSYSTEM.equals(type)) {
                 // find
-                List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(subsystems, 1)) {
                     continue;
                 }
@@ -970,9 +972,9 @@ public class StructuresService {
 
                 // add
                 deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(subsystem));
-            } else if (Type.DISCIPLINE.equals(structureElement.getType())) {
+            } else if (Type.DISCIPLINE.equals(type)) {
                 // find
-                List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null);
+                List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(disciplines, 1)) {
                     continue;
                 }
@@ -987,9 +989,9 @@ public class StructuresService {
 
                 // add
                 deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(discipline));
-            } else if (Type.DEVICEGROUP.equals(structureElement.getType())) {
+            } else if (Type.DEVICEGROUP.equals(type)) {
                 // find
-                List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) {
                     continue;
                 }
@@ -1004,9 +1006,9 @@ public class StructuresService {
 
                 // add
                 deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(deviceGroup));
-            } else if (Type.DEVICETYPE.equals(structureElement.getType())) {
+            } else if (Type.DEVICETYPE.equals(type)) {
                 // find
-                List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) {
                     continue;
                 }
@@ -1067,12 +1069,13 @@ public class StructuresService {
         String processedBy = TextUtil.TEST_WHO;
         final List<StructureElement> approvedStructureElements = Lists.newArrayList();
         for (StructureElementCommand structureElement : structureElements) {
-            String queryValue = structureElement.getUuid().toString();
+            String uuid = structureElement.getUuid().toString();
+            Type type = structureElement.getType();
             String processedComment = structureElement.getComment();
 
-            if (Type.SYSTEMGROUP.equals(structureElement.getType())) {
+            if (Type.SYSTEMGROUP.equals(type)) {
                 // find
-                List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null);
+                List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null);
                 SystemGroup systemGroup = null;
                 if (ValidateUtil.isSize(systemGroups, 1)) {
                     systemGroup = systemGroups.get(0);
@@ -1083,7 +1086,7 @@ public class StructuresService {
                 }
 
                 // find
-                systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, queryValue, null, null, null, null, null);
+                systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) {
                     continue;
                 }
@@ -1099,7 +1102,7 @@ public class StructuresService {
                 //         system structure should exist (uuid), one entry that is not deleted
                 //         name should not exist (system structure mnemonic)
                 // create name within current transaction
-                systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(null, Boolean.FALSE, queryValue, null, null, null, null, null);
+                systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(null, Boolean.FALSE, uuid, null, null, null, null, null);
                 boolean existsName = !StringUtils.isEmpty(systemGroup.getMnemonic()) && namesService.existsName(StructureUtil.getMnemonicPath(systemGroup, holder));
                 if (ValidateUtil.isSize(systemGroups, 1) && !existsName) {
                     NameElementCommand nameElement = new NameElementCommand(null, systemGroup.getUuid(), null, null, SYSTEM_STRUCTURE_ONLY, null);
@@ -1109,9 +1112,9 @@ public class StructuresService {
 
                 // add
                 approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(systemGroup, holder, StructureChoice.STRUCTURE));
-            } else if (Type.SYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SYSTEM.equals(type)) {
                 // find
-                List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 System system = null;
                 if (ValidateUtil.isSize(systems, 1)) {
                     system = systems.get(0);
@@ -1122,7 +1125,7 @@ public class StructuresService {
                 }
 
                 // find
-                systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(systems, 1)) {
                     continue;
                 }
@@ -1138,7 +1141,7 @@ public class StructuresService {
                 //         system structure should exist (uuid), one entry that is not deleted
                 //         name should not exist (system structure mnemonic)
                 // create name within current transaction
-                systems = holderRepositories.getSystemRepository().readSystems(null, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                systems = holderRepositories.getSystemRepository().readSystems(null, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 boolean existsName = !StringUtils.isEmpty(system.getMnemonic()) && namesService.existsName(StructureUtil.getMnemonicPath(system, holder));
                 if (ValidateUtil.isSize(systems, 1) && !existsName) {
                     NameElementCommand nameElement = new NameElementCommand(null, system.getUuid(), null, null, SYSTEM_STRUCTURE_ONLY, null);
@@ -1148,9 +1151,9 @@ public class StructuresService {
 
                 // add
                 approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(system, holder, StructureChoice.STRUCTURE));
-            } else if (Type.SUBSYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SUBSYSTEM.equals(type)) {
                 // find
-                List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 Subsystem subsystem = null;
                 if (ValidateUtil.isSize(subsystems, 1)) {
                     subsystem = subsystems.get(0);
@@ -1161,7 +1164,7 @@ public class StructuresService {
                 }
 
                 // find
-                subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(subsystems, 1)) {
                     continue;
                 }
@@ -1177,7 +1180,7 @@ public class StructuresService {
                 //         system structure should exist (uuid), one entry that is not deleted
                 //         name should not exist (system structure mnemonic)
                 // create name within current transaction
-                subsystems = holderRepositories.getSubsystemRepository().readSubsystems(null, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                subsystems = holderRepositories.getSubsystemRepository().readSubsystems(null, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 boolean existsName = !StringUtils.isEmpty(subsystem.getMnemonic()) && namesService.existsName(StructureUtil.getMnemonicPath(subsystem, holder));
                 if (ValidateUtil.isSize(subsystems, 1) && !existsName) {
                     NameElementCommand nameElement = new NameElementCommand(null, subsystem.getUuid(), null, null, SYSTEM_STRUCTURE_ONLY, null);
@@ -1187,8 +1190,8 @@ public class StructuresService {
 
                 // add
                 approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(subsystem, holder, StructureChoice.STRUCTURE));
-            } else if (Type.DISCIPLINE.equals(structureElement.getType())) {
-                List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null);
+            } else if (Type.DISCIPLINE.equals(type)) {
+                List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null);
                 Discipline discipline = null;
                 if (ValidateUtil.isSize(disciplines, 1)) {
                     discipline = disciplines.get(0);
@@ -1199,7 +1202,7 @@ public class StructuresService {
                 }
 
                 // find
-                disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, queryValue, null, null, null, null, null);
+                disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(disciplines, 1)) {
                     continue;
                 }
@@ -1212,9 +1215,9 @@ public class StructuresService {
 
                 // add
                 approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(discipline, holder, StructureChoice.STRUCTURE));
-            } else if (Type.DEVICEGROUP.equals(structureElement.getType())) {
+            } else if (Type.DEVICEGROUP.equals(type)) {
                 // find
-                List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 DeviceGroup deviceGroup = null;
                 if (ValidateUtil.isSize(deviceGroups, 1)) {
                     deviceGroup = deviceGroups.get(0);
@@ -1225,7 +1228,7 @@ public class StructuresService {
                 }
 
                 // find
-                deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) {
                     continue;
                 }
@@ -1240,7 +1243,7 @@ public class StructuresService {
                 approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(deviceGroup, holder, StructureChoice.STRUCTURE));
             } else if (Type.DEVICETYPE.equals(structureElement.getType())) {
                 // find
-                List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.APPROVED, Boolean.FALSE, queryValue, null, null, null, null, null, null);
+                List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
                 DeviceType deviceType = null;
                 if (ValidateUtil.isSize(deviceTypes, 1)) {
                     deviceType = deviceTypes.get(0);
@@ -1251,7 +1254,7 @@ public class StructuresService {
                 }
 
                 // find
-                deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) {
                     continue;
                 }
@@ -1294,12 +1297,13 @@ public class StructuresService {
         String processedBy = TextUtil.TEST_WHO;
         final List<StructureElement> cancelledStructureElements = Lists.newArrayList();
         for (StructureElementCommand structureElement : structureElements) {
-            String queryValue = structureElement.getUuid().toString();
+            String uuid = structureElement.getUuid().toString();
+            Type type = structureElement.getType();
             String processedComment = structureElement.getComment();
 
-            if (Type.SYSTEMGROUP.equals(structureElement.getType())) {
+            if (Type.SYSTEMGROUP.equals(type)) {
                 // find
-                List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, queryValue, null, null, null, null, null);
+                List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) {
                     continue;
                 }
@@ -1311,9 +1315,9 @@ public class StructuresService {
 
                 // add
                 cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(systemGroup, holder, StructureChoice.STRUCTURE));
-            } else if (Type.SYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SYSTEM.equals(type)) {
                 // find
-                List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(systems, 1)) {
                     continue;
                 }
@@ -1325,9 +1329,9 @@ public class StructuresService {
 
                 // add
                 cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(system, holder, StructureChoice.STRUCTURE));
-            } else if (Type.SUBSYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SUBSYSTEM.equals(type)) {
                 // find
-                List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(subsystems, 1)) {
                     continue;
                 }
@@ -1339,9 +1343,9 @@ public class StructuresService {
 
                 // add
                 cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(subsystem, holder, StructureChoice.STRUCTURE));
-            } else if (Type.DISCIPLINE.equals(structureElement.getType())) {
+            } else if (Type.DISCIPLINE.equals(type)) {
                 // find
-                List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, queryValue, null, null, null, null, null);
+                List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(disciplines, 1)) {
                     continue;
                 }
@@ -1353,9 +1357,9 @@ public class StructuresService {
 
                 // add
                 cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(discipline, holder, StructureChoice.STRUCTURE));
-            } else if (Type.DEVICEGROUP.equals(structureElement.getType())) {
+            } else if (Type.DEVICEGROUP.equals(type)) {
                 // find
-                List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) {
                     continue;
                 }
@@ -1367,8 +1371,8 @@ public class StructuresService {
 
                 // add
                 cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(deviceGroup, holder, StructureChoice.STRUCTURE));
-            } else if (Type.DEVICETYPE.equals(structureElement.getType())) {
-                List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+            } else if (Type.DEVICETYPE.equals(type)) {
+                List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) {
                     continue;
                 }
@@ -1410,12 +1414,13 @@ public class StructuresService {
         String processedBy = TextUtil.TEST_WHO;
         final List<StructureElement> rejectedStructureElements = Lists.newArrayList();
         for (StructureElementCommand structureElement : structureElements) {
-            String queryValue = structureElement.getUuid().toString();
+            String uuid = structureElement.getUuid().toString();
+            Type type = structureElement.getType();
             String processedComment = structureElement.getComment();
 
-            if (Type.SYSTEMGROUP.equals(structureElement.getType())) {
+            if (Type.SYSTEMGROUP.equals(type)) {
                 // find
-                List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, queryValue, null, null, null, null, null);
+                List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) {
                     continue;
                 }
@@ -1427,9 +1432,9 @@ public class StructuresService {
 
                 // add
                 rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(systemGroup, holder, StructureChoice.STRUCTURE));
-            } else if (Type.SYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SYSTEM.equals(type)) {
                 // find
-                List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(systems, 1)) {
                     continue;
                 }
@@ -1441,9 +1446,9 @@ public class StructuresService {
 
                 // add
                 rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(system, holder, StructureChoice.STRUCTURE));
-            } else if (Type.SUBSYSTEM.equals(structureElement.getType())) {
+            } else if (Type.SUBSYSTEM.equals(type)) {
                 // find
-                List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(subsystems, 1)) {
                     continue;
                 }
@@ -1455,9 +1460,9 @@ public class StructuresService {
 
                 // add
                 rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(subsystem, holder, StructureChoice.STRUCTURE));
-            } else if (Type.DISCIPLINE.equals(structureElement.getType())) {
+            } else if (Type.DISCIPLINE.equals(type)) {
                 // find
-                List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, queryValue, null, null, null, null, null);
+                List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(disciplines, 1)) {
                     continue;
                 }
@@ -1469,9 +1474,9 @@ public class StructuresService {
 
                 // add
                 rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(discipline, holder, StructureChoice.STRUCTURE));
-            } else if (Type.DEVICEGROUP.equals(structureElement.getType())) {
+            } else if (Type.DEVICEGROUP.equals(type)) {
                 // find
-                List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) {
                     continue;
                 }
@@ -1483,9 +1488,9 @@ public class StructuresService {
 
                 // add
                 rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(deviceGroup, holder, StructureChoice.STRUCTURE));
-            } else if (Type.DEVICETYPE.equals(structureElement.getType())) {
+            } else if (Type.DEVICETYPE.equals(type)) {
                 // find
-                List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, queryValue, null, null, null, null, null, null);
+                List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null);
                 if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) {
                     continue;
                 }
diff --git a/src/main/java/org/openepics/names/util/NameElementUtil.java b/src/main/java/org/openepics/names/util/NameElementUtil.java
index 852bddcf..28090ea5 100644
--- a/src/main/java/org/openepics/names/util/NameElementUtil.java
+++ b/src/main/java/org/openepics/names/util/NameElementUtil.java
@@ -19,6 +19,7 @@
 package org.openepics.names.util;
 
 import java.util.Date;
+import java.util.List;
 import java.util.UUID;
 
 import org.openepics.names.repository.model.DeviceType;
@@ -30,6 +31,8 @@ import org.openepics.names.rest.beans.Status;
 import org.openepics.names.rest.beans.element.NameElement;
 import org.openepics.names.rest.beans.element.NameElementCommand;
 
+import com.google.common.collect.Lists;
+
 /**
  * Utility class to assist in populating name elements based on repository content.
  * <br/><br/>
@@ -52,6 +55,20 @@ public class NameElementUtil {
         throw new IllegalStateException("Utility class");
     }
 
+    /**
+     * Populate and return list of name elements for list of names.
+     *
+     * @param names names
+     * @return list of name elements
+     */
+    public static List<NameElement> getNameElements(List<Name> names) {
+        List<NameElement> nameElements = Lists.newArrayList();
+        for (Name name : names) {
+            nameElements.add(NameElementUtil.getNameElement(name));
+        }
+        return nameElements;
+    }
+
     /**
      * Populate and return name element for name.
      *
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 5ae6a24c..62016c23 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -2,9 +2,8 @@
 # Naming
 # ------------------------------------------------------------------------------
 
-# server
-#     port
-server.port=8083
+# backend
+naming.backend.swagger.url=${NAMING_BACKEND_SWAGGER_URL:http://localhost:8080/swagger-ui.html}
 
 # logging
 naming.logging.stacktrace.length=10
diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties
index 7ef268cd..ca9f60fa 100644
--- a/src/test/resources/application.properties
+++ b/src/test/resources/application.properties
@@ -2,9 +2,8 @@
 # Naming
 # ------------------------------------------------------------------------------
 
-# server
-#     port
-server.port=8083
+# backend
+naming.backend.swagger.url=${NAMING_BACKEND_SWAGGER_URL:http://localhost:8080/swagger-ui.html}
 
 # logging
 naming.logging.stacktrace.length=10
-- 
GitLab