From edeff4e8009bd341149e21648ed3c0bc9cf8211c Mon Sep 17 00:00:00 2001
From: Lars Johansson <lars.johansson@ess.eu>
Date: Mon, 27 Jun 2022 15:08:35 +0200
Subject: [PATCH] Fix issues as noted by SonarLint + field name in repository
 classes

"@Override" should be used on overriding and implementing methods
"Preconditions" and logging arguments should not require evaluation
"static" base class members should not be accessed via derived types
Collection.isEmpty() should be used to test for emptiness
Constructors of an "abstract" class should not be declared "public"
Mutable fields should not be "public static"
Pattern Matching for "instanceof" operator should be used instead of simple "instanceof" + cast
Redundant casts should not be used
Sections of code should not be commented out
String literals should not be duplicated
Unused assignments should be removed
---
 .../org/openepics/names/old/model/Device.java |  8 +-
 .../openepics/names/old/model/NamePart.java   |  5 +-
 .../names/old/model/UserAccount.java          |  5 +-
 .../repository/DeviceGroupRepository.java     | 59 +++++++------
 .../repository/DeviceTypeRepository.java      | 59 +++++++------
 .../repository/DisciplineRepository.java      | 57 +++++++------
 .../names/repository/NameRepository.java      | 45 +++++-----
 .../names/repository/SubsystemRepository.java | 59 +++++++------
 .../repository/SystemGroupRepository.java     | 57 +++++++------
 .../names/repository/SystemRepository.java    | 59 +++++++------
 .../names/repository/model/DeviceGroup.java   | 10 ++-
 .../names/repository/model/DeviceType.java    | 10 ++-
 .../names/repository/model/Discipline.java    |  6 +-
 .../names/repository/model/Name.java          | 14 ++-
 .../names/repository/model/NameStructure.java | 20 ++++-
 .../names/repository/model/Persistable.java   |  3 +
 .../names/repository/model/Structure.java     | 10 ++-
 .../names/repository/model/Subsystem.java     | 10 ++-
 .../names/repository/model/System.java        | 10 ++-
 .../names/repository/model/SystemGroup.java   |  6 +-
 .../names/rest/beans/response/Response.java   | 26 +++---
 .../rest/beans/response/ResponsePage.java     |  8 +-
 .../GlobalControllerExceptionHandler.java     |  2 +-
 .../controller/HealthcheckController.java     |  3 +-
 .../rest/controller/NamesController.java      | 36 ++++----
 .../rest/controller/StructuresController.java | 42 ++++-----
 .../controller/VerificationController.java    | 14 +--
 .../old/DeviceNamesControllerV0.java          | 42 ++++-----
 .../old/HealthcheckControllerV0.java          |  3 +-
 .../controller/old/HistoryControllerV0.java   |  8 +-
 .../rest/controller/old/PartControllerV0.java | 12 +--
 .../names/rest/filter/RestLogFilter.java      |  8 +-
 .../openepics/names/service/NamesService.java | 50 +++++------
 .../names/service/StructuresService.java      | 85 ++++++++++---------
 .../org/openepics/names/util/ExcelUtil.java   | 10 +--
 35 files changed, 484 insertions(+), 377 deletions(-)

