From d91d08a89f20f0178d92a2b99651efcd965b2d85 Mon Sep 17 00:00:00 2001 From: Lars Johansson <lars.johansson@ess.eu> Date: Thu, 5 Jan 2023 12:47:19 +0100 Subject: [PATCH] Update comments --- .../rest/controller/NamesController.java | 50 ++-- .../rest/controller/ReportController.java | 17 +- .../rest/controller/StructuresController.java | 78 +++--- .../names/service/DeviceGroupService.java | 52 ++-- .../names/service/DeviceTypeService.java | 52 ++-- .../names/service/DisciplineService.java | 52 ++-- .../openepics/names/service/NamesService.java | 164 +++++------- .../names/service/StructuresService.java | 242 +++++++----------- .../names/service/SubsystemService.java | 52 ++-- .../names/service/SystemGroupService.java | 52 ++-- .../names/service/SystemService.java | 52 ++-- 11 files changed, 382 insertions(+), 481 deletions(-) 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 4a0771fa..5cab7988 100644 --- a/src/main/java/org/openepics/names/rest/controller/NamesController.java +++ b/src/main/java/org/openepics/names/rest/controller/NamesController.java @@ -89,10 +89,9 @@ public class NamesController implements INames { @Override public ResponseEntity<List<NameElement>> createNames(List<NameElementCommand> nameElements) { - // validate authority - // naming user & admin + // validate authority - user & admin // validate - // do + // create names try { namesService.validateNamesCreate(nameElements); @@ -109,11 +108,10 @@ public class NamesController implements INames { @Override public ResponseEntity<Resource> createNames(MultipartFile file) { - // validate authority - // naming user & admin + // validate authority - user & admin // convert from input // validate - // do + // create names // convert to output try { @@ -149,7 +147,7 @@ public class NamesController implements INames { String uuid, String name, String nameequivalence, String systemstructure, String devicestructure, String index, String description, FieldName orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read names try { ValidateNameElementUtil.validateNamesInputRead( @@ -176,7 +174,7 @@ public class NamesController implements INames { String uuid, String name, String nameequivalence, String systemstructure, String devicestructure, String index, String description, FieldName orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read names // convert to output ResponsePageNameElements nameElements = readNames(deleted, @@ -193,7 +191,7 @@ public class NamesController implements INames { public ResponsePageNameElements readNames(String name, FieldName orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read names try { ValidateUtil.validateInputName(name); @@ -212,7 +210,7 @@ public class NamesController implements INames { public ResponsePageNameElements readNamesSystemStructure(String mnemonicpath, FieldName orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read names try { ValidateUtil.validateInputMnemonicpath(mnemonicpath); @@ -232,7 +230,7 @@ public class NamesController implements INames { public ResponsePageNameElements readNamesDeviceStructure(String mnemonicpath, FieldName orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read names try { ValidateUtil.validateInputMnemonicpath(mnemonicpath); @@ -252,7 +250,7 @@ public class NamesController implements INames { public ResponsePageNameElements readNamesHistory(String uuid, FieldName orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read names try { ValidateUtil.validateInputUuid(uuid); @@ -273,7 +271,7 @@ public class NamesController implements INames { @Override public String equivalenceName(String name) { // validate - // do + // read try { ValidateUtil.validateInputName(name); @@ -291,7 +289,7 @@ public class NamesController implements INames { @Override public ResponseEntity<ResponseBoolean> existsName(String name) { // validate - // do + // read names try { ValidateUtil.validateInputName(name); @@ -309,7 +307,7 @@ public class NamesController implements INames { @Override public ResponseEntity<ResponseBoolean> isLegacyName(String name) { // validate - // do + // read names try { ValidateUtil.validateInputName(name); @@ -327,7 +325,7 @@ public class NamesController implements INames { @Override public ResponseEntity<ResponseBoolean> isValidToCreateName(String name) { // validate - // do + // read names try { ValidateUtil.validateInputName(name); @@ -441,10 +439,9 @@ public class NamesController implements INames { @Override public List<NameElement> updateNames(List<NameElementCommand> nameElements) { - // validate authority - // naming user & admin + // validate authority - user & admin // validate - // do + // update names try { namesService.validateNamesUpdate(nameElements); @@ -461,11 +458,10 @@ public class NamesController implements INames { @Override public ResponseEntity<Resource> updateNames(MultipartFile file) { - // validate authority - // naming user & admin + // validate authority - user & admin // convert from input // validate - // do + // update names // convert to output try { @@ -498,10 +494,9 @@ public class NamesController implements INames { @Override public List<NameElement> deleteNames(List<NameElementCommand> nameElements) { - // validate authority - // naming user & admin + // validate authority - user & admin // validate - // do + // delete names try { namesService.validateNamesDelete(nameElements); @@ -518,11 +513,10 @@ public class NamesController implements INames { @Override public ResponseEntity<Resource> deleteNames(MultipartFile file) { - // validate authority - // naming user & admin + // validate authority - user & admin // convert from input // validate - // do + // delete names // convert to output try { diff --git a/src/main/java/org/openepics/names/rest/controller/ReportController.java b/src/main/java/org/openepics/names/rest/controller/ReportController.java index 47647d2e..8b93938d 100644 --- a/src/main/java/org/openepics/names/rest/controller/ReportController.java +++ b/src/main/java/org/openepics/names/rest/controller/ReportController.java @@ -132,15 +132,14 @@ public class ReportController { // note // obsolete values are not shown // metrics can be read with service layer or repository layer - - // do - // prepare metrics - // names - read, count - // structures - read, count - // prepare text - // names - format - // structures - format - // report + // ---------------------------------------- + // prepare metrics + // names - read, count + // structures - read, count + // prepare text + // names - format + // structures - format + // report // prepare metrics // read names - latest, latest deleted, latest not deleted 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 98116510..e60627bb 100644 --- a/src/main/java/org/openepics/names/rest/controller/StructuresController.java +++ b/src/main/java/org/openepics/names/rest/controller/StructuresController.java @@ -91,10 +91,9 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<List<StructureElement>> createStructures(List<StructureElementCommand> structureElements) { - // validate authority - // naming user & admin + // validate authority - user & admin // validate - // do + // create structures try { structuresService.validateStructuresCreate(structureElements); @@ -111,11 +110,10 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<Resource> createStructures(MultipartFile file) { - // validate authority - // naming user & admin + // validate authority - user & admin // convert from input // validate - // do + // create structures // convert to output try { @@ -151,7 +149,7 @@ public class StructuresController implements IStructures { String uuid, String parentuuid, String name, String mnemonic, String mnemonicequivalence, String mnemonicpath, String description, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read structures try { ValidateStructureElementUtil.validateStructuresInputRead(type, statuses, deleted, @@ -175,7 +173,7 @@ public class StructuresController implements IStructures { String uuid, String parentuuid, String name, String mnemonic, String mnemonicequivalence, String mnemonicpath, String description, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read structures // convert to output ResponsePageStructureElements structureElements = readStructures(type, statuses, deleted, @@ -193,7 +191,7 @@ public class StructuresController implements IStructures { String name, String mnemonic, String mnemonicequivalence, String mnemonicpath, String description, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read structures try { ValidateUtil.validateInputUuid(uuid); @@ -214,7 +212,7 @@ public class StructuresController implements IStructures { public ResponsePageStructureElements readStructuresMnemonic(String mnemonic, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read structures try { ValidateUtil.validateInputMnemonic(mnemonic); @@ -233,7 +231,7 @@ public class StructuresController implements IStructures { public ResponsePageStructureElements readStructuresMnemonicpath(String mnemonicpath, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read structures try { ValidateUtil.validateInputMnemonicpath(mnemonicpath); @@ -252,7 +250,7 @@ public class StructuresController implements IStructures { public ResponsePageStructureElements readStructuresHistory(String uuid, Type type, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate - // do + // read structures try { ValidateUtil.validateInputUuid(uuid); @@ -273,7 +271,7 @@ public class StructuresController implements IStructures { @Override public String equivalenceMnemonic(String mnemonic) { // validate - // do + // read try { ValidateUtil.validateInputMnemonic(mnemonic); @@ -291,7 +289,7 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<ResponseBoolean> existsStructure(Type type, String mnemonicpath) { // validate - // do + // read structures try { ValidateUtil.validateInputType(type); @@ -310,7 +308,7 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<ResponseBoolean> isValidToCreateStructure(Type type, String mnemonicpath) { // validate - // do + // read structures try { ValidateUtil.validateInputType(type); @@ -518,10 +516,9 @@ public class StructuresController implements IStructures { @Override public List<StructureElement> updateStructures(List<StructureElementCommand> structureElements) { - // validate authority - // naming user & admin + // validate authority - user & admin // validate - // do + // update structures try { structuresService.validateStructuresUpdate(structureElements); @@ -538,11 +535,10 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<Resource> updateStructures(MultipartFile file) { - // validate authority - // naming user & admin + // validate authority - user & admin // convert from input // validate - // do + // update structures // convert to output try { @@ -575,10 +571,9 @@ public class StructuresController implements IStructures { @Override public List<StructureElement> deleteStructures(List<StructureElementCommand> structureElements) { - // validate authority - // naming user & admin + // validate authority - user & admin // validate - // do + // delete structures try { structuresService.validateStructuresDelete(structureElements); @@ -595,11 +590,10 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<Resource> deleteStructures(MultipartFile file) { - // validate authority - // naming user & admin + // validate authority - user & admin // convert from input // validate - // do + // delete structures // convert to output try { @@ -632,10 +626,9 @@ public class StructuresController implements IStructures { @Override public List<StructureElement> approveStructures(List<StructureElementCommand> structureElements) { - // validate authority - // naming admin + // validate authority - admin // validate - // do + // approve structures try { structuresService.validateStructuresApprove(structureElements); @@ -652,11 +645,10 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<Resource> approveStructures(MultipartFile file) { - // validate authority - // naming admin + // validate authority - admin // convert from input // validate - // do + // approve structures // convert to output try { @@ -687,10 +679,9 @@ public class StructuresController implements IStructures { @Override public List<StructureElement> cancelStructures(List<StructureElementCommand> structureElements) { - // validate authority - // naming admin + // validate authority - admin // validate - // do + // cancel structures try { structuresService.validateStructuresCancel(structureElements); @@ -707,11 +698,10 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<Resource> cancelStructures(MultipartFile file) { - // validate authority - // naming admin + // validate authority - admin // convert from input // validate - // do + // cancel structures // convert to output try { @@ -742,10 +732,9 @@ public class StructuresController implements IStructures { @Override public List<StructureElement> rejectStructures(List<StructureElementCommand> structureElements) { - // validate authority - // naming admin + // validate authority - admin // validate - // do + // reject structures try { structuresService.validateStructuresReject(structureElements); @@ -762,11 +751,10 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<Resource> rejectStructures(MultipartFile file) { - // validate authority - // naming admin + // validate authority - admin // convert from input // validate - // do + // reject structures // convert to output try { diff --git a/src/main/java/org/openepics/names/service/DeviceGroupService.java b/src/main/java/org/openepics/names/service/DeviceGroupService.java index 0a334e1a..fb0e85e4 100644 --- a/src/main/java/org/openepics/names/service/DeviceGroupService.java +++ b/src/main/java/org/openepics/names/service/DeviceGroupService.java @@ -83,11 +83,12 @@ public class DeviceGroupService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // create structure to pending, not latest, deleted, with data + // support a current transaction, throw an exception if none exists + // find + // create structure to pending, not latest, deleted, with data // return - // structure element for deleted structure + notification + // structure element for deleted structure + // notification String uuid = structureElement.getUuid().toString(); @@ -116,28 +117,29 @@ public class DeviceGroupService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // update not latest - // find - // approve - update structure to status APPROVED, latest to true - // additional - // find out previous to find out what is approved - create update delete - // approve create - // automatically create name when system structure is approved - // condition on name and structure entry - // system structure should exist (uuid), one entry that is not deleted - // name should not exist (system structure mnemonic) - // within current transaction - // approve update - // update related names - // for different mnemonic - // not for device group - // approve delete - // keep related names - legacy names - // delete sub structures + // support a current transaction, throw an exception if none exists + // find + // update not latest + // find + // approve - update structure to status APPROVED, latest to true + // additional + // find out previous to find out what is approved - create update delete + // approve create + // automatically create name when system structure is approved + // condition on name and structure entry + // system structure should exist (uuid), one entry that is not deleted + // name should not exist (system structure mnemonic) + // within current transaction + // approve update + // update related names + // for different mnemonic + // not for device group + // approve delete + // keep related names - legacy names + // delete sub structures // return - // structure element for approved structure + notification + // structure element for approved structure + // notification String uuid = structureElement.getUuid().toString(); String processedComment = structureElement.getComment(); diff --git a/src/main/java/org/openepics/names/service/DeviceTypeService.java b/src/main/java/org/openepics/names/service/DeviceTypeService.java index ff73eba5..53fa1d03 100644 --- a/src/main/java/org/openepics/names/service/DeviceTypeService.java +++ b/src/main/java/org/openepics/names/service/DeviceTypeService.java @@ -76,11 +76,12 @@ public class DeviceTypeService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // create structure to pending, not latest, deleted, with data + // support a current transaction, throw an exception if none exists + // find + // create structure to pending, not latest, deleted, with data // return - // structure element for deleted structure + notification + // structure element for deleted structure + // notification String uuid = structureElement.getUuid().toString(); @@ -109,28 +110,29 @@ public class DeviceTypeService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // update not latest - // find - // approve - update structure to status APPROVED, latest to true - // additional - // find out previous to find out what is approved - create update delete - // approve create - // automatically create name when system structure is approved - // condition on name and structure entry - // system structure should exist (uuid), one entry that is not deleted - // name should not exist (system structure mnemonic) - // within current transaction - // approve update - // update related names - // for different mnemonic - // not for device group - // approve delete - // keep related names - legacy names - // delete sub structures + // support a current transaction, throw an exception if none exists + // find + // update not latest + // find + // approve - update structure to status APPROVED, latest to true + // additional + // find out previous to find out what is approved - create update delete + // approve create + // automatically create name when system structure is approved + // condition on name and structure entry + // system structure should exist (uuid), one entry that is not deleted + // name should not exist (system structure mnemonic) + // within current transaction + // approve update + // update related names + // for different mnemonic + // not for device group + // approve delete + // keep related names - legacy names + // delete sub structures // return - // structure element for approved structure + notification + // structure element for approved structure + // notification String uuid = structureElement.getUuid().toString(); String processedComment = structureElement.getComment(); diff --git a/src/main/java/org/openepics/names/service/DisciplineService.java b/src/main/java/org/openepics/names/service/DisciplineService.java index a1e4762a..72ea6169 100644 --- a/src/main/java/org/openepics/names/service/DisciplineService.java +++ b/src/main/java/org/openepics/names/service/DisciplineService.java @@ -86,11 +86,12 @@ public class DisciplineService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // create structure to pending, not latest, deleted, with data + // support a current transaction, throw an exception if none exists + // find + // create structure to pending, not latest, deleted, with data // return - // structure element for deleted structure + notification + // structure element for deleted structure + // notification String uuid = structureElement.getUuid().toString(); @@ -119,28 +120,29 @@ public class DisciplineService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // update not latest - // find - // approve - update structure to status APPROVED, latest to true - // additional - // find out previous to find out what is approved - create update delete - // approve create - // automatically create name when system structure is approved - // condition on name and structure entry - // system structure should exist (uuid), one entry that is not deleted - // name should not exist (system structure mnemonic) - // within current transaction - // approve update - // update related names - // for different mnemonic - // not for device group - // approve delete - // keep related names - legacy names - // delete sub structures + // support a current transaction, throw an exception if none exists + // find + // update not latest + // find + // approve - update structure to status APPROVED, latest to true + // additional + // find out previous to find out what is approved - create update delete + // approve create + // automatically create name when system structure is approved + // condition on name and structure entry + // system structure should exist (uuid), one entry that is not deleted + // name should not exist (system structure mnemonic) + // within current transaction + // approve update + // update related names + // for different mnemonic + // not for device group + // approve delete + // keep related names - legacy names + // delete sub structures // return - // structure element for approved structure + notification + // structure element for approved structure + // notification String uuid = structureElement.getUuid().toString(); String processedComment = structureElement.getComment(); diff --git a/src/main/java/org/openepics/names/service/NamesService.java b/src/main/java/org/openepics/names/service/NamesService.java index 2bfee4fe..724f1f22 100644 --- a/src/main/java/org/openepics/names/service/NamesService.java +++ b/src/main/java/org/openepics/names/service/NamesService.java @@ -143,20 +143,17 @@ public class NamesService { public List<NameElement> createNames(List<NameElementCommand> nameElements) { // validation outside method // transaction - // do - // for each name element - // create name, latest, with data - // add + // for each name element + // create name, latest, with data + // handle name element for created name // no notify - // return - // name elements for created names + // return name elements for created names LOGGER.log(Level.FINE, "createNames, nameElements.size: {0}", Utilities.getSize(nameElements)); // initiate holder of containers for system and device structure content, for performance reasons HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); - // do Date requested = new Date(); String requestedBy = TextUtil.TEST_WHO; final List<NameElement> createdNameElements = Lists.newArrayList(); @@ -173,15 +170,12 @@ public class NamesService { // validation outside method // transaction // support a current transaction, throw an exception if none exists - // do // find // prepare - // create - // approved, latest, not deleted, uuid - // return - // name element for name + // create - approved, latest, not deleted, uuid + // return name element for created name - // find out + // find // system structure - system group, system, subsystem - one of the three expected to be non-null, other two expected to be null // device structure - device type - may be null SystemGroup systemGroup = holderIRepositories.getSystemGroupRepository().findLatestByUuid(nameElement.getParentsystemstructure().toString()); @@ -212,7 +206,6 @@ public class NamesService { requested, requestedBy, nameElement.getComment()); nameRepository.createName(name); - // add return NameElementUtil.getNameElement(name); } @@ -230,10 +223,8 @@ public class NamesService { String uuid, String name, String nameequivalence, String systemstructure, String devicestructure, String index, String description, Boolean includeHistory, FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method - // do - // read names - // return - // name elements for names + // read names + // return name elements for names LOGGER.log(Level.FINE, "readNames, deleted: {0}", deleted); LOGGER.log(Level.FINE, "readNames, uuid: {0}", uuid); @@ -249,7 +240,6 @@ public class NamesService { LOGGER.log(Level.FINE, "readNames, offset: {0}", offset); LOGGER.log(Level.FINE, "readNames, limit: {0}", limit); - // do List<Name> names = nameRepository.readNames(deleted, uuid, name, nameequivalence, systemstructure, devicestructure, index, description, includeHistory, orderBy, isAsc, offset, limit); Long totalCount = nameRepository.countNames(deleted, uuid, name, nameequivalence, systemstructure, devicestructure, index, description, includeHistory); @@ -263,14 +253,11 @@ public class NamesService { public ResponsePageNameElements readNames(String name, FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method - // do - // name or uuid - // return - // name elements + // read name or uuid + // return name elements LOGGER.log(Level.FINE, "readNames, name: {0}", name); - // do final List<NameElement> nameElements = Lists.newArrayList(); try { UUID.fromString(name); @@ -291,14 +278,11 @@ public class NamesService { public ResponsePageNameElements readNamesSystemStructure(String mnemonicpath, FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method - // do - // mnemonic path - // return - // name elements + // read mnemonic path + // return name elements LOGGER.log(Level.FINE, "readNamesSystemStructure, mnemonicpath: {0}", mnemonicpath); - // do return readNames(false, null, null, null, mnemonicpath, null, null, null, orderBy, isAsc, offset, limit); @@ -307,14 +291,11 @@ public class NamesService { public ResponsePageNameElements readNamesDeviceStructure(String mnemonicpath, FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method - // do - // mnemonic path - // return - // name elements + // read mnemonic path + // return name elements LOGGER.log(Level.FINE, "readNamesDeviceStructure, mnemonicpath: {0}", mnemonicpath); - // do return readNames(false, null, null, null, null,mnemonicpath, null, null, orderBy, isAsc, offset, limit); @@ -323,14 +304,11 @@ public class NamesService { public ResponsePageNameElements readNamesHistory(String uuid, FieldName orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method - // do - // read history for name - // return - // name elements for names + // read history for name + // return name elements for names LOGGER.log(Level.FINE, "readNamesHistory, uuid: {0}", uuid); - // do return readNames(null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit); @@ -340,23 +318,19 @@ public class NamesService { public String equivalenceName(String name) { // validation outside method - // do - // input available + // read equivalence LOGGER.log(Level.FINE, "equivalenceName, name: {0}", name); - // do return namingConvention.equivalenceClassRepresentative(name); } public Boolean existsName(String name) { // validation outside method - // do - // exists + // read exists LOGGER.log(Level.FINE, "existsName, name: {0}", name); - // do List<Name> names = nameRepository.readNames(false, null, name, null, null, null, null, null); return !names.isEmpty(); @@ -364,12 +338,12 @@ public class NamesService { public Boolean isLegacyName(String name) { // validation outside method - // do - // name exists but either parent does not exist (latest, not deleted, by uuid) + // read names + // note + // legacy - name exists but either parent does not exist (latest, not deleted, by uuid) LOGGER.log(Level.FINE, "isLegacyName, name: {0}", name); - // do List<Name> names = nameRepository.readNames(false, null, name, null, null, null, null, null); ExceptionUtil.validateConditionDataNotFoundException(ValidateUtil.isSize(names, 1), "name not found", name, null); @@ -418,7 +392,7 @@ public class NamesService { } // device structure if (toBeChecked.getDevicetypeUuid() != null) { - // devie type + // device type // device group // discipline @@ -443,9 +417,7 @@ public class NamesService { public Boolean isValidToCreateName(String name) { // validation outside method - // do - // validate data - // not exists + // validate data - not exists LOGGER.log(Level.FINE, "isValidToCreateName, name: {0}", name); @@ -453,7 +425,6 @@ public class NamesService { // note false to not include deleted entries HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories, false); - // do ValidateNameElementUtil.validateNameDataCreate(name, namingConvention, holderRepositories, holder); return Boolean.TRUE; @@ -465,14 +436,12 @@ public class NamesService { validateNamesCreate(nameElement, new HolderSystemDeviceStructure(holderIRepositories)); } public void validateNamesCreate(NameElementCommand nameElement, HolderSystemDeviceStructure holder) { - // validate input - // name element - // validate input itself - // validate data - // name element - // validate data - // itself - // relative other data + // validate name element + // input + // input itself + // data + // data itself + // relative other data // validate input ValidateNameElementUtil.validateNameElementInputCreate(nameElement); @@ -493,14 +462,12 @@ public class NamesService { validateNamesUpdate(nameElement, new HolderSystemDeviceStructure(holderIRepositories)); } public void validateNamesUpdate(NameElementCommand nameElement, HolderSystemDeviceStructure holder) { - // validate input - // name element - // validate input itself - // validate data - // name element - // validate data - // itself - // relative other data + // validate name element + // input + // input itself + // data + // data itself + // relative other data // validate input ValidateNameElementUtil.validateNameElementInputUpdate(nameElement); @@ -521,14 +488,12 @@ public class NamesService { validateNamesDelete(nameElement, new HolderSystemDeviceStructure(holderIRepositories)); } public void validateNamesDelete(NameElementCommand nameElement, HolderSystemDeviceStructure holder) { - // validate input - // name element - // validate input itself - // validate data - // name element - // validate data - // itself - // relative other data + // validate name element + // input + // input itself + // data + // data itself + // relative other data // validate input ValidateNameElementUtil.validateNameElementInputDelete(nameElement); @@ -551,23 +516,20 @@ public class NamesService { public List<NameElement> updateNames(List<NameElementCommand> nameElements) { // validation outside method // transaction - // do - // for each name element - // find - // update name to not latest - // find - // insert name to latest, not deleted, with data - // add + // for each name element + // find + // update name to not latest + // find + // insert name to latest, not deleted, with data + // handle name element for updated name // no notify - // return - // name elements for updated names + // return name elements for updated names LOGGER.log(Level.FINE, "updateNames, nameElements.size: {0}", Utilities.getSize(nameElements)); // initiate holder of containers for system and device structure content, for performance reasons HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); - // do Date requested = new Date(); String requestedBy = TextUtil.TEST_WHO; final List<NameElement> updatedNameElements = Lists.newArrayList(); @@ -620,7 +582,6 @@ public class NamesService { requested, requestedBy, nameElement.getComment()); nameRepository.createName(name); - // add updatedNameElements.add(NameElementUtil.getNameElement(name)); } @@ -632,16 +593,13 @@ public class NamesService { public List<NameElement> updateNames(Structure previousStructure, Structure structure) { // validation outside method // transaction - // use active transaction or, if not available, throw exception - // do + // support a current transaction, throw an exception if none exists // find out names referenced by structure // not for device group // sg, sys, sys-sub, sg:di-dt-idx, sys:di-dt-idx, sys-sub:di-dt-idx // prepare name element commands - // update names - // re-calculate names - // return - // name elements for updated names + // update names - re-calculate names + // return name elements for updated names List<NameElement> updatedNameElements = Lists.newArrayList(); if (previousStructure != null @@ -739,23 +697,20 @@ public class NamesService { public List<NameElement> deleteNames(List<NameElementCommand> nameElements) { // validation outside method // transaction - // do - // for each name element - // find - // update name to not latest - // find - // insert name to latest, deleted - // add + // for each name element + // find + // update name to not latest + // find + // insert name to latest, deleted + // handle name element for deleted name // no notify - // return - // name element for deleted names + // return name elements for deleted names LOGGER.log(Level.FINE, "deleteNames, nameElements.size: {0}", Utilities.getSize(nameElements)); // initiate holder of containers for system and device structure content, for performance reasons HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); - // do Date requested = new Date(); String requestedBy = TextUtil.TEST_WHO; final List<NameElement> deletedNameElements = Lists.newArrayList(); @@ -797,7 +752,6 @@ public class NamesService { requested, requestedBy, nameElement.getComment()); nameRepository.createName(name); - // add deletedNameElements.add(NameElementUtil.getNameElement(name)); } diff --git a/src/main/java/org/openepics/names/service/StructuresService.java b/src/main/java/org/openepics/names/service/StructuresService.java index 1e5a4349..bb3a8b99 100644 --- a/src/main/java/org/openepics/names/service/StructuresService.java +++ b/src/main/java/org/openepics/names/service/StructuresService.java @@ -160,21 +160,19 @@ public class StructuresService { public List<StructureElement> createStructures(List<StructureElementCommand> structureElements) { // validation outside method // transaction - // do - // for each structure element command - // create structure to pending, not latest, not deleted, with data - // handle notification - // handle structure element for created structure + // for each structure element command + // create structure to pending, not latest, not deleted, with data + // handle + // notification + // structure element for created structure // notify - // return - // structure elements for created structures + // return structure elements for created structures LOGGER.log(Level.FINE, "createStructures, structureElements.size: {0}", Utilities.getSize(structureElements)); // initiate holder of containers for system and device structure content, for performance reasons HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); - // do Date requested = new Date(); String requestedBy = TextUtil.TEST_WHO; List<NotificationStructure> notifications = Lists.newArrayList(); @@ -284,10 +282,8 @@ public class StructuresService { Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit, StructureChoice structureChoice) { // validation outside method - // do - // read structures - // return - // structure elements for structures + // read structures + // return structure elements for structures LOGGER.log(Level.FINE, "readStructures, type: {0}", type); LOGGER.log(Level.FINE, "readStructures, statuses.length: {0}", Utilities.getLength(statuses)); @@ -314,7 +310,6 @@ public class StructuresService { // initiate holder of containers for system and device structure content, for performance reasons HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); - // do final List<StructureElement> structureElements = Lists.newArrayList(); Long totalCount = null; if (Type.SYSTEMGROUP.equals(type)) { @@ -396,10 +391,8 @@ public class StructuresService { Status[] statuses, Boolean deleted, String name, String mnemonic, String mnemonicequivalence, String mnemonicpath, String description, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method - // do - // read structure latest by uuid for type - // return - // structure elements for structures + // read structure latest by uuid for type + // return structure elements for structures LOGGER.log(Level.FINE, "readStructuresChildren, uuid: {0}", uuid); LOGGER.log(Level.FINE, "readStructuresChildren, type: {0}", type); @@ -412,7 +405,6 @@ public class StructuresService { boolean typeDeviceType = Type.DEVICETYPE.equals(type); boolean typeEither = ValidateUtil.isAnyTrue(typeSystemGroup, typeSystem, typeSubsystem, typeDiscipline, typeDeviceGroup, typeDeviceType); - // do final List<StructureElement> structureElements = Lists.newArrayList(); ResponsePageStructureElements response = null; if (typeEither) { @@ -451,15 +443,12 @@ public class StructuresService { public ResponsePageStructureElements readStructuresMnemonic(String mnemonic, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method - // do - // read structure latest by mnemonic - // return - // structure elements for structures + // read structure latest by mnemonic + // return structure elements for structures LOGGER.log(Level.FINE, "readStructuresMnemonic, mnemonic: {0}", mnemonic); - // do - // TODO handle orderBy, isAsc, offset, limit + // TODO handle orderBy, isAsc, offset, limit ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEMGROUP, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, orderBy, isAsc, offset, limit); ResponsePageStructureElements responseSystem = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, orderBy, isAsc, offset, limit); @@ -482,15 +471,12 @@ public class StructuresService { public ResponsePageStructureElements readStructuresMnemonicpath(String mnemonicpath, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method - // do - // read structure latest by mnemonicpath - // return - // structure elements for structures + // read structure latest by mnemonicpath + // return structure elements for structures LOGGER.log(Level.FINE, "readStructuresMnemonicpath, mnemonicpath: {0}", mnemonicpath); - // do - // TODO handle orderBy, isAsc, offset, limit + // TODO handle orderBy, isAsc, offset, limit ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEMGROUP, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicpath, null, orderBy, isAsc, offset, limit); ResponsePageStructureElements responseSystem = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicpath, null, orderBy, isAsc, offset, limit); @@ -520,10 +506,8 @@ public class StructuresService { public ResponsePageStructureElements readStructuresHistory(String uuid, Type type, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method - // do - // read history for structure - // return - // structure elements for structures + // read history for structure + // return structure elements for structures // note // type may speed up read @@ -542,7 +526,6 @@ public class StructuresService { // (very) tricky to find mnemonic path for uuid at proper time (history) // therefore empty mnemonic path for history for structure - // do final List<StructureElement> structureElements = Lists.newArrayList(); ResponsePageStructureElements response = null; if (typeEither) { @@ -589,23 +572,19 @@ public class StructuresService { public String equivalenceMnemonic(String mnemonic) { // validation outside method - // do - // input available + // read equivalence LOGGER.log(Level.FINE, "equivalenceMnemonic, mnemonic: {0}", mnemonic); - // do return namingConvention.equivalenceClassRepresentative(mnemonic); } public Boolean existsStructure(Type type, String mnemonicpath) { // validation outside method - // do - // exists + // read exists LOGGER.log(Level.FINE, "existsStructure, mnemonicpath: {0}", mnemonicpath); - // do if (Type.SYSTEMGROUP.equals(type)) { List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.APPROVED, false, null, null, null, null, mnemonicpath, null); return !systemGroups.isEmpty(); @@ -631,9 +610,7 @@ public class StructuresService { public Boolean isValidToCreateStructure(Type type, String mnemonicpath) { // validation outside method - // do - // validate data - // not exists + // validate data - not exists LOGGER.log(Level.FINE, "isValidToCreateStructure, mnemonicpath: {0}", mnemonicpath); @@ -641,7 +618,6 @@ public class StructuresService { // note false to not include deleted entries HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories, false); - // do ValidateStructureElementUtil.validateStructureDataCreate(type, mnemonicpath, namingConvention, holderIRepositories, holder); return Boolean.TRUE; @@ -653,15 +629,13 @@ public class StructuresService { validateStructuresCreate(structureElement, new HolderSystemDeviceStructure(holderIRepositories)); } public void validateStructuresCreate(StructureElementCommand structureElement, HolderSystemDeviceStructure holder) { - // validate input - // type - // structure element - // validate input itself - // validate data - // structure element - // validate data - // itself - // relative other data + // validate structure element + // input + // type + // input itself + // data + // data itself + // relative other data // validate input ValidateStructureElementUtil.validateStructureElementInputCreate(structureElement, namingConvention); @@ -682,15 +656,13 @@ public class StructuresService { validateStructuresUpdate(structureElement, new HolderSystemDeviceStructure(holderIRepositories)); } public void validateStructuresUpdate(StructureElementCommand structureElement, HolderSystemDeviceStructure holder) { - // validate input - // type - // structure element - // validate input itself - // validate data - // structure element - // validate data - // itself - // relative other data + // validate structure element + // input + // type + // input itself + // data + // data itself + // relative other data // validate input ValidateStructureElementUtil.validateStructureElementInputUpdate(structureElement, namingConvention); @@ -711,15 +683,13 @@ public class StructuresService { validateStructuresDelete(structureElement, new HolderSystemDeviceStructure(holderIRepositories)); } public void validateStructuresDelete(StructureElementCommand structureElement, HolderSystemDeviceStructure holder) { - // validate input - // type - // structure element - // validate input itself - // validate data - // structure element - // validate data - // itself - // relative other data + // validate structure element + // input + // type + // input itself + // data + // data itself + // relative other data // validate input ValidateStructureElementUtil.validateStructureElementInputDelete(structureElement, namingConvention); @@ -740,15 +710,13 @@ public class StructuresService { validateStructuresApprove(structureElement, new HolderSystemDeviceStructure(holderIRepositories)); } public void validateStructuresApprove(StructureElementCommand structureElement, HolderSystemDeviceStructure holder) { - // validate input - // type - // structure element - // validate input itself - // validate data - // structure element - // validate data - // itself - // relative other data + // validate structure element + // input + // type + // input itself + // data + // data itself + // relative other data // validate input ValidateStructureElementUtil.validateStructureElementInputApprove(structureElement, namingConvention); @@ -769,15 +737,13 @@ public class StructuresService { validateStructuresCancel(structureElement, new HolderSystemDeviceStructure(holderIRepositories)); } public void validateStructuresCancel(StructureElementCommand structureElement, HolderSystemDeviceStructure holder) { - // validate input - // type - // structure element - // validate input itself - // validate data - // structure element - // validate data - // itself - // relative other data + // validate structure element + // input + // type + // input itself + // data + // data itself + // relative other data // validate input ValidateStructureElementUtil.validateStructureElementInputCancel(structureElement, namingConvention); @@ -798,15 +764,13 @@ public class StructuresService { validateStructuresReject(structureElement, new HolderSystemDeviceStructure(holderIRepositories)); } public void validateStructuresReject(StructureElementCommand structureElement, HolderSystemDeviceStructure holder) { - // validate input - // type - // structure element - // validate input itself - // validate data - // structure element - // validate data - // itself - // relative other data + // validate structure element + // input + // type + // input itself + // data + // data itself + // relative other data // validate input ValidateStructureElementUtil.validateStructureElementInputReject(structureElement, namingConvention); @@ -829,22 +793,20 @@ public class StructuresService { public List<StructureElement> updateStructures(List<StructureElementCommand> structureElements) { // validation outside method // transaction - // do - // for each structure element command - // create structure to pending, not latest, not deleted, with data - // find out previous - // handle notification - // handle structure element for updated structure + // for each structure element command + // create structure to pending, not latest, not deleted, with data + // find out previous + // handle + // notification + // structure element for updated structure // notify - // return - // structure elements for updated structures + // return structure elements for updated structures LOGGER.log(Level.FINE, "updateStructures, structureElements.size: {0}", Utilities.getSize(structureElements)); // initiate holder of containers for system and device structure content, for performance reasons HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); - // do Date requested = new Date(); String requestedBy = TextUtil.TEST_WHO; List<NotificationStructure> notifications = Lists.newArrayList(); @@ -969,21 +931,19 @@ public class StructuresService { public List<StructureElement> deleteStructures(List<StructureElementCommand> structureElements) { // validation outside method // transaction - // do - // for each structure element command - // delete structure - // handle notification - // handle structure element for deleted structure + // for each structure element command + // delete structure + // handle + // notification + // structure element for deleted structure // notify - // return - // structure elements for deleted structures + // return structure elements for deleted structures LOGGER.log(Level.FINE, "deleteStructures, structureElements.size: {0}", Utilities.getSize(structureElements)); // initiate holder of containers for system and device structure content, for performance reasons HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); - // do Date requested = new Date(); String requestedBy = TextUtil.TEST_WHO; List<NotificationStructure> notifications = Lists.newArrayList(); @@ -1025,14 +985,13 @@ public class StructuresService { public List<StructureElement> approveStructures(List<StructureElementCommand> structureElements) { // validation outside method // transaction - // do - // for each structure element command - // approve structure - // handle notification - // handle structure element for approved structure + // for each structure element command + // approve structure + // handle + // notification + // structure element for approved structure // notify - // return - // structure elements for approved structures + // return structure elements for approved structures LOGGER.log(Level.FINE, "approveStructures, structureElements.size: {0}", Utilities.getSize(structureElements)); @@ -1046,7 +1005,6 @@ public class StructuresService { // if deleted, names that belong to structure may be deleted, otherwise they are alive but become legacy names - legacy way for now // delete sub structures - // do Date processed = new Date(); String processedBy = TextUtil.TEST_WHO; List<NotificationStructure> notifications = Lists.newArrayList(); @@ -1086,23 +1044,21 @@ public class StructuresService { public List<StructureElement> cancelStructures(List<StructureElementCommand> structureElements) { // validation outside method // transaction - // do - // for each structure element - // find - // cancel - update structure to status CANCELLED - // find out previous - // handle notification - // handle structure element for cancelled structure + // for each structure element + // find + // cancel - update structure to status CANCELLED + // find out previous + // handle + // notification + // structure element for cancelled structure // notify - // return - // structure elements for cancelled structures + // return structure elements for cancelled structures LOGGER.log(Level.FINE, "cancelStructures, structureElements.size: {0}", Utilities.getSize(structureElements)); // initiate holder of containers for system and device structure content, for performance reasons HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); - // do Date processed = new Date(); String processedBy = TextUtil.TEST_WHO; List<NotificationStructure> notifications = Lists.newArrayList(); @@ -1245,23 +1201,21 @@ public class StructuresService { public List<StructureElement> rejectStructures(List<StructureElementCommand> structureElements) { // validation outside method // transaction - // do - // for each structure element - // find - // reject - update structure to status REJECTED - // find out previous - // handle notification - // handle structure element for rejected structure + // for each structure element + // find + // reject - update structure to status REJECTED + // find out previous + // handle + // notification + // structure element for rejected structure // notify - // return - // structure elements for rejected structures + // return structure elements for rejected structures LOGGER.log(Level.FINE, "rejectStructures, structureElements.size: {0}", Utilities.getSize(structureElements)); // initiate holder of containers for system and device structure content, for performance reasons HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); - // do Date processed = new Date(); String processedBy = TextUtil.TEST_WHO; List<NotificationStructure> notifications = Lists.newArrayList(); diff --git a/src/main/java/org/openepics/names/service/SubsystemService.java b/src/main/java/org/openepics/names/service/SubsystemService.java index 79787fbc..93076d90 100644 --- a/src/main/java/org/openepics/names/service/SubsystemService.java +++ b/src/main/java/org/openepics/names/service/SubsystemService.java @@ -79,11 +79,12 @@ public class SubsystemService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // create structure to pending, not latest, deleted, with data + // support a current transaction, throw an exception if none exists + // find + // create structure to pending, not latest, deleted, with data // return - // structure element for deleted structure + notification + // structure element for deleted structure + // notification String uuid = structureElement.getUuid().toString(); @@ -112,28 +113,29 @@ public class SubsystemService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // update not latest - // find - // approve - update structure to status APPROVED, latest to true - // additional - // find out previous to find out what is approved - create update delete - // approve create - // automatically create name when system structure is approved - // condition on name and structure entry - // system structure should exist (uuid), one entry that is not deleted - // name should not exist (system structure mnemonic) - // within current transaction - // approve update - // update related names - // for different mnemonic - // not for device group - // approve delete - // keep related names - legacy names - // delete sub structures + // support a current transaction, throw an exception if none exists + // find + // update not latest + // find + // approve - update structure to status APPROVED, latest to true + // additional + // find out previous to find out what is approved - create update delete + // approve create + // automatically create name when system structure is approved + // condition on name and structure entry + // system structure should exist (uuid), one entry that is not deleted + // name should not exist (system structure mnemonic) + // within current transaction + // approve update + // update related names + // for different mnemonic + // not for device group + // approve delete + // keep related names - legacy names + // delete sub structures // return - // structure element for approved structure + notification + // structure element for approved structure + // notification String uuid = structureElement.getUuid().toString(); String processedComment = structureElement.getComment(); diff --git a/src/main/java/org/openepics/names/service/SystemGroupService.java b/src/main/java/org/openepics/names/service/SystemGroupService.java index 6d6e8ba1..f44bdffe 100644 --- a/src/main/java/org/openepics/names/service/SystemGroupService.java +++ b/src/main/java/org/openepics/names/service/SystemGroupService.java @@ -89,11 +89,12 @@ public class SystemGroupService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // create structure to pending, not latest, deleted, with data + // support a current transaction, throw an exception if none exists + // find + // create structure to pending, not latest, deleted, with data // return - // structure element for deleted structure + notification + // structure element for deleted structure + // notification String uuid = structureElement.getUuid().toString(); @@ -122,28 +123,29 @@ public class SystemGroupService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // update not latest - // find - // approve - update structure to status APPROVED, latest to true - // additional - // find out previous to find out what is approved - create update delete - // approve create - // automatically create name when system structure is approved - // condition on name and structure entry - // system structure should exist (uuid), one entry that is not deleted - // name should not exist (system structure mnemonic) - // within current transaction - // approve update - // update related names - // for different mnemonic - // not for device group - // approve delete - // keep related names - legacy names - // delete sub structures + // support a current transaction, throw an exception if none exists + // find + // update not latest + // find + // approve - update structure to status APPROVED, latest to true + // additional + // find out previous to find out what is approved - create update delete + // approve create + // automatically create name when system structure is approved + // condition on name and structure entry + // system structure should exist (uuid), one entry that is not deleted + // name should not exist (system structure mnemonic) + // within current transaction + // approve update + // update related names + // for different mnemonic + // not for device group + // approve delete + // keep related names - legacy names + // delete sub structures // return - // structure element for approved structure + notification + // structure element for approved structure + // notification String uuid = structureElement.getUuid().toString(); String processedComment = structureElement.getComment(); diff --git a/src/main/java/org/openepics/names/service/SystemService.java b/src/main/java/org/openepics/names/service/SystemService.java index a96ad524..0f6a0a7a 100644 --- a/src/main/java/org/openepics/names/service/SystemService.java +++ b/src/main/java/org/openepics/names/service/SystemService.java @@ -89,11 +89,12 @@ public class SystemService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // create structure to pending, not latest, deleted, with data + // support a current transaction, throw an exception if none exists + // find + // create structure to pending, not latest, deleted, with data // return - // structure element for deleted structure + notification + // structure element for deleted structure + // notification String uuid = structureElement.getUuid().toString(); @@ -122,28 +123,29 @@ public class SystemService { HolderSystemDeviceStructure holder) { // validation outside method // transaction - // do - // find - // update not latest - // find - // approve - update structure to status APPROVED, latest to true - // additional - // find out previous to find out what is approved - create update delete - // approve create - // automatically create name when system structure is approved - // condition on name and structure entry - // system structure should exist (uuid), one entry that is not deleted - // name should not exist (system structure mnemonic) - // within current transaction - // approve update - // update related names - // for different mnemonic - // not for device group - // approve delete - // keep related names - legacy names - // delete sub structures + // support a current transaction, throw an exception if none exists + // find + // update not latest + // find + // approve - update structure to status APPROVED, latest to true + // additional + // find out previous to find out what is approved - create update delete + // approve create + // automatically create name when system structure is approved + // condition on name and structure entry + // system structure should exist (uuid), one entry that is not deleted + // name should not exist (system structure mnemonic) + // within current transaction + // approve update + // update related names + // for different mnemonic + // not for device group + // approve delete + // keep related names - legacy names + // delete sub structures // return - // structure element for approved structure + notification + // structure element for approved structure + // notification String uuid = structureElement.getUuid().toString(); String processedComment = structureElement.getComment(); -- GitLab