diff --git a/src/main/java/org/openepics/names/old/model/Device.java b/src/main/java/org/openepics/names/old/model/Device.java
index aa2565af..3a0155fb 100644
--- a/src/main/java/org/openepics/names/old/model/Device.java
+++ b/src/main/java/org/openepics/names/old/model/Device.java
@@ -55,8 +55,12 @@ public class Device extends Persistable {
      */
     public UUID getUuid() { return UUID.fromString(uuid); }
 
-    @Override public boolean equals(Object other) {
-        return other instanceof Device && ((Device) other).getUuid().equals(getUuid());
+    @Override
+    public boolean equals(Object other) {
+        if (other instanceof Device object) {
+            return object.getUuid().equals(getUuid());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/old/model/NamePart.java b/src/main/java/org/openepics/names/old/model/NamePart.java
index b80c650b..339ea5ce 100644
--- a/src/main/java/org/openepics/names/old/model/NamePart.java
+++ b/src/main/java/org/openepics/names/old/model/NamePart.java
@@ -78,7 +78,10 @@ public class NamePart extends Persistable {
     public NamePartType getNamePartType() { return namePartType; }
 
     @Override public boolean equals(Object other) {
-        return other instanceof NamePart && ((NamePart) other).getUuid().equals(getUuid());
+        if (other instanceof NamePart object) {
+            return object.getUuid().equals(getUuid());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/old/model/UserAccount.java b/src/main/java/org/openepics/names/old/model/UserAccount.java
index 739f460b..d6b6921b 100644
--- a/src/main/java/org/openepics/names/old/model/UserAccount.java
+++ b/src/main/java/org/openepics/names/old/model/UserAccount.java
@@ -78,7 +78,10 @@ public class UserAccount extends Persistable {
     }
 
     @Override public boolean equals(Object other) {
-        return other instanceof UserAccount && ((UserAccount) other).getUsername().equals(getUsername());
+        if (other instanceof UserAccount object) {
+            return object.getUsername().equals(getUsername());
+        }
+        return false;
     }
 
     @Override public String toString(){
diff --git a/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java b/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java
index 0dc600b4..40640ef8 100644
--- a/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java
+++ b/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java
@@ -32,6 +32,9 @@ import javax.persistence.criteria.Subquery;
 
 import org.apache.commons.lang3.BooleanUtils;
 import org.openepics.names.repository.model.DeviceGroup;
+import org.openepics.names.repository.model.NameStructure;
+import org.openepics.names.repository.model.Persistable;
+import org.openepics.names.repository.model.Structure;
 import org.openepics.names.rest.beans.FieldStructure;
 import org.openepics.names.rest.beans.Status;
 import org.springframework.stereotype.Repository;
@@ -195,35 +198,35 @@ public class DeviceGroupRepository {
         if (orderBy != null) {
             if (BooleanUtils.toBoolean(isAsc)) {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.asc(cb.function("get_mnemonic_path_devicegroup", String.class, from.get("uuid"))));
+                    cq.orderBy(cb.asc(cb.function(DeviceGroup.FUNCTION_GET_MNEMONIC_PATH_DEVICEGROUP, String.class, from.get(NameStructure.FIELD_UUID))));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("description")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("requested")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.asc(from.get("convention_name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 }
             } else {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.desc(cb.function("get_mnemonic_path_devicegroup", String.class, from.get("uuid"))));
+                    cq.orderBy(cb.desc(cb.function(DeviceGroup.FUNCTION_GET_MNEMONIC_PATH_DEVICEGROUP, String.class, from.get(NameStructure.FIELD_UUID))));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("description")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("requested")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 }
             }
         }
@@ -282,14 +285,14 @@ public class DeviceGroupRepository {
 
             Root<DeviceGroup> fromSub = sub.from(DeviceGroup.class);
             sub.where(cb.and(
-                    cb.equal(fromSub.get("uuid"),   from.get("uuid")),
-                    cb.equal(fromSub.get("latest"), Boolean.TRUE)
+                    cb.equal(fromSub.get(NameStructure.FIELD_UUID),   from.get(NameStructure.FIELD_UUID)),
+                    cb.equal(fromSub.get(NameStructure.FIELD_LATEST), Boolean.TRUE)
                     ));
-            sub.select(fromSub.get("id"));
+            sub.select(fromSub.get(Persistable.FIELD_ID));
 
             Predicate predicateExcludeInclude =
                     cb.or(
-                            cb.not(cb.lessThan(from.get("id").as(Long.class), sub)),
+                            cb.not(cb.lessThan(from.get(Persistable.FIELD_ID).as(Long.class), sub)),
                             cb.not(cb.exists(sub)));
             predicates.add(predicateExcludeInclude);
         }
@@ -297,12 +300,12 @@ public class DeviceGroupRepository {
         if (statuses != null) {
             List<Predicate> predicatesStatus = new ArrayList<>();
             for (Status status : statuses) {
-                predicatesStatus.add(cb.equal(from.get("status"), status));
+                predicatesStatus.add(cb.equal(from.get(NameStructure.FIELD_STATUS), status));
             }
-            predicates.add(cb.or((Predicate[]) predicatesStatus.toArray(new Predicate[0])));
+            predicates.add(cb.or(predicatesStatus.toArray(new Predicate[0])));
         }
         if (deleted != null) {
-            predicates.add(cb.equal(from.get("deleted"), deleted));
+            predicates.add(cb.equal(from.get(NameStructure.FIELD_DELETED), deleted));
         }
         if (queryFields != null) {
             for (int i=0; i<queryFields.length; i++) {
@@ -325,25 +328,25 @@ public class DeviceGroupRepository {
 
                 switch (queryFields[i]) {
                     case UUID:
-                        predicates.add(cb.and(cb.equal(from.get("uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), queryValue)));
                         break;
                     case PARENT:
-                        predicates.add(cb.and(cb.equal(from.get("parent_uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(DeviceGroup.FIELD_PARENT_UUID), queryValue)));
                         break;
                     case NAME:
-                        predicates.add(cb.and(cb.like(from.get("name"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_NAME), queryValue)));
                         break;
                     case MNEMONIC:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC), queryValue)));
                         break;
                     case MNEMONICEQUIVALENCE:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic_equivalence"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE), queryValue)));
                         break;
                     case MNEMONICPATH:
-                        predicates.add(cb.and(cb.like(cb.function("get_mnemonic_path_devicegroup", String.class, from.get("uuid")), queryValue)));
+                        predicates.add(cb.and(cb.like(cb.function(DeviceGroup.FUNCTION_GET_MNEMONIC_PATH_DEVICEGROUP, String.class, from.get(NameStructure.FIELD_UUID)), queryValue)));
                         break;
                     case DESCRIPTION:
-                        predicates.add(cb.and(cb.like(from.get("description"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), queryValue)));
                         break;
                     default:
                         continue;
diff --git a/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java b/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java
index 9f2619fb..1c6449d0 100644
--- a/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java
+++ b/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java
@@ -32,6 +32,9 @@ import javax.persistence.criteria.Subquery;
 
 import org.apache.commons.lang3.BooleanUtils;
 import org.openepics.names.repository.model.DeviceType;
+import org.openepics.names.repository.model.NameStructure;
+import org.openepics.names.repository.model.Persistable;
+import org.openepics.names.repository.model.Structure;
 import org.openepics.names.rest.beans.FieldStructure;
 import org.openepics.names.rest.beans.Status;
 import org.springframework.stereotype.Repository;
@@ -195,35 +198,35 @@ public class DeviceTypeRepository {
         if (orderBy != null) {
             if (BooleanUtils.toBoolean(isAsc)) {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.asc(cb.function("get_mnemonic_path_devicetype", String.class, from.get("uuid"))));
+                    cq.orderBy(cb.asc(cb.function(DeviceType.FUNCTION_GET_MNEMONIC_PATH_DEVICETYPE, String.class, from.get(NameStructure.FIELD_UUID))));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("description")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("requested")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.asc(from.get("convention_name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 }
             } else {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.desc(cb.function("get_mnemonic_path_devicetype", String.class, from.get("uuid"))));
+                    cq.orderBy(cb.desc(cb.function(DeviceType.FUNCTION_GET_MNEMONIC_PATH_DEVICETYPE, String.class, from.get(NameStructure.FIELD_UUID))));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("description")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("requested")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 }
             }
         }
@@ -282,14 +285,14 @@ public class DeviceTypeRepository {
 
             Root<DeviceType> fromSub = sub.from(DeviceType.class);
             sub.where(cb.and(
-                    cb.equal(fromSub.get("uuid"),   from.get("uuid")),
-                    cb.equal(fromSub.get("latest"), Boolean.TRUE)
+                    cb.equal(fromSub.get(NameStructure.FIELD_UUID),   from.get(NameStructure.FIELD_UUID)),
+                    cb.equal(fromSub.get(NameStructure.FIELD_LATEST), Boolean.TRUE)
                     ));
-            sub.select(fromSub.get("id"));
+            sub.select(fromSub.get(Persistable.FIELD_ID));
 
             Predicate predicateExcludeInclude =
                     cb.or(
-                            cb.not(cb.lessThan(from.get("id").as(Long.class), sub)),
+                            cb.not(cb.lessThan(from.get(Persistable.FIELD_ID).as(Long.class), sub)),
                             cb.not(cb.exists(sub)));
             predicates.add(predicateExcludeInclude);
         }
@@ -297,12 +300,12 @@ public class DeviceTypeRepository {
         if (statuses != null) {
             List<Predicate> predicatesStatus = new ArrayList<>();
             for (Status status : statuses) {
-                predicatesStatus.add(cb.equal(from.get("status"), status));
+                predicatesStatus.add(cb.equal(from.get(NameStructure.FIELD_STATUS), status));
             }
-            predicates.add(cb.or((Predicate[]) predicatesStatus.toArray(new Predicate[0])));
+            predicates.add(cb.or(predicatesStatus.toArray(new Predicate[0])));
         }
         if (deleted != null) {
-            predicates.add(cb.equal(from.get("deleted"), deleted));
+            predicates.add(cb.equal(from.get(NameStructure.FIELD_DELETED), deleted));
         }
         if (queryFields != null) {
             for (int i=0; i<queryFields.length; i++) {
@@ -325,25 +328,25 @@ public class DeviceTypeRepository {
 
                 switch (queryFields[i]) {
                     case UUID:
-                        predicates.add(cb.and(cb.equal(from.get("uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), queryValue)));
                         break;
                     case PARENT:
-                        predicates.add(cb.and(cb.equal(from.get("parent_uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(DeviceType.FIELD_PARENT_UUID), queryValue)));
                         break;
                     case NAME:
-                        predicates.add(cb.and(cb.like(from.get("name"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_NAME), queryValue)));
                         break;
                     case MNEMONIC:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC), queryValue)));
                         break;
                     case MNEMONICEQUIVALENCE:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic_equivalence"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE), queryValue)));
                         break;
                     case MNEMONICPATH:
-                        predicates.add(cb.and(cb.like(cb.function("get_mnemonic_path_devicetype", String.class, from.get("uuid")), queryValue)));
+                        predicates.add(cb.and(cb.like(cb.function(DeviceType.FUNCTION_GET_MNEMONIC_PATH_DEVICETYPE, String.class, from.get(NameStructure.FIELD_UUID)), queryValue)));
                         break;
                     case DESCRIPTION:
-                        predicates.add(cb.and(cb.like(from.get("description"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), queryValue)));
                         break;
                     default:
                         continue;
diff --git a/src/main/java/org/openepics/names/repository/DisciplineRepository.java b/src/main/java/org/openepics/names/repository/DisciplineRepository.java
index 52de0253..043b888d 100644
--- a/src/main/java/org/openepics/names/repository/DisciplineRepository.java
+++ b/src/main/java/org/openepics/names/repository/DisciplineRepository.java
@@ -32,6 +32,9 @@ import javax.persistence.criteria.Subquery;
 
 import org.apache.commons.lang3.BooleanUtils;
 import org.openepics.names.repository.model.Discipline;
+import org.openepics.names.repository.model.NameStructure;
+import org.openepics.names.repository.model.Persistable;
+import org.openepics.names.repository.model.Structure;
 import org.openepics.names.rest.beans.FieldStructure;
 import org.openepics.names.rest.beans.Status;
 import org.springframework.stereotype.Repository;
@@ -195,35 +198,35 @@ public class DisciplineRepository {
         if (orderBy != null) {
             if (BooleanUtils.toBoolean(isAsc)) {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("description")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("requested")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.asc(from.get("convention_name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 }
             } else {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("description")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("requested")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 }
             }
         }
@@ -282,14 +285,14 @@ public class DisciplineRepository {
 
             Root<Discipline> fromSub = sub.from(Discipline.class);
             sub.where(cb.and(
-                    cb.equal(fromSub.get("uuid"),   from.get("uuid")),
-                    cb.equal(fromSub.get("latest"), Boolean.TRUE)
+                    cb.equal(fromSub.get(NameStructure.FIELD_UUID),   from.get(NameStructure.FIELD_UUID)),
+                    cb.equal(fromSub.get(NameStructure.FIELD_LATEST), Boolean.TRUE)
                     ));
-            sub.select(fromSub.get("id"));
+            sub.select(fromSub.get(Persistable.FIELD_ID));
 
             Predicate predicateExcludeInclude =
                     cb.or(
-                            cb.not(cb.lessThan(from.get("id").as(Long.class), sub)),
+                            cb.not(cb.lessThan(from.get(Persistable.FIELD_ID).as(Long.class), sub)),
                             cb.not(cb.exists(sub)));
             predicates.add(predicateExcludeInclude);
         }
@@ -297,12 +300,12 @@ public class DisciplineRepository {
         if (statuses != null) {
             List<Predicate> predicatesStatus = new ArrayList<>();
             for (Status status : statuses) {
-                predicatesStatus.add(cb.equal(from.get("status"), status));
+                predicatesStatus.add(cb.equal(from.get(NameStructure.FIELD_STATUS), status));
             }
-            predicates.add(cb.or((Predicate[]) predicatesStatus.toArray(new Predicate[0])));
+            predicates.add(cb.or(predicatesStatus.toArray(new Predicate[0])));
         }
         if (deleted != null) {
-            predicates.add(cb.equal(from.get("deleted"), deleted));
+            predicates.add(cb.equal(from.get(NameStructure.FIELD_DELETED), deleted));
         }
         if (queryFields != null) {
             for (int i=0; i<queryFields.length; i++) {
@@ -325,22 +328,22 @@ public class DisciplineRepository {
 
                 switch (queryFields[i]) {
                     case UUID:
-                        predicates.add(cb.and(cb.equal(from.get("uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), queryValue)));
                         break;
                     case NAME:
-                        predicates.add(cb.and(cb.like(from.get("name"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_NAME), queryValue)));
                         break;
                     case MNEMONIC:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC), queryValue)));
                         break;
                     case MNEMONICEQUIVALENCE:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic_equivalence"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE), queryValue)));
                         break;
                     case MNEMONICPATH:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC), queryValue)));
                         break;
                     case DESCRIPTION:
-                        predicates.add(cb.and(cb.like(from.get("description"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), queryValue)));
                         break;
                     default:
                         continue;
diff --git a/src/main/java/org/openepics/names/repository/NameRepository.java b/src/main/java/org/openepics/names/repository/NameRepository.java
index d31a74f5..4db17939 100644
--- a/src/main/java/org/openepics/names/repository/NameRepository.java
+++ b/src/main/java/org/openepics/names/repository/NameRepository.java
@@ -31,6 +31,7 @@ import javax.persistence.criteria.Root;
 
 import org.apache.commons.lang3.BooleanUtils;
 import org.openepics.names.repository.model.Name;
+import org.openepics.names.repository.model.NameStructure;
 import org.openepics.names.rest.beans.FieldName;
 import org.springframework.stereotype.Repository;
 
@@ -164,35 +165,35 @@ public class NameRepository {
         if (orderBy != null) {
             if (BooleanUtils.toBoolean(isAsc)) {
                 if (FieldName.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("convention_name")));
+                    cq.orderBy(cb.asc(from.get(Name.FIELD_CONVENTION_NAME)));
                 } else if (FieldName.NAMEEQUIVALENCE.equals(orderBy)) {
-                        cq.orderBy(cb.asc(from.get("convention_name_equivalence")));
+                        cq.orderBy(cb.asc(from.get(Name.FIELD_CONVENTION_NAME_EQUIVALENCE)));
                 } else if (FieldName.SYSTEMSTRUCTURE.equals(orderBy)) {
-                    cq.orderBy(cb.asc(cb.function("get_mnemonic_path_system_structure", String.class, from.get("convention_name"))));
+                    cq.orderBy(cb.asc(cb.function(NameStructure.FUNCTION_GET_MNEMONIC_PATH_SYSTEM_STRUCTURE, String.class, from.get(Name.FIELD_CONVENTION_NAME))));
                 } else if (FieldName.DEVICESTRUCTURE.equals(orderBy)) {
-                    cq.orderBy(cb.asc(cb.function("get_mnemonic_path_device_structure", String.class, from.get("convention_name"))));
+                    cq.orderBy(cb.asc(cb.function(NameStructure.FUNCTION_GET_MNEMONIC_PATH_DEVICE_STRUCTURE, String.class, from.get(Name.FIELD_CONVENTION_NAME))));
                 } else if (FieldName.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("description")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldName.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("requested")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.asc(from.get("convention_name")));
+                    cq.orderBy(cb.asc(from.get(Name.FIELD_CONVENTION_NAME)));
                 }
             } else {
                 if (FieldName.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("convention_name")));
+                    cq.orderBy(cb.desc(from.get(Name.FIELD_CONVENTION_NAME)));
                 } else if (FieldName.NAMEEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("convention_name_equivalence")));
+                    cq.orderBy(cb.desc(from.get(Name.FIELD_CONVENTION_NAME_EQUIVALENCE)));
                 } else if (FieldName.SYSTEMSTRUCTURE.equals(orderBy)) {
-                    cq.orderBy(cb.desc(cb.function("get_mnemonic_path_system_structure", String.class, from.get("convention_name"))));
+                    cq.orderBy(cb.desc(cb.function(NameStructure.FUNCTION_GET_MNEMONIC_PATH_SYSTEM_STRUCTURE, String.class, from.get(Name.FIELD_CONVENTION_NAME))));
                 } else if (FieldName.DEVICESTRUCTURE.equals(orderBy)) {
-                    cq.orderBy(cb.desc(cb.function("get_mnemonic_path_device_structure", String.class, from.get("convention_name"))));
+                    cq.orderBy(cb.desc(cb.function(NameStructure.FUNCTION_GET_MNEMONIC_PATH_DEVICE_STRUCTURE, String.class, from.get(Name.FIELD_CONVENTION_NAME))));
                 } else if (FieldName.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("description")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldName.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("requested")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.desc(from.get("convention_name")));
+                    cq.orderBy(cb.desc(from.get(Name.FIELD_CONVENTION_NAME)));
                 }
             }
         }
@@ -233,13 +234,13 @@ public class NameRepository {
             //     select * from Name n where
             //         not(n.latest = false)
 
-            Predicate predicateNotLatest = cb.equal(from.get("latest"), Boolean.FALSE);
+            Predicate predicateNotLatest = cb.equal(from.get(NameStructure.FIELD_LATEST), Boolean.FALSE);
             Predicate predicateExclude   = cb.not(cb.and(predicateNotLatest));
             predicates.add(predicateExclude);
         }
 
         if (deleted != null) {
-            predicates.add(cb.equal(from.get("deleted"), deleted));
+            predicates.add(cb.equal(from.get(NameStructure.FIELD_DELETED), deleted));
         }
         if (queryFields != null) {
             for (int i=0; i<queryFields.length; i++) {
@@ -262,22 +263,22 @@ public class NameRepository {
 
                 switch (queryFields[i]) {
                     case UUID:
-                        predicates.add(cb.and(cb.equal(from.get("uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), queryValue)));
                         break;
                     case NAME:
-                        predicates.add(cb.and(cb.like(from.get("convention_name"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Name.FIELD_CONVENTION_NAME), queryValue)));
                         break;
                     case NAMEEQUIVALENCE:
-                        predicates.add(cb.and(cb.like(from.get("convention_name_equivalence"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Name.FIELD_CONVENTION_NAME_EQUIVALENCE), queryValue)));
                         break;
                     case SYSTEMSTRUCTURE:
-                        predicates.add(cb.and(cb.like(cb.function("get_mnemonic_path_system_structure", String.class, from.get("convention_name")), queryValue)));
+                        predicates.add(cb.and(cb.like(cb.function(NameStructure.FUNCTION_GET_MNEMONIC_PATH_SYSTEM_STRUCTURE, String.class, from.get(Name.FIELD_CONVENTION_NAME)), queryValue)));
                         break;
                     case DEVICESTRUCTURE:
-                        predicates.add(cb.and(cb.like(cb.function("get_mnemonic_path_device_structure", String.class, from.get("convention_name")), queryValue)));
+                        predicates.add(cb.and(cb.like(cb.function(NameStructure.FUNCTION_GET_MNEMONIC_PATH_DEVICE_STRUCTURE, String.class, from.get(Name.FIELD_CONVENTION_NAME)), queryValue)));
                         break;
                     case DESCRIPTION:
-                        predicates.add(cb.and(cb.like(from.get("description"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), queryValue)));
                         break;
                     default:
                         continue;
diff --git a/src/main/java/org/openepics/names/repository/SubsystemRepository.java b/src/main/java/org/openepics/names/repository/SubsystemRepository.java
index 1a363fc7..0cd577f3 100644
--- a/src/main/java/org/openepics/names/repository/SubsystemRepository.java
+++ b/src/main/java/org/openepics/names/repository/SubsystemRepository.java
@@ -31,6 +31,9 @@ import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Subquery;
 
 import org.apache.commons.lang3.BooleanUtils;
+import org.openepics.names.repository.model.NameStructure;
+import org.openepics.names.repository.model.Persistable;
+import org.openepics.names.repository.model.Structure;
 import org.openepics.names.repository.model.Subsystem;
 import org.openepics.names.rest.beans.FieldStructure;
 import org.openepics.names.rest.beans.Status;
@@ -195,35 +198,35 @@ public class SubsystemRepository {
         if (orderBy != null) {
             if (BooleanUtils.toBoolean(isAsc)) {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.asc(cb.function("get_mnemonic_path_subsystem", String.class, from.get("uuid"))));
+                    cq.orderBy(cb.asc(cb.function(Subsystem.FUNCTION_GET_MNEMONIC_PATH_SUBSYSTEM, String.class, from.get(NameStructure.FIELD_UUID))));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("description")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("requested")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.asc(from.get("convention_name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 }
             } else {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.desc(cb.function("get_mnemonic_path_subsystem", String.class, from.get("uuid"))));
+                    cq.orderBy(cb.desc(cb.function(Subsystem.FUNCTION_GET_MNEMONIC_PATH_SUBSYSTEM, String.class, from.get(NameStructure.FIELD_UUID))));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("description")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("requested")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 }
             }
         }
@@ -282,14 +285,14 @@ public class SubsystemRepository {
 
             Root<Subsystem> fromSub = sub.from(Subsystem.class);
             sub.where(cb.and(
-                    cb.equal(fromSub.get("uuid"),   from.get("uuid")),
-                    cb.equal(fromSub.get("latest"), Boolean.TRUE)
+                    cb.equal(fromSub.get(NameStructure.FIELD_UUID),   from.get(NameStructure.FIELD_UUID)),
+                    cb.equal(fromSub.get(NameStructure.FIELD_LATEST), Boolean.TRUE)
                     ));
-            sub.select(fromSub.get("id"));
+            sub.select(fromSub.get(Persistable.FIELD_ID));
 
             Predicate predicateExcludeInclude =
                     cb.or(
-                            cb.not(cb.lessThan(from.get("id").as(Long.class), sub)),
+                            cb.not(cb.lessThan(from.get(Persistable.FIELD_ID).as(Long.class), sub)),
                             cb.not(cb.exists(sub)));
             predicates.add(predicateExcludeInclude);
         }
@@ -297,12 +300,12 @@ public class SubsystemRepository {
         if (statuses != null) {
             List<Predicate> predicatesStatus = new ArrayList<>();
             for (Status status : statuses) {
-                predicatesStatus.add(cb.equal(from.get("status"), status));
+                predicatesStatus.add(cb.equal(from.get(NameStructure.FIELD_STATUS), status));
             }
-            predicates.add(cb.or((Predicate[]) predicatesStatus.toArray(new Predicate[0])));
+            predicates.add(cb.or(predicatesStatus.toArray(new Predicate[0])));
         }
         if (deleted != null) {
-            predicates.add(cb.equal(from.get("deleted"), deleted));
+            predicates.add(cb.equal(from.get(NameStructure.FIELD_DELETED), deleted));
         }
         if (queryFields != null) {
             for (int i=0; i<queryFields.length; i++) {
@@ -325,25 +328,25 @@ public class SubsystemRepository {
 
                 switch (queryFields[i]) {
                     case UUID:
-                        predicates.add(cb.and(cb.equal(from.get("uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), queryValue)));
                         break;
                     case PARENT:
-                        predicates.add(cb.and(cb.equal(from.get("parent_uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(Subsystem.FIELD_PARENT_UUID), queryValue)));
                         break;
                     case NAME:
-                        predicates.add(cb.and(cb.like(from.get("name"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_NAME), queryValue)));
                         break;
                     case MNEMONIC:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC), queryValue)));
                         break;
                     case MNEMONICEQUIVALENCE:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic_equivalence"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE), queryValue)));
                         break;
                     case MNEMONICPATH:
-                        predicates.add(cb.and(cb.like(cb.function("get_mnemonic_path_subsystem", String.class, from.get("uuid")), queryValue)));
+                        predicates.add(cb.and(cb.like(cb.function(Subsystem.FUNCTION_GET_MNEMONIC_PATH_SUBSYSTEM, String.class, from.get(NameStructure.FIELD_UUID)), queryValue)));
                         break;
                     case DESCRIPTION:
-                        predicates.add(cb.and(cb.like(from.get("description"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), queryValue)));
                         break;
                     default:
                         continue;
diff --git a/src/main/java/org/openepics/names/repository/SystemGroupRepository.java b/src/main/java/org/openepics/names/repository/SystemGroupRepository.java
index 7f7f5c60..23945f05 100644
--- a/src/main/java/org/openepics/names/repository/SystemGroupRepository.java
+++ b/src/main/java/org/openepics/names/repository/SystemGroupRepository.java
@@ -31,6 +31,9 @@ import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Subquery;
 
 import org.apache.commons.lang3.BooleanUtils;
+import org.openepics.names.repository.model.NameStructure;
+import org.openepics.names.repository.model.Persistable;
+import org.openepics.names.repository.model.Structure;
 import org.openepics.names.repository.model.SystemGroup;
 import org.openepics.names.rest.beans.FieldStructure;
 import org.openepics.names.rest.beans.Status;
@@ -191,35 +194,35 @@ public class SystemGroupRepository {
         if (orderBy != null) {
             if (BooleanUtils.toBoolean(isAsc)) {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("description")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("requested")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.asc(from.get("convention_name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 }
             } else {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("description")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("requested")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 }
             }
         }
@@ -278,14 +281,14 @@ public class SystemGroupRepository {
 
             Root<SystemGroup> fromSub = sub.from(SystemGroup.class);
             sub.where(cb.and(
-                    cb.equal(fromSub.get("uuid"),   from.get("uuid")),
-                    cb.equal(fromSub.get("latest"), Boolean.TRUE)
+                    cb.equal(fromSub.get(NameStructure.FIELD_UUID),   from.get(NameStructure.FIELD_UUID)),
+                    cb.equal(fromSub.get(NameStructure.FIELD_LATEST), Boolean.TRUE)
                     ));
-            sub.select(fromSub.get("id"));
+            sub.select(fromSub.get(Persistable.FIELD_ID));
 
             Predicate predicateExcludeInclude =
                     cb.or(
-                            cb.not(cb.lessThan(from.get("id").as(Long.class), sub)),
+                            cb.not(cb.lessThan(from.get(Persistable.FIELD_ID).as(Long.class), sub)),
                             cb.not(cb.exists(sub)));
             predicates.add(predicateExcludeInclude);
         }
@@ -293,12 +296,12 @@ public class SystemGroupRepository {
         if (statuses != null) {
             List<Predicate> predicatesStatus = new ArrayList<>();
             for (Status status : statuses) {
-                predicatesStatus.add(cb.equal(from.get("status"), status));
+                predicatesStatus.add(cb.equal(from.get(NameStructure.FIELD_STATUS), status));
             }
-            predicates.add(cb.or((Predicate[]) predicatesStatus.toArray(new Predicate[0])));
+            predicates.add(cb.or(predicatesStatus.toArray(new Predicate[0])));
         }
         if (deleted != null) {
-            predicates.add(cb.equal(from.get("deleted"), deleted));
+            predicates.add(cb.equal(from.get(NameStructure.FIELD_DELETED), deleted));
         }
         if (queryFields != null) {
             for (int i=0; i<queryFields.length; i++) {
@@ -321,22 +324,22 @@ public class SystemGroupRepository {
 
                 switch (queryFields[i]) {
                     case UUID:
-                        predicates.add(cb.and(cb.equal(from.get("uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), queryValue)));
                         break;
                     case NAME:
-                        predicates.add(cb.and(cb.like(from.get("name"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_NAME), queryValue)));
                         break;
                     case MNEMONIC:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC), queryValue)));
                         break;
                     case MNEMONICEQUIVALENCE:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic_equivalence"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE), queryValue)));
                         break;
                     case MNEMONICPATH:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC), queryValue)));
                         break;
                     case DESCRIPTION:
-                        predicates.add(cb.and(cb.like(from.get("description"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), queryValue)));
                         break;
                     default:
                         continue;
diff --git a/src/main/java/org/openepics/names/repository/SystemRepository.java b/src/main/java/org/openepics/names/repository/SystemRepository.java
index beead5c6..b265a490 100644
--- a/src/main/java/org/openepics/names/repository/SystemRepository.java
+++ b/src/main/java/org/openepics/names/repository/SystemRepository.java
@@ -31,6 +31,9 @@ import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Subquery;
 
 import org.apache.commons.lang3.BooleanUtils;
+import org.openepics.names.repository.model.NameStructure;
+import org.openepics.names.repository.model.Persistable;
+import org.openepics.names.repository.model.Structure;
 import org.openepics.names.repository.model.System;
 import org.openepics.names.rest.beans.FieldStructure;
 import org.openepics.names.rest.beans.Status;
@@ -195,35 +198,35 @@ public class SystemRepository {
         if (orderBy != null) {
             if (BooleanUtils.toBoolean(isAsc)) {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.asc(cb.function("get_mnemonic_path_system", String.class, from.get("uuid"))));
+                    cq.orderBy(cb.asc(cb.function(System.FUNCTION_GET_MNEMONIC_PATH_SYSTEM, String.class, from.get(NameStructure.FIELD_UUID))));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("description")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.asc(from.get("requested")));
+                    cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.asc(from.get("convention_name")));
+                    cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME)));
                 }
             } else {
                 if (FieldStructure.NAME.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 } else if (FieldStructure.MNEMONIC.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC)));
                 } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("mnemonic_equivalence")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE)));
                 } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) {
-                    cq.orderBy(cb.desc(cb.function("get_mnemonic_path_system", String.class, from.get("uuid"))));
+                    cq.orderBy(cb.desc(cb.function(System.FUNCTION_GET_MNEMONIC_PATH_SYSTEM, String.class, from.get(NameStructure.FIELD_UUID))));
                 } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("description")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION)));
                 } else if (FieldStructure.WHEN.equals(orderBy)) {
-                    cq.orderBy(cb.desc(from.get("requested")));
+                    cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED)));
                 } else {
-                    cq.orderBy(cb.desc(from.get("name")));
+                    cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME)));
                 }
             }
         }
@@ -282,14 +285,14 @@ public class SystemRepository {
 
             Root<System> fromSub = sub.from(System.class);
             sub.where(cb.and(
-                    cb.equal(fromSub.get("uuid"),   from.get("uuid")),
-                    cb.equal(fromSub.get("latest"), Boolean.TRUE)
+                    cb.equal(fromSub.get(NameStructure.FIELD_UUID),   from.get(NameStructure.FIELD_UUID)),
+                    cb.equal(fromSub.get(NameStructure.FIELD_LATEST), Boolean.TRUE)
                     ));
-            sub.select(fromSub.get("id"));
+            sub.select(fromSub.get(Persistable.FIELD_ID));
 
             Predicate predicateExcludeInclude =
                     cb.or(
-                            cb.not(cb.lessThan(from.get("id").as(Long.class), sub)),
+                            cb.not(cb.lessThan(from.get(Persistable.FIELD_ID).as(Long.class), sub)),
                             cb.not(cb.exists(sub)));
             predicates.add(predicateExcludeInclude);
         }
@@ -297,12 +300,12 @@ public class SystemRepository {
         if (statuses != null) {
             List<Predicate> predicatesStatus = new ArrayList<>();
             for (Status status : statuses) {
-                predicatesStatus.add(cb.equal(from.get("status"), status));
+                predicatesStatus.add(cb.equal(from.get(NameStructure.FIELD_STATUS), status));
             }
-            predicates.add(cb.or((Predicate[]) predicatesStatus.toArray(new Predicate[0])));
+            predicates.add(cb.or(predicatesStatus.toArray(new Predicate[0])));
         }
         if (deleted != null) {
-            predicates.add(cb.equal(from.get("deleted"), deleted));
+            predicates.add(cb.equal(from.get(NameStructure.FIELD_DELETED), deleted));
         }
         if (queryFields != null) {
             for (int i=0; i<queryFields.length; i++) {
@@ -325,25 +328,25 @@ public class SystemRepository {
 
                 switch (queryFields[i]) {
                     case UUID:
-                        predicates.add(cb.and(cb.equal(from.get("uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), queryValue)));
                         break;
                     case PARENT:
-                        predicates.add(cb.and(cb.equal(from.get("parent_uuid"), queryValue)));
+                        predicates.add(cb.and(cb.equal(from.get(System.FIELD_PARENT_UUID), queryValue)));
                         break;
                     case NAME:
-                        predicates.add(cb.and(cb.like(from.get("name"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_NAME), queryValue)));
                         break;
                     case MNEMONIC:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC), queryValue)));
                         break;
                     case MNEMONICEQUIVALENCE:
-                        predicates.add(cb.and(cb.like(from.get("mnemonic_equivalence"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE), queryValue)));
                         break;
                     case MNEMONICPATH:
-                        predicates.add(cb.and(cb.like(cb.function("get_mnemonic_path_system", String.class, from.get("uuid")), queryValue)));
+                        predicates.add(cb.and(cb.like(cb.function(System.FUNCTION_GET_MNEMONIC_PATH_SYSTEM, String.class, from.get(NameStructure.FIELD_UUID)), queryValue)));
                         break;
                     case DESCRIPTION:
-                        predicates.add(cb.and(cb.like(from.get("description"), queryValue)));
+                        predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), queryValue)));
                         break;
                     default:
                         continue;
diff --git a/src/main/java/org/openepics/names/repository/model/DeviceGroup.java b/src/main/java/org/openepics/names/repository/model/DeviceGroup.java
index 6af57d0f..c471df7d 100644
--- a/src/main/java/org/openepics/names/repository/model/DeviceGroup.java
+++ b/src/main/java/org/openepics/names/repository/model/DeviceGroup.java
@@ -37,6 +37,10 @@ public class DeviceGroup extends Structure {
      */
     private static final long serialVersionUID = -8762287473417706804L;
 
+    public static final String FIELD_PARENT_UUID = "parent_uuid";
+
+    public static final String FUNCTION_GET_MNEMONIC_PATH_DEVICEGROUP = "get_mnemonic_path_devicegroup";
+
     private String parent_uuid;
 
     public UUID getParentUuid() {
@@ -75,8 +79,12 @@ public class DeviceGroup extends Structure {
         return true;
     }
 
+    @Override
     public boolean equalsId(Object other) {
-        return other instanceof DeviceGroup && ((DeviceGroup) other).getId().equals(getId());
+        if (other instanceof DeviceGroup object) {
+            return object.getId().equals(getId());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/repository/model/DeviceType.java b/src/main/java/org/openepics/names/repository/model/DeviceType.java
index 74696b6c..065e64f6 100644
--- a/src/main/java/org/openepics/names/repository/model/DeviceType.java
+++ b/src/main/java/org/openepics/names/repository/model/DeviceType.java
@@ -37,6 +37,10 @@ public class DeviceType extends Structure {
      */
     private static final long serialVersionUID = 2061731870402041740L;
 
+    public static final String FIELD_PARENT_UUID = "parent_uuid";
+
+    public static final String FUNCTION_GET_MNEMONIC_PATH_DEVICETYPE = "get_mnemonic_path_devicetype";
+
     private String parent_uuid;
 
     public UUID getParentUuid() {
@@ -75,8 +79,12 @@ public class DeviceType extends Structure {
         return true;
     }
 
+    @Override
     public boolean equalsId(Object other) {
-        return other instanceof DeviceType && ((DeviceType) other).getId().equals(getId());
+        if (other instanceof DeviceType object) {
+            return object.getId().equals(getId());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/repository/model/Discipline.java b/src/main/java/org/openepics/names/repository/model/Discipline.java
index 6f98141f..24198d4d 100644
--- a/src/main/java/org/openepics/names/repository/model/Discipline.java
+++ b/src/main/java/org/openepics/names/repository/model/Discipline.java
@@ -58,8 +58,12 @@ public class Discipline extends Structure {
         return true;
     }
 
+    @Override
     public boolean equalsId(Object other) {
-        return other instanceof Discipline && ((Discipline) other).getId().equals(getId());
+        if (other instanceof Discipline object) {
+            return object.getId().equals(getId());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/repository/model/Name.java b/src/main/java/org/openepics/names/repository/model/Name.java
index 749b1853..4454e39d 100644
--- a/src/main/java/org/openepics/names/repository/model/Name.java
+++ b/src/main/java/org/openepics/names/repository/model/Name.java
@@ -38,6 +38,14 @@ public class Name extends NameStructure implements Serializable {
      */
     private static final long serialVersionUID = 7313392211143183879L;
 
+    public static final String FIELD_SYSTEM_GROUP_UUID           = "systemgroup_uuid";
+    public static final String FIELD_SYSTEM_UUID                 = "system_uuid";
+    public static final String FIELD_SUBSYSTEM_UUID              = "subsystem_uuid";
+    public static final String FIELD_DEVICETYPE_UUID             = "devicetype_uuid";
+    public static final String FIELD_INSTANCE_INDEX              = "instance_index";
+    public static final String FIELD_CONVENTION_NAME             = "convention_name";
+    public static final String FIELD_CONVENTION_NAME_EQUIVALENCE = "convention_name_equivalence";
+
     private String systemgroup_uuid;
     private String system_uuid;
     private String subsystem_uuid;
@@ -148,8 +156,12 @@ public class Name extends NameStructure implements Serializable {
         return true;
     }
 
+    @Override
     public boolean equalsId(Object other) {
-        return other instanceof Name && ((Name) other).getId().equals(getId());
+        if (other instanceof Name object) {
+            return object.getId().equals(getId());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/repository/model/NameStructure.java b/src/main/java/org/openepics/names/repository/model/NameStructure.java
index 88bd777a..5ef3a2b5 100644
--- a/src/main/java/org/openepics/names/repository/model/NameStructure.java
+++ b/src/main/java/org/openepics/names/repository/model/NameStructure.java
@@ -43,6 +43,21 @@ public class NameStructure extends Persistable implements Serializable {
      */
     private static final long serialVersionUID = 736094142259082938L;
 
+    public static final String FIELD_UUID              = "uuid";
+    public static final String FIELD_DESCRIPTION       = "description";
+    public static final String FIELD_STATUS            = "status";
+    public static final String FIELD_LATEST            = "latest";
+    public static final String FIELD_DELETED           = "deleted";
+    public static final String FIELD_REQUESTED         = "requested";
+    public static final String FIELD_REQUESTED_BY      = "requested_by";
+    public static final String FIELD_REQUESTED_COMMENT = "requested_comment";
+    public static final String FIELD_PROCESSED         = "processed";
+    public static final String FIELD_PROCESSED_BY      = "processed_by";
+    public static final String FIELD_PROCESSED_COMMENT = "processed_comment";
+
+    public static final String FUNCTION_GET_MNEMONIC_PATH_DEVICE_STRUCTURE = "get_mnemonic_path_device_structure";
+    public static final String FUNCTION_GET_MNEMONIC_PATH_SYSTEM_STRUCTURE = "get_mnemonic_path_system_structure";
+
     private String uuid;
     private String description;
     @Enumerated(EnumType.STRING)
@@ -203,7 +218,10 @@ public class NameStructure extends Persistable implements Serializable {
     }
 
     public boolean equalsId(Object other) {
-        return other instanceof NameStructure && ((NameStructure) other).getId().equals(getId());
+        if (other instanceof NameStructure object) {
+            return object.getId().equals(getId());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/repository/model/Persistable.java b/src/main/java/org/openepics/names/repository/model/Persistable.java
index 4c2370cd..99f23e63 100644
--- a/src/main/java/org/openepics/names/repository/model/Persistable.java
+++ b/src/main/java/org/openepics/names/repository/model/Persistable.java
@@ -33,6 +33,9 @@ public class Persistable implements Serializable {
 
     private static final long serialVersionUID = 8393161299438204843L;
 
+    public static final String FIELD_ID      = "id";
+    public static final String FIELD_VERSION = "version";
+
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     protected @Nullable Long id;
diff --git a/src/main/java/org/openepics/names/repository/model/Structure.java b/src/main/java/org/openepics/names/repository/model/Structure.java
index 6f526543..215eb277 100644
--- a/src/main/java/org/openepics/names/repository/model/Structure.java
+++ b/src/main/java/org/openepics/names/repository/model/Structure.java
@@ -36,6 +36,10 @@ public class Structure extends NameStructure implements Serializable {
      */
     private static final long serialVersionUID = -5980090194197159918L;
 
+    public static final String FIELD_NAME                 = "name";
+    public static final String FIELD_MNEMONIC             = "mnemonic";
+    public static final String FIELD_MNEMONIC_EQUIVALENCE = "mnemonic_equivalence";
+
     private String name;
     private String mnemonic;
     private String mnemonic_equivalence;
@@ -98,8 +102,12 @@ public class Structure extends NameStructure implements Serializable {
         return true;
     }
 
+    @Override
     public boolean equalsId(Object other) {
-        return other instanceof Structure && ((Structure) other).getId().equals(getId());
+        if (other instanceof Structure object) {
+            return object.getId().equals(getId());
+        }
+        return false;
     }
 
 }
diff --git a/src/main/java/org/openepics/names/repository/model/Subsystem.java b/src/main/java/org/openepics/names/repository/model/Subsystem.java
index 249c9ac3..f6bd8c9e 100644
--- a/src/main/java/org/openepics/names/repository/model/Subsystem.java
+++ b/src/main/java/org/openepics/names/repository/model/Subsystem.java
@@ -37,6 +37,10 @@ public class Subsystem extends Structure {
      */
     private static final long serialVersionUID = 5662135540008222500L;
 
+    public static final String FIELD_PARENT_UUID = "parent_uuid";
+
+    public static final String FUNCTION_GET_MNEMONIC_PATH_SUBSYSTEM = "get_mnemonic_path_subsystem";
+
     private String parent_uuid;
 
     public UUID getParentUuid() {
@@ -75,8 +79,12 @@ public class Subsystem extends Structure {
         return true;
     }
 
+    @Override
     public boolean equalsId(Object other) {
-        return other instanceof Subsystem && ((Subsystem) other).getId().equals(getId());
+        if (other instanceof Subsystem object) {
+            return object.getId().equals(getId());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/repository/model/System.java b/src/main/java/org/openepics/names/repository/model/System.java
index 221f7ae4..63a59baf 100644
--- a/src/main/java/org/openepics/names/repository/model/System.java
+++ b/src/main/java/org/openepics/names/repository/model/System.java
@@ -37,6 +37,10 @@ public class System extends Structure {
      */
     private static final long serialVersionUID = -4323438470765348486L;
 
+    public static final String FIELD_PARENT_UUID = "parent_uuid";
+
+    public static final String FUNCTION_GET_MNEMONIC_PATH_SYSTEM = "get_mnemonic_path_system";
+
     private String parent_uuid;
 
     public UUID getParentUuid() {
@@ -75,8 +79,12 @@ public class System extends Structure {
         return true;
     }
 
+    @Override
     public boolean equalsId(Object other) {
-        return other instanceof System && ((System) other).getId().equals(getId());
+        if (other instanceof System object) {
+            return object.getId().equals(getId());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/repository/model/SystemGroup.java b/src/main/java/org/openepics/names/repository/model/SystemGroup.java
index c296257f..03f7702c 100644
--- a/src/main/java/org/openepics/names/repository/model/SystemGroup.java
+++ b/src/main/java/org/openepics/names/repository/model/SystemGroup.java
@@ -58,8 +58,12 @@ public class SystemGroup extends Structure {
         return true;
     }
 
+    @Override
     public boolean equalsId(Object other) {
-        return other instanceof SystemGroup && ((SystemGroup) other).getId().equals(getId());
+        if (other instanceof SystemGroup object) {
+            return object.getId().equals(getId());
+        }
+        return false;
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/rest/beans/response/Response.java b/src/main/java/org/openepics/names/rest/beans/response/Response.java
index 58b15877..37abeffc 100644
--- a/src/main/java/org/openepics/names/rest/beans/response/Response.java
+++ b/src/main/java/org/openepics/names/rest/beans/response/Response.java
@@ -35,7 +35,20 @@ public class Response {
     private static final String CONTENT_TYPE = "Content-Type";
     private static final String APP_JSON     = "application/json";
 
-    public static final HttpHeaders HEADER_JSON = new HttpHeaders();
+    private static HttpHeaders HEADER_JSON;
+
+    /**
+     * Return http header for content type json.
+     *
+     * @return http header
+     */
+    public static HttpHeaders getHeaderJson() {
+        if (HEADER_JSON == null) {
+            HEADER_JSON = new HttpHeaders();
+            HEADER_JSON.add(Response.CONTENT_TYPE, Response.APP_JSON);
+        }
+        return HEADER_JSON;
+    }
 
     @Schema(description = "Message of the response.")
     private String message = null;
@@ -44,21 +57,12 @@ public class Response {
     @Schema(description = "Field of the response for the object that was sent to server.")
     private String field = null;
 
-    /**
-     * Constructor.
-     */
-    public Response() {
-        HEADER_JSON.add(Response.CONTENT_TYPE, Response.APP_JSON);
-    }
-
     /**
      * Constructor.
      *
      * @param message response message
      */
     public Response(String message) {
-        this();
-
         this.message = message;
         this.details = "";
         this.field = "";
@@ -72,8 +76,6 @@ public class Response {
      * @param field response field
      */
     public Response(String message, String details, String field) {
-        this();
-
         this.message = message;
         this.details = details;
         this.field = field;
diff --git a/src/main/java/org/openepics/names/rest/beans/response/ResponsePage.java b/src/main/java/org/openepics/names/rest/beans/response/ResponsePage.java
index e2c0d096..041ff73f 100644
--- a/src/main/java/org/openepics/names/rest/beans/response/ResponsePage.java
+++ b/src/main/java/org/openepics/names/rest/beans/response/ResponsePage.java
@@ -46,7 +46,7 @@ public abstract class ResponsePage extends Response {
     /**
      * Constructor.
      */
-    public ResponsePage() {
+    protected ResponsePage() {
         super("", "", "");
     }
 
@@ -55,7 +55,7 @@ public abstract class ResponsePage extends Response {
      *
      * @param message response message
      */
-    public ResponsePage(String message) {
+    protected ResponsePage(String message) {
         super(message, "", "");
     }
 
@@ -65,7 +65,7 @@ public abstract class ResponsePage extends Response {
      * @param message response message
      * @param details response details
      */
-    public ResponsePage(String message, String details) {
+    protected ResponsePage(String message, String details) {
         super(message, details, "");
     }
 
@@ -76,7 +76,7 @@ public abstract class ResponsePage extends Response {
      * @param details response details
      * @param field response field
      */
-    public ResponsePage(String message, String details, String field) {
+    protected ResponsePage(String message, String details, String field) {
         super(message, details, field);
     }
 
diff --git a/src/main/java/org/openepics/names/rest/controller/GlobalControllerExceptionHandler.java b/src/main/java/org/openepics/names/rest/controller/GlobalControllerExceptionHandler.java
index 33014208..47282d15 100644
--- a/src/main/java/org/openepics/names/rest/controller/GlobalControllerExceptionHandler.java
+++ b/src/main/java/org/openepics/names/rest/controller/GlobalControllerExceptionHandler.java
@@ -97,7 +97,7 @@ public class GlobalControllerExceptionHandler extends ResponseEntityExceptionHan
             }
         }
 
-        return new ResponseEntity<>(response, Response.HEADER_JSON, resultStatus);
+        return new ResponseEntity<>(response, Response.getHeaderJson(), resultStatus);
     }
 
 }
diff --git a/src/main/java/org/openepics/names/rest/controller/HealthcheckController.java b/src/main/java/org/openepics/names/rest/controller/HealthcheckController.java
index c3634e3e..62b17bee 100644
--- a/src/main/java/org/openepics/names/rest/controller/HealthcheckController.java
+++ b/src/main/java/org/openepics/names/rest/controller/HealthcheckController.java
@@ -19,7 +19,6 @@
 package org.openepics.names.rest.controller;
 
 import java.text.DateFormat;
-import java.text.SimpleDateFormat;
 import java.util.Date;
 
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -75,7 +74,7 @@ public class HealthcheckController {
         // return healthcheck as server timestamp
         //     datetime - dateStyle, timeStyle - full
 
-        return SimpleDateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(new Date());
+        return DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(new Date());
     }
 
 }
diff --git a/src/main/java/org/openepics/names/rest/controller/NamesController.java b/src/main/java/org/openepics/names/rest/controller/NamesController.java
index 5358b5d9..5d20b5fd 100644
--- a/src/main/java/org/openepics/names/rest/controller/NamesController.java
+++ b/src/main/java/org/openepics/names/rest/controller/NamesController.java
@@ -63,6 +63,8 @@ public class NamesController implements INames {
 
     private static final Logger LOGGER = Logger.getLogger(NamesController.class.getName());
 
+    private static final String ATTACHMENT_FILENAME_NAME_ELEMENT_XLSX = "attachment; filename=NameElement.xlsx";
+
     private NamesService namesService;
 
     @Autowired
@@ -80,7 +82,7 @@ public class NamesController implements INames {
 
         try {
             namesService.validateNamesCreate(nameElements);
-            return new ResponseEntity<>(namesService.createNames(nameElements), Response.HEADER_JSON, HttpStatus.CREATED);
+            return new ResponseEntity<>(namesService.createNames(nameElements), Response.getHeaderJson(), HttpStatus.CREATED);
         } catch (ServiceException e) {
             LogUtil.logServiceException(LOGGER, Level.SEVERE, e);
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
@@ -106,7 +108,7 @@ public class NamesController implements INames {
                  List<NameElement> nameElements = namesService.createNames(nameElementCommands);
                  InputStreamResource isr = new InputStreamResource(ExcelUtil.nameElementsToExcel(nameElements));
                  return ResponseEntity.ok()
-                         .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=NameElement.xlsx")
+                         .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_NAME_ELEMENT_XLSX)
                          .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                          .body(isr);
              } else {
@@ -154,7 +156,7 @@ public class NamesController implements INames {
         ResponsePageNameElements nameElements = readNames(deleted, queryFields, queryValues, orderBy, isAsc, page, pageSize);
         InputStreamResource isr = new InputStreamResource(ExcelUtil.nameElementsToExcel(nameElements));
         return ResponseEntity.ok()
-                .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=NameElement.xlsx")
+                .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_NAME_ELEMENT_XLSX)
                 .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                 .body(isr);
     }
@@ -247,45 +249,45 @@ public class NamesController implements INames {
     @Override
     public ResponseEntity<ResponseBoolean> existsName(String name) {
         try {
-            return new ResponseEntity<>(new ResponseBoolean(namesService.existsName(name)), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(namesService.existsName(name)), Response.getHeaderJson(), HttpStatus.OK);
         } catch (ServiceException e) {
             LogUtil.logServiceException(LOGGER, Level.SEVERE, e);
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.getHeaderJson(), HttpStatus.OK);
         } catch (Exception e) {
             LOGGER.log(Level.SEVERE, e.getMessage());
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.getHeaderJson(), HttpStatus.OK);
         }
     }
 
     @Override
     public ResponseEntity<ResponseBoolean> isLegacyName(String name) {
         try {
-            return new ResponseEntity<>(new ResponseBoolean(namesService.isLegacyName(name)), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(namesService.isLegacyName(name)), Response.getHeaderJson(), HttpStatus.OK);
         } catch (ServiceException e) {
             LogUtil.logServiceException(LOGGER, Level.SEVERE, e);
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.getHeaderJson(), HttpStatus.OK);
         } catch (Exception e) {
             LOGGER.log(Level.SEVERE, e.getMessage());
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.getHeaderJson(), HttpStatus.OK);
         }
     }
 
     @Override
     public ResponseEntity<ResponseBoolean> isValidToCreateName(String name) {
         try {
-            return new ResponseEntity<>(new ResponseBoolean(namesService.isValidToCreateName(name)), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(namesService.isValidToCreateName(name)), Response.getHeaderJson(), HttpStatus.OK);
         } catch (ServiceException e) {
             LogUtil.logServiceException(LOGGER, Level.SEVERE, e);
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.getHeaderJson(), HttpStatus.OK);
         } catch (Exception e) {
             LOGGER.log(Level.SEVERE, e.getMessage());
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.getHeaderJson(), HttpStatus.OK);
         }
     }
 
@@ -318,7 +320,7 @@ public class NamesController implements INames {
                 responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
             }
         }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.HEADER_JSON, HttpStatus.OK);
+        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
     @Override
@@ -348,7 +350,7 @@ public class NamesController implements INames {
                 responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
             }
         }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.HEADER_JSON, HttpStatus.OK);
+        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
     @Override
@@ -378,7 +380,7 @@ public class NamesController implements INames {
                 responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
             }
         }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.HEADER_JSON, HttpStatus.OK);
+        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
     // ----------------------------------------------------------------------------------------------------
@@ -418,7 +420,7 @@ public class NamesController implements INames {
                 List<NameElement> nameElements = namesService.updateNames(nameElementCommands);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.nameElementsToExcel(nameElements));
                 return ResponseEntity.ok()
-                        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=NameElement.xlsx")
+                        .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_NAME_ELEMENT_XLSX)
                         .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                         .body(isr);
             } else {
@@ -476,7 +478,7 @@ public class NamesController implements INames {
                 List<NameElement> nameElements = namesService.deleteNames(nameElementCommands);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.nameElementsToExcel(nameElements));
                 return ResponseEntity.ok()
-                        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=NameElement.xlsx")
+                        .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_NAME_ELEMENT_XLSX)
                         .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                         .body(isr);
             } else {
diff --git a/src/main/java/org/openepics/names/rest/controller/StructuresController.java b/src/main/java/org/openepics/names/rest/controller/StructuresController.java
index 047ec6ca..20cda037 100644
--- a/src/main/java/org/openepics/names/rest/controller/StructuresController.java
+++ b/src/main/java/org/openepics/names/rest/controller/StructuresController.java
@@ -72,6 +72,8 @@ public class StructuresController implements IStructures {
 
     private static final Logger LOGGER = Logger.getLogger(StructuresController.class.getName());
 
+    private static final String ATTACHMENT_FILENAME_STRUCTURE_ELEMENT_XLSX = "attachment; filename=StructureElement.xlsx";
+
     private StructuresService structuresService;
 
     @Autowired
@@ -89,7 +91,7 @@ public class StructuresController implements IStructures {
 
         try {
             structuresService.validateStructuresCreate(structureElements);
-            return new ResponseEntity<>(structuresService.createStructures(structureElements), Response.HEADER_JSON, HttpStatus.CREATED);
+            return new ResponseEntity<>(structuresService.createStructures(structureElements), Response.getHeaderJson(), HttpStatus.CREATED);
         } catch (ServiceException e) {
             LogUtil.logServiceException(LOGGER, Level.SEVERE, e);
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
@@ -115,7 +117,7 @@ public class StructuresController implements IStructures {
                 List<StructureElement> structureElements = structuresService.createStructures(structureElementCommands);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.structureElementsToExcel(structureElements));
                 return ResponseEntity.ok()
-                        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=StructureElement.xlsx")
+                        .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_STRUCTURE_ELEMENT_XLSX)
                         .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                         .body(isr);
             } else {
@@ -164,7 +166,7 @@ public class StructuresController implements IStructures {
         ResponsePageStructureElements structureElements = readStructures(type, statuses, deleted, queryFields, queryValues, orderBy, isAsc, page, pageSize);
         InputStreamResource isr = new InputStreamResource(ExcelUtil.structureElementsToExcel(structureElements));
         return ResponseEntity.ok()
-                .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=StructureElement.xlsx")
+                .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_STRUCTURE_ELEMENT_XLSX)
                 .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                 .body(isr);
     }
@@ -261,30 +263,30 @@ public class StructuresController implements IStructures {
     @Override
     public ResponseEntity<ResponseBoolean> existsStructure(Type type, String mnemonicpath) {
         try {
-            return new ResponseEntity<>(new ResponseBoolean(structuresService.existsStructure(type, mnemonicpath)), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(structuresService.existsStructure(type, mnemonicpath)), Response.getHeaderJson(), HttpStatus.OK);
         } catch (ServiceException e) {
             LogUtil.logServiceException(LOGGER, Level.SEVERE, e);
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.getHeaderJson(), HttpStatus.OK);
         } catch (Exception e) {
             LOGGER.log(Level.SEVERE, e.getMessage());
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.getHeaderJson(), HttpStatus.OK);
         }
     }
 
     @Override
     public ResponseEntity<ResponseBoolean> isValidToCreateStructure(Type type, String mnemonicpath) {
         try {
-            return new ResponseEntity<>(new ResponseBoolean(structuresService.isValidToCreateStructure(type, mnemonicpath)), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(structuresService.isValidToCreateStructure(type, mnemonicpath)), Response.getHeaderJson(), HttpStatus.OK);
         } catch (ServiceException e) {
             LogUtil.logServiceException(LOGGER, Level.SEVERE, e);
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()), Response.getHeaderJson(), HttpStatus.OK);
         } catch (Exception e) {
             LOGGER.log(Level.SEVERE, e.getMessage());
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
-            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.HEADER_JSON, HttpStatus.OK);
+            return new ResponseEntity<>(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED), Response.getHeaderJson(), HttpStatus.OK);
         }
     }
 
@@ -317,7 +319,7 @@ public class StructuresController implements IStructures {
                 responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
             }
         }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.HEADER_JSON, HttpStatus.OK);
+        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
     @Override
@@ -347,7 +349,7 @@ public class StructuresController implements IStructures {
                 responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
             }
         }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.HEADER_JSON, HttpStatus.OK);
+        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
     @Override
@@ -377,7 +379,7 @@ public class StructuresController implements IStructures {
                 responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
             }
         }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.HEADER_JSON, HttpStatus.OK);
+        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
     @Override
@@ -407,7 +409,7 @@ public class StructuresController implements IStructures {
                 responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
             }
         }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.HEADER_JSON, HttpStatus.OK);
+        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
     @Override
@@ -437,7 +439,7 @@ public class StructuresController implements IStructures {
                 responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
             }
         }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.HEADER_JSON, HttpStatus.OK);
+        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
     @Override
@@ -467,7 +469,7 @@ public class StructuresController implements IStructures {
                 responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
             }
         }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.HEADER_JSON, HttpStatus.OK);
+        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
     // ----------------------------------------------------------------------------------------------------
@@ -497,7 +499,7 @@ public class StructuresController implements IStructures {
                 List<StructureElement> structureElements = structuresService.updateStructures(structureElementCommands);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.structureElementsToExcel(structureElements));
                 return ResponseEntity.ok()
-                        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=StructureElement.xlsx")
+                        .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_STRUCTURE_ELEMENT_XLSX)
                         .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                         .body(isr);
             } else {
@@ -545,7 +547,7 @@ public class StructuresController implements IStructures {
                 List<StructureElement> structureElements = structuresService.deleteStructures(structureElementCommands);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.structureElementsToExcel(structureElements));
                 return ResponseEntity.ok()
-                        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=StructureElement.xlsx")
+                        .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_STRUCTURE_ELEMENT_XLSX)
                         .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                         .body(isr);
             } else {
@@ -593,7 +595,7 @@ public class StructuresController implements IStructures {
                 List<StructureElement> structureElements = structuresService.approveStructures(structureElementCommands);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.structureElementsToExcel(structureElements));
                 return ResponseEntity.ok()
-                        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=StructureElement.xlsx")
+                        .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_STRUCTURE_ELEMENT_XLSX)
                         .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                         .body(isr);
             } else {
@@ -639,7 +641,7 @@ public class StructuresController implements IStructures {
                 List<StructureElement> structureElements = structuresService.cancelStructures(structureElementCommands);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.structureElementsToExcel(structureElements));
                 return ResponseEntity.ok()
-                        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=StructureElement.xlsx")
+                        .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_STRUCTURE_ELEMENT_XLSX)
                         .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                         .body(isr);
             } else {
@@ -685,7 +687,7 @@ public class StructuresController implements IStructures {
                 List<StructureElement> structureElements = structuresService.rejectStructures(structureElementCommands);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.structureElementsToExcel(structureElements));
                 return ResponseEntity.ok()
-                        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=StructureElement.xlsx")
+                        .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_STRUCTURE_ELEMENT_XLSX)
                         .contentType(MediaType.parseMediaType(ExcelUtil.MIME_TYPE_EXCEL))
                         .body(isr);
             } else {
diff --git a/src/main/java/org/openepics/names/rest/controller/VerificationController.java b/src/main/java/org/openepics/names/rest/controller/VerificationController.java
index efca0fe5..b28eeea2 100644
--- a/src/main/java/org/openepics/names/rest/controller/VerificationController.java
+++ b/src/main/java/org/openepics/names/rest/controller/VerificationController.java
@@ -226,7 +226,6 @@ public class VerificationController {
         boolean check = false;
         DeviceRevision deviceRevision = null;
         for (Name name : names) {
-            check = true;
             deviceRevision = mapIdDeviceRevision.get(name.getId());
 
             check = deviceRevision != null;
@@ -298,7 +297,7 @@ public class VerificationController {
         //     all entries ok
         //     no entry nok
         boolean ok = id_ok_deviceRevisionDevice.size() == names.size()
-                && id_nok_deviceRevisionDevice.size() == 0;
+                && id_nok_deviceRevisionDevice.isEmpty();
 
         prepareLogReport("readMigrationDeviceRevision, check, after,  id_ok_deviceRevisionDevice.size:  " + id_ok_deviceRevisionDevice.size(), reportHtml);
         prepareLogReport("readMigrationDeviceRevision, check, after,  id_nok_deviceRevisionDevice.size: " + id_nok_deviceRevisionDevice.size(), reportHtml);
@@ -469,7 +468,6 @@ public class VerificationController {
         boolean check = false;
         NamePartRevision namePartRevision = null;
         for (SystemGroup systemGroup : systemGroups) {
-            check = true;
             namePartRevision = mapIdNamePartRevision.get(systemGroup.getId());
 
             check = namePartRevision != null;
@@ -518,7 +516,6 @@ public class VerificationController {
         // check entry by entry
         //         each attribute as expected
         for (System system : systems) {
-            check = true;
             namePartRevision = mapIdNamePartRevision.get(system.getId());
 
             check = namePartRevision != null;
@@ -568,7 +565,6 @@ public class VerificationController {
         // check entry by entry
         //         each attribute as expected
         for (Subsystem subsystem : subsystems) {
-            check = true;
             namePartRevision = mapIdNamePartRevision.get(subsystem.getId());
 
             check = namePartRevision != null;
@@ -618,7 +614,6 @@ public class VerificationController {
         // check entry by entry
         //         each attribute as expected
         for (Discipline discipline : disciplines) {
-            check = true;
             namePartRevision = mapIdNamePartRevision.get(discipline.getId());
 
             check = namePartRevision != null;
@@ -667,7 +662,6 @@ public class VerificationController {
         // check entry by entry
         //         each attribute as expected
         for (DeviceGroup deviceGroup : deviceGroups) {
-            check = true;
             namePartRevision = mapIdNamePartRevision.get(deviceGroup.getId());
 
             check = namePartRevision != null;
@@ -717,7 +711,6 @@ public class VerificationController {
         // check entry by entry
         //         each attribute as expected
         for (DeviceType deviceType : deviceTypes) {
-            check = true;
             namePartRevision = mapIdNamePartRevision.get(deviceType.getId());
 
             check = namePartRevision != null;
@@ -767,7 +760,7 @@ public class VerificationController {
         //     all entries ok
         //     no entry nok
         boolean ok = id_ok_namePartRevision.size() == namePartRevisions.size()
-                && id_nok_namePartRevision.size() == 0;
+                && id_nok_namePartRevision.isEmpty();
 
         prepareLogReport("readMigrationNamePartRevision, check, after,             id_ok_namePartRevision.size:  " + id_ok_namePartRevision.size(), reportHtml);
         prepareLogReport("readMigrationNamePartRevision, check, after,             id_nok_namePartRevision.size: " + id_nok_namePartRevision.size(), reportHtml);
@@ -985,7 +978,6 @@ public class VerificationController {
                 countIdInOld++;
             } else if (!idInOld) {
                 countNotIdInOld++;
-                // break;
             }
             mapIdDeviceRevisionDifference.remove(name.getId());
         }
@@ -1023,7 +1015,7 @@ public class VerificationController {
         prepareLogReport("readRestApiOldVsNew, check, after difference 2, listDeviceRevisionWrong.size:                        " + listDeviceRevisionWrong.size(), reportHtml);
 
         boolean ok = (mapIdDeviceRevisionDifference.size() == (nameViewProvider.getNameRevisions().entrySet().size() - names.size()))
-                && (listDeviceRevisionWrong.size() == 0);
+                && listDeviceRevisionWrong.isEmpty();
 
         prepareLogReport("readRestApiOldVsNew, check, after", reportHtml);
         prepareLogReport("readRestApiOldVsNew, ok: " + ok, reportHtml);
diff --git a/src/main/java/org/openepics/names/rest/controller/old/DeviceNamesControllerV0.java b/src/main/java/org/openepics/names/rest/controller/old/DeviceNamesControllerV0.java
index d7495328..613d83bf 100644
--- a/src/main/java/org/openepics/names/rest/controller/old/DeviceNamesControllerV0.java
+++ b/src/main/java/org/openepics/names/rest/controller/old/DeviceNamesControllerV0.java
@@ -123,7 +123,7 @@ public class DeviceNamesControllerV0 {
             deviceNameElements.add(DeviceNameElementUtil.getDeviceNameElement(name, holder));
         }
 
-        LOGGER.log(Level.INFO, "findNames, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNames, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -167,8 +167,8 @@ public class DeviceNamesControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findNamesSearch, name:                    " + name);
-        LOGGER.log(Level.INFO, "findNamesSearch, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNamesSearch, name:                    {0}", name);
+        LOGGER.log(Level.INFO, "findNamesSearch, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -203,8 +203,8 @@ public class DeviceNamesControllerV0 {
             deviceNameElements.add(DeviceNameElementUtil.getDeviceNameElement(name, holder));
         }
 
-        LOGGER.log(Level.INFO, "findNamesBySystem, system:                  " + system);
-        LOGGER.log(Level.INFO, "findNamesBySystem, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNamesBySystem, system:                  {0}", system);
+        LOGGER.log(Level.INFO, "findNamesBySystem, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -244,8 +244,8 @@ public class DeviceNamesControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findNamesSearch, system:                  " + system);
-        LOGGER.log(Level.INFO, "findNamesSearch, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNamesSearch, system:                  {0}", system);
+        LOGGER.log(Level.INFO, "findNamesSearch, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -277,8 +277,8 @@ public class DeviceNamesControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findNamesBySubsystem, subsystem:               " + subsystem);
-        LOGGER.log(Level.INFO, "findNamesBySubsystem, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNamesBySubsystem, subsystem:               {0}", subsystem);
+        LOGGER.log(Level.INFO, "findNamesBySubsystem, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -318,8 +318,8 @@ public class DeviceNamesControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findNamesBySubsystemSearch, subsystem:               " + subsystem);
-        LOGGER.log(Level.INFO, "findNamesBySubsystemSearch, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNamesBySubsystemSearch, subsystem:               {0}", subsystem);
+        LOGGER.log(Level.INFO, "findNamesBySubsystemSearch, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -351,8 +351,8 @@ public class DeviceNamesControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findNamesByDiscipline, discipline:              " + discipline);
-        LOGGER.log(Level.INFO, "findNamesByDiscipline, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNamesByDiscipline, discipline:              {0}", discipline);
+        LOGGER.log(Level.INFO, "findNamesByDiscipline, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -392,8 +392,8 @@ public class DeviceNamesControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findNamesByDisciplineSearch, discipline:              " + discipline);
-        LOGGER.log(Level.INFO, "findNamesByDisciplineSearch, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNamesByDisciplineSearch, discipline:              {0}", discipline);
+        LOGGER.log(Level.INFO, "findNamesByDisciplineSearch, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -425,8 +425,8 @@ public class DeviceNamesControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findNamesByDeviceType, deviceType:              " + deviceType);
-        LOGGER.log(Level.INFO, "findNamesByDeviceType, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNamesByDeviceType, deviceType:              {0}", deviceType);
+        LOGGER.log(Level.INFO, "findNamesByDeviceType, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -466,8 +466,8 @@ public class DeviceNamesControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findNamesByDeviceTypeSearch, deviceType:              " + deviceType);
-        LOGGER.log(Level.INFO, "findNamesByDeviceTypeSearch, deviceNameElements.size: " + deviceNameElements.size());
+        LOGGER.log(Level.INFO, "findNamesByDeviceTypeSearch, deviceType:              {0}", deviceType);
+        LOGGER.log(Level.INFO, "findNamesByDeviceTypeSearch, deviceNameElements.size: {0}", deviceNameElements.size());
 
         return deviceNameElements;
     }
@@ -493,8 +493,8 @@ public class DeviceNamesControllerV0 {
         }
         DeviceNameElement deviceNameElement = DeviceNameElementUtil.getDeviceNameElement(name, holderIRepositories);
 
-        LOGGER.log(Level.INFO, "findName, uuid:              " + uuid);
-        LOGGER.log(Level.INFO, "findName, deviceNameElement: " + deviceNameElement);
+        LOGGER.log(Level.INFO, "findName, uuid:              {0}", uuid);
+        LOGGER.log(Level.INFO, "findName, deviceNameElement: {0}", deviceNameElement);
 
         return deviceNameElement;
     }
diff --git a/src/main/java/org/openepics/names/rest/controller/old/HealthcheckControllerV0.java b/src/main/java/org/openepics/names/rest/controller/old/HealthcheckControllerV0.java
index e3414474..3eba05f0 100644
--- a/src/main/java/org/openepics/names/rest/controller/old/HealthcheckControllerV0.java
+++ b/src/main/java/org/openepics/names/rest/controller/old/HealthcheckControllerV0.java
@@ -19,7 +19,6 @@
 package org.openepics.names.rest.controller.old;
 
 import java.text.DateFormat;
-import java.text.SimpleDateFormat;
 import java.util.Date;
 
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -59,7 +58,7 @@ public class HealthcheckControllerV0 {
         // return healthcheck as server timestamp
         //     datetime - dateStyle, timeStyle - full
 
-        return SimpleDateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(new Date());
+        return DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(new Date());
     }
 
 }
diff --git a/src/main/java/org/openepics/names/rest/controller/old/HistoryControllerV0.java b/src/main/java/org/openepics/names/rest/controller/old/HistoryControllerV0.java
index 99cf1337..265d075f 100644
--- a/src/main/java/org/openepics/names/rest/controller/old/HistoryControllerV0.java
+++ b/src/main/java/org/openepics/names/rest/controller/old/HistoryControllerV0.java
@@ -224,8 +224,8 @@ public class HistoryControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findNamePartHistoryForUuid, uuid:                 " + uuid);
-        LOGGER.log(Level.INFO, "findNamePartHistoryForUuid, historyElements.size: " + historyElements.size());
+        LOGGER.log(Level.INFO, "findNamePartHistoryForUuid, uuid:                 {0}", uuid);
+        LOGGER.log(Level.INFO, "findNamePartHistoryForUuid, historyElements.size: {0}", historyElements.size());
 
         return historyElements;
     }
@@ -256,8 +256,8 @@ public class HistoryControllerV0 {
             historyElements.add(HistoryElementUtil.getHistoryElement(name));
         }
 
-        LOGGER.log(Level.INFO, "findNameHistoryForUuid, uuid:                 " + uuid);
-        LOGGER.log(Level.INFO, "findNameHistoryForUuid, historyElements.size: " + historyElements.size());
+        LOGGER.log(Level.INFO, "findNameHistoryForUuid, uuid:                 {0}", uuid);
+        LOGGER.log(Level.INFO, "findNameHistoryForUuid, historyElements.size: {0}", historyElements.size());
 
         return historyElements;
     }
diff --git a/src/main/java/org/openepics/names/rest/controller/old/PartControllerV0.java b/src/main/java/org/openepics/names/rest/controller/old/PartControllerV0.java
index 70f8fb95..9c34b77d 100644
--- a/src/main/java/org/openepics/names/rest/controller/old/PartControllerV0.java
+++ b/src/main/java/org/openepics/names/rest/controller/old/PartControllerV0.java
@@ -141,8 +141,8 @@ public class PartControllerV0 {
             partElements.add(PartElementUtil.getPartElement(deviceType, holderIRepositories));
         }
 
-        LOGGER.log(Level.INFO, "findPartsByMnemonic, mnemonic:          " + mnemonic);
-        LOGGER.log(Level.INFO, "findPartsByMnemonic, partElements.size: " + partElements.size());
+        LOGGER.log(Level.INFO, "findPartsByMnemonic, mnemonic:          {0}", mnemonic);
+        LOGGER.log(Level.INFO, "findPartsByMnemonic, partElements.size: {0}", partElements.size());
 
         return partElements;
     }
@@ -213,8 +213,8 @@ public class PartControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "getAllPartsByMnemonicSearch, mnemonic:          " + mnemonic);
-        LOGGER.log(Level.INFO, "getAllPartsByMnemonicSearch, partElements.size: " + partElements.size());
+        LOGGER.log(Level.INFO, "getAllPartsByMnemonicSearch, mnemonic:          {0}", mnemonic);
+        LOGGER.log(Level.INFO, "getAllPartsByMnemonicSearch, partElements.size: {0}", partElements.size());
 
         return partElements;
     }
@@ -293,8 +293,8 @@ public class PartControllerV0 {
             }
         }
 
-        LOGGER.log(Level.INFO, "findPartsByMnemonicPathSearch, mnemonicPath:      " + mnemonicPath);
-        LOGGER.log(Level.INFO, "findPartsByMnemonicPathSearch, partElements.size: " + partElements.size());
+        LOGGER.log(Level.INFO, "findPartsByMnemonicPathSearch, mnemonicPath:      {0}", mnemonicPath);
+        LOGGER.log(Level.INFO, "findPartsByMnemonicPathSearch, partElements.size: {0}", partElements.size());
 
         return partElements;
     }
diff --git a/src/main/java/org/openepics/names/rest/filter/RestLogFilter.java b/src/main/java/org/openepics/names/rest/filter/RestLogFilter.java
index 1a5269ac..f1755abf 100644
--- a/src/main/java/org/openepics/names/rest/filter/RestLogFilter.java
+++ b/src/main/java/org/openepics/names/rest/filter/RestLogFilter.java
@@ -166,8 +166,8 @@ public class RestLogFilter implements Filter {
     public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain filterChain)
             throws IOException, ServletException {
         HttpServletRequest req = null;
-        if (request instanceof HttpServletRequest) {
-            req = (HttpServletRequest)request;
+        if (request instanceof HttpServletRequest object) {
+            req = object;
         }
 
         LogEntry logLine = new LogEntry();
@@ -190,8 +190,8 @@ public class RestLogFilter implements Filter {
             logLine.setTime(endTime - startTime);
 
             HttpServletResponse resp = null;
-            if (response instanceof HttpServletResponse) {
-                resp = (HttpServletResponse) response;
+            if (response instanceof HttpServletResponse object) {
+                resp = object;
             }
 
             if (resp != null) {
diff --git a/src/main/java/org/openepics/names/service/NamesService.java b/src/main/java/org/openepics/names/service/NamesService.java
index a7dff5e0..c6f8a177 100644
--- a/src/main/java/org/openepics/names/service/NamesService.java
+++ b/src/main/java/org/openepics/names/service/NamesService.java
@@ -144,7 +144,7 @@ public class NamesService {
         //     return
         //         name elements for created names
 
-        LOGGER.log(Level.INFO, "createNames, nameElements.size:        " + String.valueOf(nameElements != null ? nameElements.size() : "null"));
+        LOGGER.log(Level.INFO, "createNames, nameElements.size:        {0}", String.valueOf(nameElements != null ? nameElements.size() : "null"));
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
@@ -157,7 +157,7 @@ public class NamesService {
             createdNameElements.add(createName(nameElement, holder, requestedBy));
         }
 
-        LOGGER.log(Level.INFO, "createNames, createdNameElements.size: " + createdNameElements.size());
+        LOGGER.log(Level.INFO, "createNames, createdNameElements.size: {0}", createdNameElements.size());
         return createdNameElements;
     }
     @Transactional(propagation = Propagation.MANDATORY)
@@ -215,22 +215,22 @@ public class NamesService {
             Boolean deleted, FieldName[] queryFields, String[] queryValues, Boolean includeHistory,
             FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) {
 
-        LOGGER.log(Level.INFO, "readNames, deleted:            " + deleted);
-        LOGGER.log(Level.INFO, "readNames, queryFields.length: " + String.valueOf(queryFields != null ? queryFields.length : "null"));
-        LOGGER.log(Level.INFO, "readNames, queryValues.length: " + String.valueOf(queryValues != null ? queryValues.length : "null"));
-        LOGGER.log(Level.INFO, "readNames, includeHistory:     " + includeHistory);
-        LOGGER.log(Level.INFO, "readNames, orderBy:            " + orderBy);
-        LOGGER.log(Level.INFO, "readNames, isAsc:              " + isAsc);
-        LOGGER.log(Level.INFO, "readNames, offset:             " + offset);
-        LOGGER.log(Level.INFO, "readNames, limit:              " + limit);
+        LOGGER.log(Level.INFO, "readNames, deleted:            {0}", deleted);
+        LOGGER.log(Level.INFO, "readNames, queryFields.length: {0}", String.valueOf(queryFields != null ? queryFields.length : "null"));
+        LOGGER.log(Level.INFO, "readNames, queryValues.length: {0}", String.valueOf(queryValues != null ? queryValues.length : "null"));
+        LOGGER.log(Level.INFO, "readNames, includeHistory:     {0}", includeHistory);
+        LOGGER.log(Level.INFO, "readNames, orderBy:            {0}", orderBy);
+        LOGGER.log(Level.INFO, "readNames, isAsc:              {0}", isAsc);
+        LOGGER.log(Level.INFO, "readNames, offset:             {0}", offset);
+        LOGGER.log(Level.INFO, "readNames, limit:              {0}", limit);
         if (queryFields != null && queryFields.length > 0) {
             for (FieldName queryField : queryFields) {
-                LOGGER.log(Level.INFO, "readNames, queryField:         " + queryField);
+                LOGGER.log(Level.INFO, "readNames, queryField:         {0}", queryField);
             }
         }
         if (queryValues != null && queryValues.length > 0) {
             for (String queryValue : queryValues) {
-                LOGGER.log(Level.INFO, "readNames, queryValue:         " + queryValue);
+                LOGGER.log(Level.INFO, "readNames, queryValue:         {0}", queryValue);
             }
         }
 
@@ -259,7 +259,7 @@ public class NamesService {
         }
 
         ResponsePageNameElements response = new ResponsePageNameElements(nameElements, totalCount, nameElements.size(), offset, limit);
-        LOGGER.log(Level.INFO, "readNames, response:           " + response);
+        LOGGER.log(Level.INFO, "readNames, response:           {0}", response);
         return response;
     }
 
@@ -267,7 +267,7 @@ public class NamesService {
             String name,
             FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) {
 
-        LOGGER.log(Level.INFO, "readNames, name:              " + name);
+        LOGGER.log(Level.INFO, "readNames, name:              {0}", name);
 
         // validate input
         //     name or uuid
@@ -300,7 +300,7 @@ public class NamesService {
             String mnemonicpath,
             FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) {
 
-        LOGGER.log(Level.INFO, "readNamesSystemStructure, mnemonicpath: " + mnemonicpath);
+        LOGGER.log(Level.INFO, "readNamesSystemStructure, mnemonicpath: {0}", mnemonicpath);
 
         // validate input
         //     mnemonic path
@@ -320,7 +320,7 @@ public class NamesService {
             String mnemonicpath,
             FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) {
 
-        LOGGER.log(Level.INFO, "readNamesDeviceStructure, mnemonicpath: " + mnemonicpath);
+        LOGGER.log(Level.INFO, "readNamesDeviceStructure, mnemonicpath: {0}", mnemonicpath);
 
         // validate input
         //     mnemonic path
@@ -339,7 +339,7 @@ public class NamesService {
     public ResponsePageNameElements readNamesHistory(
             String uuid,
             FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) {
-        LOGGER.log(Level.INFO, "readNamesHistory, uuid:              " + uuid);
+        LOGGER.log(Level.INFO, "readNamesHistory, uuid:              {0}", uuid);
 
         // note
         //     HolderIRepositories and HolderSystemDeviceStructure may or may not be used for preparation of what to return
@@ -368,7 +368,7 @@ public class NamesService {
     // ----------------------------------------------------------------------------------------------------
 
     public String equivalenceName(String name) {
-        LOGGER.log(Level.INFO, "equivalenceName, name: " + name);
+        LOGGER.log(Level.INFO, "equivalenceName, name: {0}", name);
 
         // validate input
         // do
@@ -382,7 +382,7 @@ public class NamesService {
     }
 
     public Boolean existsName(String name) {
-        LOGGER.log(Level.INFO, "existsName, name: " + name);
+        LOGGER.log(Level.INFO, "existsName, name: {0}", name);
 
         // validate input
         // do
@@ -397,7 +397,7 @@ public class NamesService {
     }
 
     public Boolean isLegacyName(String name) {
-        LOGGER.log(Level.INFO, "isLegacyName, name: " + name);
+        LOGGER.log(Level.INFO, "isLegacyName, name: {0}", name);
 
         // validate input
         // do
@@ -493,7 +493,7 @@ public class NamesService {
     }
 
     public Boolean isValidToCreateName(String name) {
-        LOGGER.log(Level.INFO, "isValidToCreateName, name: " + name);
+        LOGGER.log(Level.INFO, "isValidToCreateName, name: {0}", name);
 
         // validate input
         // validate data
@@ -624,7 +624,7 @@ public class NamesService {
         //     return
         //         name elements for updated names
 
-        LOGGER.log(Level.INFO, "updateNames, nameElements.size:        " + String.valueOf(nameElements != null ? nameElements.size() : "null"));
+        LOGGER.log(Level.INFO, "updateNames, nameElements.size:        {0}", String.valueOf(nameElements != null ? nameElements.size() : "null"));
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
@@ -687,7 +687,7 @@ public class NamesService {
             updatedNameElements.add(NameElementUtil.getNameElement(name));
         }
 
-        LOGGER.log(Level.INFO, "updateNames, updatedNameElements.size: " + updatedNameElements.size());
+        LOGGER.log(Level.INFO, "updateNames, updatedNameElements.size: {0}", updatedNameElements.size());
         return updatedNameElements;
     }
 
@@ -705,7 +705,7 @@ public class NamesService {
         //     return
         //         name element for deleted name
 
-        LOGGER.log(Level.INFO, "deleteNames, nameElements.size:        " + String.valueOf(nameElements != null ? nameElements.size() : "null"));
+        LOGGER.log(Level.INFO, "deleteNames, nameElements.size:        {0}", String.valueOf(nameElements != null ? nameElements.size() : "null"));
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
@@ -757,7 +757,7 @@ public class NamesService {
             deletedNameElements.add(NameElementUtil.getNameElement(name));
         }
 
-        LOGGER.log(Level.INFO, "deleteNames, deletedNameElements.size: " + deletedNameElements.size());
+        LOGGER.log(Level.INFO, "deleteNames, deletedNameElements.size: {0}", deletedNameElements.size());
         return deletedNameElements;
     }
 
diff --git a/src/main/java/org/openepics/names/service/StructuresService.java b/src/main/java/org/openepics/names/service/StructuresService.java
index 648b8607..e8b55d22 100644
--- a/src/main/java/org/openepics/names/service/StructuresService.java
+++ b/src/main/java/org/openepics/names/service/StructuresService.java
@@ -90,6 +90,8 @@ public class StructuresService {
 
     private static final Logger LOGGER = Logger.getLogger(StructuresService.class.getName());
 
+    private static final String SYSTEM_STRUCTURE_ONLY = "System structure only";
+
     private EssNamingConvention namingConvention;
 
     private HolderIRepositories holderIRepositories;
@@ -146,7 +148,7 @@ public class StructuresService {
         //     return
         //         structure elements for created structures
 
-        LOGGER.log(Level.INFO, "createStructures, structureElements.size:        " + String.valueOf(structureElements != null ? structureElements.size() : "null"));
+        LOGGER.log(Level.INFO, "createStructures, structureElements.size:        {0}", String.valueOf(structureElements != null ? structureElements.size() : "null"));
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
@@ -256,7 +258,7 @@ public class StructuresService {
             }
         }
 
-        LOGGER.log(Level.INFO, "createStructures, createdStructureElements.size: " + createdStructureElements.size());
+        LOGGER.log(Level.INFO, "createStructures, createdStructureElements.size: {0}", createdStructureElements.size());
         return createdStructureElements;
     }
 
@@ -268,36 +270,35 @@ public class StructuresService {
         return readStructures(type, statuses, deleted, queryFields, queryValues, Boolean.FALSE, orderBy, isAsc, offset, limit, StructureChoice.STRUCTURE);
     }
 
-    //need to have public static enum StructureChoice {HISTORY, STRUCTURE};
     public ResponsePageStructureElements readStructures(
             Type type, Status[] statuses, Boolean deleted, FieldStructure[] queryFields, String[] queryValues, Boolean includeHistory,
             FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit,
             StructureChoice structureChoice) {
 
-        LOGGER.log(Level.INFO, "readStructures, type:                   " + type);
-        LOGGER.log(Level.INFO, "readStructures, statuses.length:        " + String.valueOf(statuses != null ? statuses.length : "null"));
-        LOGGER.log(Level.INFO, "readStructures, deleted:                " + deleted);
-        LOGGER.log(Level.INFO, "readStructures, queryFields.length:     " + String.valueOf(queryFields != null ? queryFields.length : "null"));
-        LOGGER.log(Level.INFO, "readStructures, queryValues.length:     " + String.valueOf(queryValues != null ? queryValues.length : "null"));
-        LOGGER.log(Level.INFO, "readStructures, includeHistory:         " + includeHistory);
-        LOGGER.log(Level.INFO, "readStructures, orderBy:                " + orderBy);
-        LOGGER.log(Level.INFO, "readStructures, isAsc:                  " + isAsc);
-        LOGGER.log(Level.INFO, "readStructures, offset:                 " + offset);
-        LOGGER.log(Level.INFO, "readStructures, limit:                  " + limit);
-        LOGGER.log(Level.INFO, "readStructures, structureChoice:        " + structureChoice);
+        LOGGER.log(Level.INFO, "readStructures, type:                   {0}", type);
+        LOGGER.log(Level.INFO, "readStructures, statuses.length:        {0}", String.valueOf(statuses != null ? statuses.length : "null"));
+        LOGGER.log(Level.INFO, "readStructures, deleted:                {0}", deleted);
+        LOGGER.log(Level.INFO, "readStructures, queryFields.length:     {0}", String.valueOf(queryFields != null ? queryFields.length : "null"));
+        LOGGER.log(Level.INFO, "readStructures, queryValues.length:     {0}", String.valueOf(queryValues != null ? queryValues.length : "null"));
+        LOGGER.log(Level.INFO, "readStructures, includeHistory:         {0}", includeHistory);
+        LOGGER.log(Level.INFO, "readStructures, orderBy:                {0}", orderBy);
+        LOGGER.log(Level.INFO, "readStructures, isAsc:                  {0}", isAsc);
+        LOGGER.log(Level.INFO, "readStructures, offset:                 {0}", offset);
+        LOGGER.log(Level.INFO, "readStructures, limit:                  {0}", limit);
+        LOGGER.log(Level.INFO, "readStructures, structureChoice:        {0}", structureChoice);
         if (statuses != null && statuses.length > 0) {
             for (Status status : statuses) {
-                LOGGER.log(Level.INFO, "readStructures, status:                 " + status);
+                LOGGER.log(Level.INFO, "readStructures, status:                 {0}", status);
             }
         }
         if (queryFields != null && queryFields.length > 0) {
             for (FieldStructure queryField : queryFields) {
-                LOGGER.log(Level.INFO, "readStructures, queryField:             " + queryField);
+                LOGGER.log(Level.INFO, "readStructures, queryField:             {0}", queryField);
             }
         }
         if (queryValues != null && queryValues.length > 0) {
             for (String queryValue : queryValues) {
-                LOGGER.log(Level.INFO, "readStructures, queryValue:             " + queryValue);
+                LOGGER.log(Level.INFO, "readStructures, queryValue:             {0}", queryValue);
             }
         }
 
@@ -330,7 +331,7 @@ public class StructuresService {
                     orderBy, isAsc,
                     offset, limit);
             totalCount = holderRepositories.getSystemGroupRepository().countSystemGroups(statuses, deleted, queryFields, queryValues, includeHistory);
-            LOGGER.log(Level.INFO, "readStructures, systemGroups.size:      " + systemGroups.size());
+            LOGGER.log(Level.INFO, "readStructures, systemGroups.size:      {0}", systemGroups.size());
             structureElements.addAll(StructureElementUtil.getStructureElementsForSystemGroups(systemGroups, holder, structureChoice));
         } else if (Type.SYSTEM.equals(type)) {
             List<System> systems = holderRepositories.getSystemRepository().readSystems(
@@ -339,7 +340,7 @@ public class StructuresService {
                     orderBy, isAsc,
                     offset, limit);
             totalCount = holderRepositories.getSystemRepository().countSystems(statuses, deleted, queryFields, queryValues, includeHistory);
-            LOGGER.log(Level.INFO, "readStructures, systems.size:           " + systems.size());
+            LOGGER.log(Level.INFO, "readStructures, systems.size:           {0}", systems.size());
             structureElements.addAll(StructureElementUtil.getStructureElementsForSystems(systems, holder, structureChoice));
         } else if (Type.SUBSYSTEM.equals(type)) {
             List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(
@@ -348,7 +349,7 @@ public class StructuresService {
                     orderBy, isAsc,
                     offset, limit);
             totalCount = holderRepositories.getSubsystemRepository().countSubsystems(statuses, deleted, queryFields, queryValues, includeHistory);
-            LOGGER.log(Level.INFO, "readStructures, subsystems.size:        " + subsystems.size());
+            LOGGER.log(Level.INFO, "readStructures, subsystems.size:        {0}", subsystems.size());
             structureElements.addAll(StructureElementUtil.getStructureElementsForSubsystems(subsystems, holder, structureChoice));
         } else if (Type.DISCIPLINE.equals(type)) {
             List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(
@@ -357,7 +358,7 @@ public class StructuresService {
                     orderBy, isAsc,
                     offset, limit);
             totalCount = holderRepositories.getDisciplineRepository().countDisciplines(statuses, deleted, queryFields, queryValues, includeHistory);
-            LOGGER.log(Level.INFO, "readStructures, disciplines.size:       " + disciplines.size());
+            LOGGER.log(Level.INFO, "readStructures, disciplines.size:       {0}", disciplines.size());
             structureElements.addAll(StructureElementUtil.getStructureElementsForDisciplines(disciplines, holder, structureChoice));
         } else if (Type.DEVICEGROUP.equals(type)) {
             List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(
@@ -366,7 +367,7 @@ public class StructuresService {
                     orderBy, isAsc,
                     offset, limit);
             totalCount = holderRepositories.getDeviceGroupRepository().countDeviceGroups(statuses, deleted, queryFields, queryValues, includeHistory);
-            LOGGER.log(Level.INFO, "readStructures, deviceGroups.size:      " + deviceGroups.size());
+            LOGGER.log(Level.INFO, "readStructures, deviceGroups.size:      {0}", deviceGroups.size());
             structureElements.addAll(StructureElementUtil.getStructureElementsForDeviceGroups(deviceGroups, holder, structureChoice));
         } else if (Type.DEVICETYPE.equals(type)) {
             List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(
@@ -375,12 +376,12 @@ public class StructuresService {
                     orderBy, isAsc,
                     offset, limit);
             totalCount = holderRepositories.getDeviceTypeRepository().countDeviceTypes(statuses, deleted, queryFields, queryValues, includeHistory);
-            LOGGER.log(Level.INFO, "readStructures, deviceTypes.size:       " + deviceTypes.size());
+            LOGGER.log(Level.INFO, "readStructures, deviceTypes.size:       {0}", deviceTypes.size());
             structureElements.addAll(StructureElementUtil.getStructureElementsForDeviceTypes(deviceTypes, holder, structureChoice));
         }
 
         ResponsePageStructureElements response = new ResponsePageStructureElements(structureElements, totalCount, structureElements.size(), offset, limit);
-        LOGGER.log(Level.INFO, "readStructures, response:           " + response);
+        LOGGER.log(Level.INFO, "readStructures, response:           {0}", response);
         return response;
     }
 
@@ -395,8 +396,8 @@ public class StructuresService {
         // return
         //     structure elements for structures
 
-        LOGGER.log(Level.INFO, "readStructuresChildren, type:                   " + type);
-        LOGGER.log(Level.INFO, "readStructuresChildren, uuid:                   " + uuid);
+        LOGGER.log(Level.INFO, "readStructuresChildren, type:                   {0}", type);
+        LOGGER.log(Level.INFO, "readStructuresChildren, uuid:                   {0}", uuid);
 
         // validate input
         ValidateUtil.validateInputType(type);
@@ -838,7 +839,7 @@ public class StructuresService {
         //     return
         //         structure elements for updated structures
 
-        LOGGER.log(Level.INFO, "updateStructures, structureElements.size:        " + String.valueOf(structureElements != null ? structureElements.size() : "null"));
+        LOGGER.log(Level.INFO, "updateStructures, structureElements.size:        {0}", String.valueOf(structureElements != null ? structureElements.size() : "null"));
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
@@ -948,7 +949,7 @@ public class StructuresService {
             }
         }
 
-        LOGGER.log(Level.INFO, "updateStructures, updatedStructureElements.size: " + updatedStructureElements.size());
+        LOGGER.log(Level.INFO, "updateStructures, updatedStructureElements.size: {0}", updatedStructureElements.size());
         return updatedStructureElements;
     }
 
@@ -968,7 +969,7 @@ public class StructuresService {
         //         structure elements for deleted structures
         // TODO continue ---> validation error
 
-        LOGGER.log(Level.INFO, "deleteStructures, structureElements.size:        " + String.valueOf(structureElements != null ? structureElements.size() : "null"));
+        LOGGER.log(Level.INFO, "deleteStructures, structureElements.size:        {0}", String.valueOf(structureElements != null ? structureElements.size() : "null"));
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
@@ -1112,7 +1113,7 @@ public class StructuresService {
             }
         }
 
-        LOGGER.log(Level.INFO, "deleteStructures, deletedStructureElements.size: " + deletedStructureElements.size());
+        LOGGER.log(Level.INFO, "deleteStructures, deletedStructureElements.size: {0}", deletedStructureElements.size());
         return deletedStructureElements;
     }
 
@@ -1129,7 +1130,7 @@ public class StructuresService {
         //         updated structure element
         // TODO continue ---> validation error
 
-        LOGGER.log(Level.INFO, "approveStructures, structureElements.size:         " + String.valueOf(structureElements != null ? structureElements.size() : "null"));
+        LOGGER.log(Level.INFO, "approveStructures, structureElements.size:         {0}", String.valueOf(structureElements != null ? structureElements.size() : "null"));
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
@@ -1178,9 +1179,9 @@ public class StructuresService {
                 // automatically create name when system structure is approved (after create)
                 // create name within current transaction
                 if (!StringUtils.isEmpty(systemGroup.getMnemonic())) {
-                    NameElementCommand nameElement = new NameElementCommand(null, systemGroup.getUuid(), null, null, "System structure only", null);
+                    NameElementCommand nameElement = new NameElementCommand(null, systemGroup.getUuid(), null, null, SYSTEM_STRUCTURE_ONLY, null);
                     NameElement createdNameElement = namesService.createName(nameElement, holder, processedBy);
-                    LOGGER.log(Level.INFO, "approveStructures, nameElement created, name:      " + createdNameElement.getName());
+                    LOGGER.log(Level.INFO, "approveStructures, nameElement created, name:      {0}", createdNameElement.getName());
                 }
 
                 // add
@@ -1214,9 +1215,9 @@ public class StructuresService {
                 // automatically create name when system structure is approved (after create)
                 // create name within current transaction
                 if (!StringUtils.isEmpty(system.getMnemonic())) {
-                    NameElementCommand nameElement = new NameElementCommand(null, system.getUuid(), null, null, "System structure only", null);
+                    NameElementCommand nameElement = new NameElementCommand(null, system.getUuid(), null, null, SYSTEM_STRUCTURE_ONLY, null);
                     NameElement createdNameElement = namesService.createName(nameElement, holder, processedBy);
-                    LOGGER.log(Level.INFO, "approveStructures, nameElement created, name:      " + createdNameElement.getName());
+                    LOGGER.log(Level.INFO, "approveStructures, nameElement created, name:      {0}", createdNameElement.getName());
                 }
 
                 // add
@@ -1250,9 +1251,9 @@ public class StructuresService {
                 // automatically create name when system structure is approved (after create)
                 // create name within current transaction
                 if (!StringUtils.isEmpty(subsystem.getMnemonic())) {
-                    NameElementCommand nameElement = new NameElementCommand(null, subsystem.getUuid(), null, null, "System structure only", null);
+                    NameElementCommand nameElement = new NameElementCommand(null, subsystem.getUuid(), null, null, SYSTEM_STRUCTURE_ONLY, null);
                     NameElement createdNameElement = namesService.createName(nameElement, holder, processedBy);
-                    LOGGER.log(Level.INFO, "approveStructures, nameElement created, name:      " + createdNameElement.getName());
+                    LOGGER.log(Level.INFO, "approveStructures, nameElement created, name:      {0}", createdNameElement.getName());
                 }
 
                 // add
@@ -1343,7 +1344,7 @@ public class StructuresService {
             }
         }
 
-        LOGGER.log(Level.INFO, "approveStructures, approvedStructureElements.size: " + approvedStructureElements.size());
+        LOGGER.log(Level.INFO, "approveStructures, approvedStructureElements.size: {0}", approvedStructureElements.size());
         return approvedStructureElements;
     }
 
@@ -1358,7 +1359,7 @@ public class StructuresService {
         //         updated structure element
         // TODO continue ---> validation error
 
-        LOGGER.log(Level.INFO, "cancelStructures, structureElements.size:          " + String.valueOf(structureElements != null ? structureElements.size() : "null"));
+        LOGGER.log(Level.INFO, "cancelStructures, structureElements.size:          {0}", String.valueOf(structureElements != null ? structureElements.size() : "null"));
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
@@ -1465,7 +1466,7 @@ public class StructuresService {
             }
         }
 
-        LOGGER.log(Level.INFO, "cancelStructures, cancelledStructureElements.size: " + cancelledStructureElements.size());
+        LOGGER.log(Level.INFO, "cancelStructures, cancelledStructureElements.size: {0}", cancelledStructureElements.size());
         return cancelledStructureElements;
     }
 
@@ -1480,7 +1481,7 @@ public class StructuresService {
         //         updated structure element
         // TODO continue ---> validation error
 
-        LOGGER.log(Level.INFO, "rejectStructures, structureElements.size:         " + String.valueOf(structureElements != null ? structureElements.size() : "null"));
+        LOGGER.log(Level.INFO, "rejectStructures, structureElements.size:         {0}", String.valueOf(structureElements != null ? structureElements.size() : "null"));
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
@@ -1587,7 +1588,7 @@ public class StructuresService {
             }
         }
 
-        LOGGER.log(Level.INFO, "rejectStructures, rejectedStructureElements.size: " + rejectedStructureElements.size());
+        LOGGER.log(Level.INFO, "rejectStructures, rejectedStructureElements.size: {0}", rejectedStructureElements.size());
         return rejectedStructureElements;
     }
 
diff --git a/src/main/java/org/openepics/names/util/ExcelUtil.java b/src/main/java/org/openepics/names/util/ExcelUtil.java
index 69dabc0a..e7f72859 100644
--- a/src/main/java/org/openepics/names/util/ExcelUtil.java
+++ b/src/main/java/org/openepics/names/util/ExcelUtil.java
@@ -70,10 +70,10 @@ public class ExcelUtil {
 
     // width (in units of 1/256th of a character width)
     // column width 2.75 inch (to fit header text and uuid)
-    public static final int        SHEET_COLUMN_WIDTH              = 28 * 256 + 64;
+    private static final int        SHEET_COLUMN_WIDTH              = 28 * 256 + 64;
 
-    public static final int        NAMEELEMENTCOMMAND_LENGTH       = 6;
-    public static final String[][] NAMEELEMENT_HEADER_COMMENT      = {
+    private static final int        NAMEELEMENTCOMMAND_LENGTH       = 6;
+    private static final String[][] NAMEELEMENT_HEADER_COMMENT      = {
             {"Uuid",                  "Identity (uuid) of the name entry. Value is created server-side."},
             {"Parentsystemstructure", "Identity (uuid) for the system structure parent."},
             {"Parentdevicestructure", "Identity (uuid) for the device structure parent (if the name entry refers to device structure)."},
@@ -90,8 +90,8 @@ public class ExcelUtil {
             {"When",                  "Date and time when the name entry was created."},
             {"Who",                   "Name (user) of who created the name entry."} };
 
-    public static final int        STRUCTUREELEMENTCOMMAND_LENGTH  = 7;
-    public static final String[][] STRUCTUREELEMENT_HEADER_COMMENT = {
+    private static final int        STRUCTUREELEMENTCOMMAND_LENGTH  = 7;
+    private static final String[][] STRUCTUREELEMENT_HEADER_COMMENT = {
             {"Uuid",                  "Identity (uuid) of the structure entry. Value is created server-side."},
             {"Type",                  "Type of the structure entry."},
             {"Parent",                "Identity (uuid) for the structure entry parent (if the structure entry has a parent)."},
-- 
GitLab