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 c471df7d143c92218d5dfa08e675874f8210cd6b..5c729b9dfbbe61e4e1f0097127df16e11db146ce 100644 --- a/src/main/java/org/openepics/names/repository/model/DeviceGroup.java +++ b/src/main/java/org/openepics/names/repository/model/DeviceGroup.java @@ -18,11 +18,14 @@ package org.openepics.names.repository.model; +import java.util.Date; import java.util.UUID; import javax.persistence.Entity; import javax.persistence.Table; +import org.openepics.names.rest.beans.Status; + /** * This entity represents a device group name part. * @@ -43,6 +46,38 @@ public class DeviceGroup extends Structure { private String parent_uuid; + /** + * Constructor for DeviceGroup. + */ + public DeviceGroup() { + } + + /** + * Constructor for DeviceGroup. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param description description + * @param status status + * @param latest latest + * @param deleted deleted + * @param requested requested + * @param requestedBy requested by + * @param requestedComment requested comment + */ + public DeviceGroup(UUID uuid, UUID parentUuid, + String name, String mnemonic, String mnemonicEquivalence, + String description, Status status, Boolean latest, Boolean deleted, + Date requested, String requestedBy, String requestedComment) { + super(uuid, name, mnemonic, mnemonicEquivalence, + description, status, latest, deleted, + requested, requestedBy, requestedComment); + this.parent_uuid = parentUuid != null ? parentUuid.toString() : null; + } + public UUID getParentUuid() { return parent_uuid != null ? UUID.fromString(parent_uuid) : null; } 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 065e64f6ed502049435e98b1a767d7be2ef42960..8bc11354de240fce943a089e1e1525767a259993 100644 --- a/src/main/java/org/openepics/names/repository/model/DeviceType.java +++ b/src/main/java/org/openepics/names/repository/model/DeviceType.java @@ -18,11 +18,14 @@ package org.openepics.names.repository.model; +import java.util.Date; import java.util.UUID; import javax.persistence.Entity; import javax.persistence.Table; +import org.openepics.names.rest.beans.Status; + /** * This entity represents a device type name part. * @@ -43,6 +46,38 @@ public class DeviceType extends Structure { private String parent_uuid; + /** + * Constructor for DeviceType. + */ + public DeviceType() { + } + + /** + * Constructor for DeviceType. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param description description + * @param status status + * @param latest latest + * @param deleted deleted + * @param requested requested + * @param requestedBy requested by + * @param requestedComment requested comment + */ + public DeviceType(UUID uuid, UUID parentUuid, + String name, String mnemonic, String mnemonicEquivalence, + String description, Status status, Boolean latest, Boolean deleted, + Date requested, String requestedBy, String requestedComment) { + super(uuid, name, mnemonic, mnemonicEquivalence, + description, status, latest, deleted, + requested, requestedBy, requestedComment); + this.parent_uuid = parentUuid != null ? parentUuid.toString() : null; + } + public UUID getParentUuid() { return parent_uuid != null ? UUID.fromString(parent_uuid) : null; } 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 24198d4df7f41cc92a0aaa37ec971fc536489f75..be9ff32d944cec8bebf0208eec1c2c85c51a4456 100644 --- a/src/main/java/org/openepics/names/repository/model/Discipline.java +++ b/src/main/java/org/openepics/names/repository/model/Discipline.java @@ -18,9 +18,14 @@ package org.openepics.names.repository.model; +import java.util.Date; +import java.util.UUID; + import javax.persistence.Entity; import javax.persistence.Table; +import org.openepics.names.rest.beans.Status; + /** * This entity represents a discipline name part. * @@ -35,6 +40,36 @@ public class Discipline extends Structure { */ private static final long serialVersionUID = 8729921221024362502L; + /** + * Constructor for Discipline. + */ + public Discipline() { + } + + /** + * Constructor for Discipline. + * + * @param uuid uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param description description + * @param status status + * @param latest latest + * @param deleted deleted + * @param requested requested + * @param requestedBy requested by + * @param requestedComment requested comment + */ + public Discipline(UUID uuid, + String name, String mnemonic, String mnemonicEquivalence, + String description, Status status, Boolean latest, Boolean deleted, + Date requested, String requestedBy, String requestedComment) { + super(uuid, name, mnemonic, mnemonicEquivalence, + description, status, latest, deleted, + requested, requestedBy, requestedComment); + } + @Override public boolean equals(Object obj) { if (this == obj) 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 4454e39d87592cb91fb59eae1c4d981f39d7c333..b5afcb398c812ac10e6212331f22364331ba5967 100644 --- a/src/main/java/org/openepics/names/repository/model/Name.java +++ b/src/main/java/org/openepics/names/repository/model/Name.java @@ -19,11 +19,14 @@ package org.openepics.names.repository.model; import java.io.Serializable; +import java.util.Date; import java.util.UUID; import javax.persistence.Entity; import javax.persistence.Table; +import org.openepics.names.rest.beans.Status; + /** * This entity represents a name. * @@ -54,6 +57,52 @@ public class Name extends NameStructure implements Serializable { private String convention_name; private String convention_name_equivalence; + /** + * Constructor for Name. + */ + public Name() { + } + + /** + * Constructor for Name. + * + * @param uuid uuid + * @param systemgroupUuid system group uuid + * @param systemUuid system uuid + * @param subsystemUuid subsystem uuid + * @param parentdevicestructure parent device structure uuid + * @param index index + * @param conventionName convention name + * @param conventionNameEquivalence convention name equivalence + * @param description description + * @param status status + * @param latest latest + * @param deleted deleted + * @param requested requested + * @param requestedBy requested by + * @param requestedComment requested comment + */ + public Name(UUID uuid, UUID systemgroupUuid, UUID systemUuid, UUID subsystemUuid, UUID parentdevicestructure, + String index, String conventionName, String conventionNameEquivalence, + String description, Status status, Boolean latest, Boolean deleted, + Date requested, String requestedBy, String requestedComment) { + setUuid(uuid); + setSystemgroupUuid(systemgroupUuid); + setSystemUuid(systemUuid); + setSubsystemUuid(subsystemUuid); + setDevicetypeUuid(parentdevicestructure); + setInstanceIndex(index); + setConventionName(conventionName); + setConventionNameEquivalence(conventionNameEquivalence); + setDescription(description); + setStatus(Status.APPROVED); + setLatest(latest); + setDeleted(deleted); + setRequested(requested); + setRequestedBy(requestedBy); + setRequestedComment(requestedComment); + } + public UUID getSystemgroupUuid() { return systemgroup_uuid != null ? UUID.fromString(systemgroup_uuid) : null; } 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 215eb2770826d19bbcd332b6ae52afc33030f2c4..4bcc0c6d9693fc3358a37c3e72ebd613489ee318 100644 --- a/src/main/java/org/openepics/names/repository/model/Structure.java +++ b/src/main/java/org/openepics/names/repository/model/Structure.java @@ -19,9 +19,13 @@ package org.openepics.names.repository.model; import java.io.Serializable; +import java.util.Date; +import java.util.UUID; import javax.persistence.MappedSuperclass; +import org.openepics.names.rest.beans.Status; + /** * A superclass implementing properties required by JPA. It should be extended by * System structure and Device structure classes that need to be persisted to the database. @@ -44,6 +48,43 @@ public class Structure extends NameStructure implements Serializable { private String mnemonic; private String mnemonic_equivalence; + /** + * Constructor for Structure. + */ + public Structure() { + } + + /** + * Constructor for Structure. + * + * @param uuid uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param description description + * @param status status + * @param latest latest + * @param deleted deleted + * @param requested requested + * @param requestedBy requested by + * @param requestedComment requested comment + */ + public Structure(UUID uuid, String name, String mnemonic, String mnemonicEquivalence, + String description, Status status, Boolean latest, Boolean deleted, + Date requested, String requestedBy, String requestedComment) { + setUuid(uuid); + setName(name); + setMnemonic(mnemonic); + setMnemonicEquivalence(mnemonicEquivalence); + setDescription(description); + setStatus(status); + setLatest(latest); + setDeleted(deleted); + setRequested(requested); + setRequestedBy(requestedBy); + setRequestedComment(requestedComment); + } + public String getName() { return name; } @@ -63,6 +104,21 @@ public class Structure extends NameStructure implements Serializable { this.mnemonic_equivalence = mnemonic_equivalence; } + /** + * Utility method to help set attributes for Structure class, which in practice is either of its sub classes. + * + * @param status status + * @param requested requested + * @param requestedBy requested by + * @param requestedComment requested comment + */ + public void setAttributesStatusProcessed(Status status, Date processed, String processedBy, String processedComment) { + setStatus(status); + setProcessed(processed); + setProcessedBy(processedBy); + setProcessedComment(processedComment); + } + @Override public boolean equals(Object obj) { if (this == obj) 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 f6bd8c9ee72d89cb3e869f82fe22063bea9c2942..22bdece5c2cffec971cfc77cd0ad062643333687 100644 --- a/src/main/java/org/openepics/names/repository/model/Subsystem.java +++ b/src/main/java/org/openepics/names/repository/model/Subsystem.java @@ -18,11 +18,14 @@ package org.openepics.names.repository.model; +import java.util.Date; import java.util.UUID; import javax.persistence.Entity; import javax.persistence.Table; +import org.openepics.names.rest.beans.Status; + /** * This entity represents a subsystem name part. * @@ -43,6 +46,38 @@ public class Subsystem extends Structure { private String parent_uuid; + /** + * Constructor for Subsystem. + */ + public Subsystem() { + } + + /** + * Constructor for Subsystem. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param description description + * @param status status + * @param latest latest + * @param deleted deleted + * @param requested requested + * @param requestedBy requested by + * @param requestedComment requested comment + */ + public Subsystem(UUID uuid, UUID parentUuid, + String name, String mnemonic, String mnemonicEquivalence, + String description, Status status, Boolean latest, Boolean deleted, + Date requested, String requestedBy, String requestedComment) { + super(uuid, name, mnemonic, mnemonicEquivalence, + description, status, latest, deleted, + requested, requestedBy, requestedComment); + this.parent_uuid = parentUuid != null ? parentUuid.toString() : null; + } + public UUID getParentUuid() { return parent_uuid != null ? UUID.fromString(parent_uuid) : null; } 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 63a59bafd9be54d64ddb8c3994c46cf130c57dae..684da88c368375dbb40bd7673b9a24f38f9a667a 100644 --- a/src/main/java/org/openepics/names/repository/model/System.java +++ b/src/main/java/org/openepics/names/repository/model/System.java @@ -18,11 +18,14 @@ package org.openepics.names.repository.model; +import java.util.Date; import java.util.UUID; import javax.persistence.Entity; import javax.persistence.Table; +import org.openepics.names.rest.beans.Status; + /** * This entity represents a system name part. * @@ -43,6 +46,38 @@ public class System extends Structure { private String parent_uuid; + /** + * Constructor for System. + */ + public System() { + } + + /** + * Constructor for System. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param description description + * @param status status + * @param latest latest + * @param deleted deleted + * @param requested requested + * @param requestedBy requested by + * @param requestedComment requested comment + */ + public System(UUID uuid, UUID parentUuid, + String name, String mnemonic, String mnemonicEquivalence, + String description, Status status, Boolean latest, Boolean deleted, + Date requested, String requestedBy, String requestedComment) { + super(uuid, name, mnemonic, mnemonicEquivalence, + description, status, latest, deleted, + requested, requestedBy, requestedComment); + this.parent_uuid = parentUuid != null ? parentUuid.toString() : null; + } + public UUID getParentUuid() { return parent_uuid != null ? UUID.fromString(parent_uuid) : null; } 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 03f7702cd1491a3ebf876715f9d34ffdaec0b3fb..3428d6442acf2ccbb7c3c832e2a53a85171aa624 100644 --- a/src/main/java/org/openepics/names/repository/model/SystemGroup.java +++ b/src/main/java/org/openepics/names/repository/model/SystemGroup.java @@ -18,9 +18,14 @@ package org.openepics.names.repository.model; +import java.util.Date; +import java.util.UUID; + import javax.persistence.Entity; import javax.persistence.Table; +import org.openepics.names.rest.beans.Status; + /** * This entity represents a system group name part. * @@ -35,6 +40,36 @@ public class SystemGroup extends Structure { */ private static final long serialVersionUID = 6298835206366539021L; + /** + * Constructor for SystemGroup. + */ + public SystemGroup() { + } + + /** + * Constructor for SystemGroup. + * + * @param uuid uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param description description + * @param status status + * @param latest latest + * @param deleted deleted + * @param requested requested + * @param requestedBy requested by + * @param requestedComment requested comment + */ + public SystemGroup(UUID uuid, + String name, String mnemonic, String mnemonicEquivalence, + String description, Status status, Boolean latest, Boolean deleted, + Date requested, String requestedBy, String requestedComment) { + super(uuid, name, mnemonic, mnemonicEquivalence, + description, status, latest, deleted, + requested, requestedBy, requestedComment); + } + @Override public boolean equals(Object obj) { if (this == obj) diff --git a/src/main/java/org/openepics/names/service/NamesService.java b/src/main/java/org/openepics/names/service/NamesService.java index d1f918a40bcf4a68342ed6c6c4acddf2e1ac35c5..bd438712bed6eb63466bd3419bced586ef8df784 100644 --- a/src/main/java/org/openepics/names/service/NamesService.java +++ b/src/main/java/org/openepics/names/service/NamesService.java @@ -150,18 +150,19 @@ public class NamesService { HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); // do + Date requested = new Date(); String requestedBy = "test who"; final List<NameElement> createdNameElements = Lists.newArrayList(); for (NameElementCommand nameElement : nameElements) { // create name within current transaction - createdNameElements.add(createName(nameElement, holder, requestedBy)); + createdNameElements.add(createName(nameElement, holder, requested, requestedBy)); } LOGGER.log(Level.FINE, "createNames, createdNameElements.size: {0}", createdNameElements.size()); return createdNameElements; } @Transactional(propagation = Propagation.MANDATORY) - NameElement createName(NameElementCommand nameElement, HolderSystemDeviceStructure holder, String requestedBy) { + public NameElement createName(NameElementCommand nameElement, HolderSystemDeviceStructure holder, Date requested, String requestedBy) { // transaction // support a current transaction, throw an exception if none exists @@ -186,13 +187,11 @@ public class NamesService { } // create - Name name = new Name(); - setAttributes(name, - UUID.randomUUID(), + Name name = new Name(UUID.randomUUID(), systemGroup != null ? systemGroup.getUuid() : null, system != null ? system.getUuid() : null, subsystem != null ? subsystem.getUuid() : null, nameElement.getParentdevicestructure(), nameElement.getIndex(), derivedName, namingConvention.equivalenceClassRepresentative(derivedName), nameElement.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE, - new Date(), requestedBy, nameElement.getComment()); + requested, requestedBy, nameElement.getComment()); nameRepository.createName(name); @@ -630,6 +629,7 @@ public class NamesService { HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); // do + Date requested = new Date(); String requestedBy = "test who"; final List<NameElement> updatedNameElements = Lists.newArrayList(); for (NameElementCommand nameElement : nameElements) { @@ -671,13 +671,11 @@ public class NamesService { } // create - name = new Name(); - setAttributes(name, - nameElement.getUuid(), + name = new Name(nameElement.getUuid(), systemGroup != null ? systemGroup.getUuid() : null, system != null ? system.getUuid() : null, subsystem != null ? subsystem.getUuid() : null, nameElement.getParentdevicestructure(), nameElement.getIndex(), derivedName, namingConvention.equivalenceClassRepresentative(derivedName), nameElement.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE, - new Date(), requestedBy, nameElement.getComment()); + requested, requestedBy, nameElement.getComment()); nameRepository.createName(name); @@ -711,6 +709,7 @@ public class NamesService { HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); // do + Date requested = new Date(); String requestedBy = "test who"; final List<NameElement> deletedNameElements = Lists.newArrayList(); for (NameElementCommand nameElement : nameElements) { @@ -741,13 +740,11 @@ public class NamesService { derivedName = NameUtil.getName(subsystem, deviceType, nameElement.getIndex(), holder); } - name = new Name(); - setAttributes(name, - nameElement.getUuid(), + name = new Name(nameElement.getUuid(), systemGroup != null ? systemGroup.getUuid() : null, system != null ? system.getUuid() : null, subsystem != null ? subsystem.getUuid() : null, nameElement.getParentdevicestructure(), nameElement.getIndex(), derivedName, namingConvention.equivalenceClassRepresentative(derivedName), nameElement.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.TRUE, - new Date(), requestedBy, nameElement.getComment()); + requested, requestedBy, nameElement.getComment()); nameRepository.createName(name); @@ -761,48 +758,4 @@ public class NamesService { return deletedNameElements; } - // ---------------------------------------------------------------------------------------------------- - - /** - * Utility method to help set attributes for Name class. - * - * @param name name - * @param uuid uuid - * @param systemgroupUuid system group uuid - * @param systemUuid system uuid - * @param subsystemUuid subsystem uuid - * @param parentdevicestructure parent device structure uuid (device type) - * @param index index - * @param conventionName convention name - * @param conventionNameEquivalence convention name equivalence - * @param description description - * @param status status - * @param latest latest - * @param deleted deleted - * @param requested requested - * @param requestedBy requested by - * @param requestedComment requested comment - */ - private void setAttributes(Name name, - UUID uuid, UUID systemgroupUuid, UUID systemUuid, UUID subsystemUuid, UUID parentdevicestructure, - String index, String conventionName, String conventionNameEquivalence, - String description, Status status, Boolean latest, Boolean deleted, - Date requested, String requestedBy, String requestedComment) { - name.setUuid(uuid); - name.setSystemgroupUuid(systemgroupUuid); - name.setSystemUuid(systemUuid); - name.setSubsystemUuid(subsystemUuid); - name.setDevicetypeUuid(parentdevicestructure); - name.setInstanceIndex(index); - name.setConventionName(conventionName); - name.setConventionNameEquivalence(conventionNameEquivalence); - name.setDescription(description); - name.setStatus(Status.APPROVED); - name.setLatest(latest); - name.setDeleted(deleted); - name.setRequested(requested); - name.setRequestedBy(requestedBy); - name.setRequestedComment(requestedComment); - } - } diff --git a/src/main/java/org/openepics/names/service/StructuresService.java b/src/main/java/org/openepics/names/service/StructuresService.java index 255c615e41cd8db09cdb484f25e089eebf98fd10..cb854921ce91ed3bef40010e9c8324e0032a1ea1 100644 --- a/src/main/java/org/openepics/names/service/StructuresService.java +++ b/src/main/java/org/openepics/names/service/StructuresService.java @@ -44,7 +44,6 @@ import org.openepics.names.repository.SystemRepository; import org.openepics.names.repository.model.DeviceGroup; import org.openepics.names.repository.model.DeviceType; import org.openepics.names.repository.model.Discipline; -import org.openepics.names.repository.model.Structure; import org.openepics.names.repository.model.Subsystem; import org.openepics.names.repository.model.System; import org.openepics.names.repository.model.SystemGroup; @@ -154,21 +153,29 @@ public class StructuresService { HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); // do + Date requested = new Date(); String requestedBy = "test who"; final List<StructureElement> createdStructureElements = Lists.newArrayList(); for (StructureElementCommand structureElement : structureElements) { + // note + // namingConvention.equivalenceClassRepresentative return null for null input + + UUID uuid = UUID.randomUUID(); + String name = structureElement.getName(); + String mnemonic = structureElement.getMnemonic(); + mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic; + String equivalenceClassRepresentative = namingConvention.equivalenceClassRepresentative(mnemonic); + String description = structureElement.getDescription(); + String requestedComment = structureElement.getComment(); + if (Type.SYSTEMGROUP.equals(structureElement.getType())) { // note rules for mnemonic for system group - String mnemonic = structureElement.getMnemonic(); - mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic; // create - SystemGroup systemGroup = new SystemGroup(); - setAttributes(systemGroup, - UUID.randomUUID(), - structureElement.getName(), mnemonic, !StringUtils.isEmpty(mnemonic) ? namingConvention.equivalenceClassRepresentative(mnemonic) : null, - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + SystemGroup systemGroup = new SystemGroup(uuid, + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getSystemGroupRepository().createSystemGroup(systemGroup); @@ -178,12 +185,10 @@ public class StructuresService { createdStructureElements.add(StructureElementUtil.getStructureElementRequested(systemGroup, holder)); } else if (Type.SYSTEM.equals(structureElement.getType())) { // create - System system = new System(); - setAttributes(system, - UUID.randomUUID(), structureElement.getParent(), - structureElement.getName(), structureElement.getMnemonic(), namingConvention.equivalenceClassRepresentative(structureElement.getMnemonic()), - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + System system = new System(uuid, structureElement.getParent(), + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getSystemRepository().createSystem(system); @@ -193,12 +198,10 @@ public class StructuresService { createdStructureElements.add(StructureElementUtil.getStructureElementRequested(system, holder)); } else if (Type.SUBSYSTEM.equals(structureElement.getType())) { // create - Subsystem subsystem = new Subsystem(); - setAttributes(subsystem, - UUID.randomUUID(), structureElement.getParent(), - structureElement.getName(), structureElement.getMnemonic(), namingConvention.equivalenceClassRepresentative(structureElement.getMnemonic()), - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + Subsystem subsystem = new Subsystem(uuid, structureElement.getParent(), + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getSubsystemRepository().createSubsystem(subsystem); @@ -208,12 +211,10 @@ public class StructuresService { createdStructureElements.add(StructureElementUtil.getStructureElementRequested(subsystem, holder)); } else if (Type.DISCIPLINE.equals(structureElement.getType())) { // create - Discipline discipline = new Discipline(); - setAttributes(discipline, - UUID.randomUUID(), - structureElement.getName(), structureElement.getMnemonic(), namingConvention.equivalenceClassRepresentative(structureElement.getMnemonic()), - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + Discipline discipline = new Discipline(uuid, + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getDisciplineRepository().createDiscipline(discipline); @@ -223,16 +224,12 @@ public class StructuresService { createdStructureElements.add(StructureElementUtil.getStructureElementRequested(discipline, holder)); } else if (Type.DEVICEGROUP.equals(structureElement.getType())) { // note rules for mnemonic for device group - String mnemonic = structureElement.getMnemonic(); - mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic; // create - DeviceGroup deviceGroup = new DeviceGroup(); - setAttributes(deviceGroup, - UUID.randomUUID(), structureElement.getParent(), - structureElement.getName(), mnemonic, !StringUtils.isEmpty(mnemonic) ? namingConvention.equivalenceClassRepresentative(mnemonic) : null, - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + DeviceGroup deviceGroup = new DeviceGroup(uuid, structureElement.getParent(), + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getDeviceGroupRepository().createDeviceGroup(deviceGroup); @@ -242,12 +239,10 @@ public class StructuresService { createdStructureElements.add(StructureElementUtil.getStructureElementRequested(deviceGroup, holder)); } else if (Type.DEVICETYPE.equals(structureElement.getType())) { // create - DeviceType deviceType = new DeviceType(); - setAttributes(deviceType, - UUID.randomUUID(), structureElement.getParent(), - structureElement.getName(), structureElement.getMnemonic(), namingConvention.equivalenceClassRepresentative(structureElement.getMnemonic()), - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + DeviceType deviceType = new DeviceType(uuid, structureElement.getParent(), + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getDeviceTypeRepository().createDeviceType(deviceType); @@ -845,21 +840,29 @@ public class StructuresService { HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); // do + Date requested = new Date(); String requestedBy = "test who"; final List<StructureElement> updatedStructureElements = Lists.newArrayList(); for (StructureElementCommand structureElement : structureElements) { + // note + // namingConvention.equivalenceClassRepresentative return null for null input + + UUID uuid = structureElement.getUuid(); + String name = structureElement.getName(); + String mnemonic = structureElement.getMnemonic(); + mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic; + String equivalenceClassRepresentative = namingConvention.equivalenceClassRepresentative(mnemonic); + String description = structureElement.getDescription(); + String requestedComment = structureElement.getComment(); + if (Type.SYSTEMGROUP.equals(structureElement.getType())) { // note rules for mnemonic for system group - String mnemonic = structureElement.getMnemonic(); - mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic; // create - SystemGroup systemGroup = new SystemGroup(); - setAttributes(systemGroup, - structureElement.getUuid(), - structureElement.getName(), mnemonic, !StringUtils.isEmpty(mnemonic) ? namingConvention.equivalenceClassRepresentative(mnemonic) : null, - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + SystemGroup systemGroup = new SystemGroup(uuid, + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getSystemGroupRepository().createSystemGroup(systemGroup); @@ -869,12 +872,10 @@ public class StructuresService { updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(systemGroup, holder)); } else if (Type.SYSTEM.equals(structureElement.getType())) { // create - System system = new System(); - setAttributes(system, - structureElement.getUuid(), structureElement.getParent(), - structureElement.getName(), structureElement.getMnemonic(), namingConvention.equivalenceClassRepresentative(structureElement.getMnemonic()), - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + System system = new System(uuid, structureElement.getParent(), + name, structureElement.getMnemonic(), equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getSystemRepository().createSystem(system); @@ -884,12 +885,10 @@ public class StructuresService { updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(system, holder)); } else if (Type.SUBSYSTEM.equals(structureElement.getType())) { // create - Subsystem subsystem = new Subsystem(); - setAttributes(subsystem, - structureElement.getUuid(), structureElement.getParent(), - structureElement.getName(), structureElement.getMnemonic(), namingConvention.equivalenceClassRepresentative(structureElement.getMnemonic()), - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + Subsystem subsystem = new Subsystem(uuid, structureElement.getParent(), + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getSubsystemRepository().createSubsystem(subsystem); @@ -899,12 +898,10 @@ public class StructuresService { updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(subsystem, holder)); } else if (Type.DISCIPLINE.equals(structureElement.getType())) { // create - Discipline discipline = new Discipline(); - setAttributes(discipline, - structureElement.getUuid(), - structureElement.getName(), structureElement.getMnemonic(), namingConvention.equivalenceClassRepresentative(structureElement.getMnemonic()), - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + Discipline discipline = new Discipline(uuid, + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getDisciplineRepository().createDiscipline(discipline); @@ -914,16 +911,12 @@ public class StructuresService { updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(discipline, holder)); } else if (Type.DEVICEGROUP.equals(structureElement.getType())) { // note rules for mnemonic for device group - String mnemonic = structureElement.getMnemonic(); - mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic; // create - DeviceGroup deviceGroup = new DeviceGroup(); - setAttributes(deviceGroup, - structureElement.getUuid(), structureElement.getParent(), - structureElement.getName(), mnemonic, !StringUtils.isEmpty(mnemonic) ? namingConvention.equivalenceClassRepresentative(mnemonic) : null, - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + DeviceGroup deviceGroup = new DeviceGroup(uuid, structureElement.getParent(), + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getDeviceGroupRepository().createDeviceGroup(deviceGroup); @@ -933,12 +926,10 @@ public class StructuresService { updatedStructureElements.add(StructureElementUtil.getStructureElementRequested(deviceGroup, holder)); } else if (Type.DEVICETYPE.equals(structureElement.getType())) { // create - DeviceType deviceType = new DeviceType(); - setAttributes(deviceType, - structureElement.getUuid(), structureElement.getParent(), - structureElement.getName(), structureElement.getMnemonic(), namingConvention.equivalenceClassRepresentative(structureElement.getMnemonic()), - structureElement.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE, - new Date(), requestedBy, structureElement.getComment()); + DeviceType deviceType = new DeviceType(uuid, structureElement.getParent(), + name, mnemonic, equivalenceClassRepresentative, + description, Status.PENDING, Boolean.FALSE, Boolean.FALSE, + requested, requestedBy, requestedComment); holderRepositories.getDeviceTypeRepository().createDeviceType(deviceType); @@ -975,24 +966,25 @@ public class StructuresService { HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); // do + Date requested = new Date(); String requestedBy = "test who"; final List<StructureElement> deletedStructureElements = Lists.newArrayList(); for (StructureElementCommand structureElement : structureElements) { + String queryValue = structureElement.getUuid().toString(); + if (Type.SYSTEMGROUP.equals(structureElement.getType())) { // find - List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.APPROVED, false, FieldStructure.UUID, structureElement.getUuid().toString()); + List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); if (systemGroups == null || systemGroups.size() != 1) { continue; } SystemGroup toBeDeleted = systemGroups.get(0); // create - SystemGroup systemGroup = new SystemGroup(); - setAttributes(systemGroup, - toBeDeleted.getUuid(), + SystemGroup systemGroup = new SystemGroup(toBeDeleted.getUuid(), toBeDeleted.getName(), toBeDeleted.getMnemonic(), namingConvention.equivalenceClassRepresentative(toBeDeleted.getMnemonic()), toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE, - new Date(), requestedBy, structureElement.getComment()); + requested, requestedBy, structureElement.getComment()); holderRepositories.getSystemGroupRepository().createSystemGroup(systemGroup); @@ -1002,19 +994,17 @@ public class StructuresService { deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(systemGroup, holder)); } else if (Type.SYSTEM.equals(structureElement.getType())) { // find - List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.APPROVED, false, FieldStructure.UUID, structureElement.getUuid().toString()); + List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); if (systems == null || systems.size() != 1) { continue; } System toBeDeleted = systems.get(0); // create - System system = new System(); - setAttributes(system, - toBeDeleted.getUuid(), toBeDeleted.getParentUuid(), + System system = new System(toBeDeleted.getUuid(), toBeDeleted.getParentUuid(), toBeDeleted.getName(), toBeDeleted.getMnemonic(), namingConvention.equivalenceClassRepresentative(toBeDeleted.getMnemonic()), toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE, - new Date(), requestedBy, structureElement.getComment()); + requested, requestedBy, structureElement.getComment()); holderRepositories.getSystemRepository().createSystem(system); @@ -1024,19 +1014,17 @@ public class StructuresService { deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(system, holder)); } else if (Type.SUBSYSTEM.equals(structureElement.getType())) { // find - List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.APPROVED, false, FieldStructure.UUID, structureElement.getUuid().toString()); + List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); if (subsystems == null || subsystems.size() != 1) { continue; } Subsystem toBeDeleted = subsystems.get(0); // create - Subsystem subsystem = new Subsystem(); - setAttributes(subsystem, - toBeDeleted.getUuid(), toBeDeleted.getParentUuid(), + Subsystem subsystem = new Subsystem(toBeDeleted.getUuid(), toBeDeleted.getParentUuid(), toBeDeleted.getName(), toBeDeleted.getMnemonic(), namingConvention.equivalenceClassRepresentative(toBeDeleted.getMnemonic()), toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE, - new Date(), requestedBy, structureElement.getComment()); + requested, requestedBy, structureElement.getComment()); holderRepositories.getSubsystemRepository().createSubsystem(subsystem); @@ -1046,19 +1034,17 @@ public class StructuresService { deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(subsystem, holder)); } else if (Type.DISCIPLINE.equals(structureElement.getType())) { // find - List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.APPROVED, false, FieldStructure.UUID, structureElement.getUuid().toString()); + List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); if (disciplines == null || disciplines.size() != 1) { continue; } Discipline toBeDeleted = disciplines.get(0); // create - Discipline discipline = new Discipline(); - setAttributes(discipline, - toBeDeleted.getUuid(), + Discipline discipline = new Discipline(toBeDeleted.getUuid(), toBeDeleted.getName(), toBeDeleted.getMnemonic(), namingConvention.equivalenceClassRepresentative(toBeDeleted.getMnemonic()), toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE, - new Date(), requestedBy, structureElement.getComment()); + requested, requestedBy, structureElement.getComment()); holderRepositories.getDisciplineRepository().createDiscipline(discipline); @@ -1068,19 +1054,17 @@ public class StructuresService { deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(discipline, holder)); } else if (Type.DEVICEGROUP.equals(structureElement.getType())) { // find - List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.APPROVED, false, FieldStructure.UUID, structureElement.getUuid().toString()); + List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); if (deviceGroups == null || deviceGroups.size() != 1) { continue; } DeviceGroup toBeDeleted = deviceGroups.get(0); // create - DeviceGroup deviceGroup = new DeviceGroup(); - setAttributes(deviceGroup, - toBeDeleted.getUuid(), toBeDeleted.getParentUuid(), + DeviceGroup deviceGroup = new DeviceGroup(toBeDeleted.getUuid(), toBeDeleted.getParentUuid(), toBeDeleted.getName(), toBeDeleted.getMnemonic(), namingConvention.equivalenceClassRepresentative(toBeDeleted.getMnemonic()), toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE, - new Date(), requestedBy, structureElement.getComment()); + requested, requestedBy, structureElement.getComment()); holderRepositories.getDeviceGroupRepository().createDeviceGroup(deviceGroup); @@ -1090,19 +1074,17 @@ public class StructuresService { deletedStructureElements.add(StructureElementUtil.getStructureElementRequested(deviceGroup, holder)); } else if (Type.DEVICETYPE.equals(structureElement.getType())) { // find - List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.APPROVED, false, FieldStructure.UUID, structureElement.getUuid().toString()); + List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); if (deviceTypes == null || deviceTypes.size() != 1) { continue; } DeviceType toBeDeleted = deviceTypes.get(0); // create - DeviceType deviceType = new DeviceType(); - setAttributes(deviceType, - toBeDeleted.getUuid(), toBeDeleted.getParentUuid(), + DeviceType deviceType = new DeviceType(toBeDeleted.getUuid(), toBeDeleted.getParentUuid(), toBeDeleted.getName(), toBeDeleted.getMnemonic(), namingConvention.equivalenceClassRepresentative(toBeDeleted.getMnemonic()), toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE, - new Date(), requestedBy, structureElement.getComment()); + requested, requestedBy, structureElement.getComment()); holderRepositories.getDeviceTypeRepository().createDeviceType(deviceType); @@ -1147,12 +1129,16 @@ public class StructuresService { // update // set not latest for current latest // set approved, latest for pending + Date processed = new Date(); String processedBy = "test who"; final List<StructureElement> approvedStructureElements = Lists.newArrayList(); for (StructureElementCommand structureElement : structureElements) { + String queryValue = structureElement.getUuid().toString(); + String processedComment = structureElement.getComment(); + if (Type.SYSTEMGROUP.equals(structureElement.getType())) { // find - List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, structureElement.getUuid().toString()); + List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); SystemGroup systemGroup = null; if (systemGroups != null && systemGroups.size() == 1) { systemGroup = systemGroups.get(0); @@ -1163,14 +1149,14 @@ public class StructuresService { } // find - systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, FieldStructure.UUID, queryValue); if (systemGroups == null || systemGroups.size() != 1) { continue; } systemGroup = systemGroups.get(0); // approve - setAttributesStatusProcessed(systemGroup, Status.APPROVED, new Date(), processedBy, structureElement.getComment()); + systemGroup.setAttributesStatusProcessed(Status.APPROVED, processed, processedBy, processedComment); systemGroup.setLatest(Boolean.TRUE); holderRepositories.getSystemGroupRepository().updateSystemGroup(systemGroup); @@ -1180,7 +1166,7 @@ public class StructuresService { // create name within current transaction if (!StringUtils.isEmpty(systemGroup.getMnemonic())) { NameElementCommand nameElement = new NameElementCommand(null, systemGroup.getUuid(), null, null, SYSTEM_STRUCTURE_ONLY, null); - NameElement createdNameElement = namesService.createName(nameElement, holder, processedBy); + NameElement createdNameElement = namesService.createName(nameElement, holder, processed, processedBy); LOGGER.log(Level.FINE, "approveStructures, nameElement created, name: {0}", createdNameElement.getName()); } @@ -1188,7 +1174,7 @@ public class StructuresService { approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(systemGroup, holder)); } else if (Type.SYSTEM.equals(structureElement.getType())) { // find - List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, structureElement.getUuid().toString()); + List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); System system = null; if (systems != null && systems.size() == 1) { system = systems.get(0); @@ -1199,14 +1185,14 @@ public class StructuresService { } // find - systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, FieldStructure.UUID, queryValue); if (systems == null || systems.size() != 1) { continue; } system = systems.get(0); // approve - setAttributesStatusProcessed(system, Status.APPROVED, new Date(), processedBy, structureElement.getComment()); + system.setAttributesStatusProcessed(Status.APPROVED, processed, processedBy, processedComment); system.setLatest(Boolean.TRUE); holderRepositories.getSystemRepository().updateSystem(system); @@ -1216,7 +1202,7 @@ public class StructuresService { // create name within current transaction if (!StringUtils.isEmpty(system.getMnemonic())) { NameElementCommand nameElement = new NameElementCommand(null, system.getUuid(), null, null, SYSTEM_STRUCTURE_ONLY, null); - NameElement createdNameElement = namesService.createName(nameElement, holder, processedBy); + NameElement createdNameElement = namesService.createName(nameElement, holder, processed, processedBy); LOGGER.log(Level.FINE, "approveStructures, nameElement created, name: {0}", createdNameElement.getName()); } @@ -1224,7 +1210,7 @@ public class StructuresService { approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(system, holder)); } else if (Type.SUBSYSTEM.equals(structureElement.getType())) { // find - List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, structureElement.getUuid().toString()); + List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); Subsystem subsystem = null; if (subsystems != null && subsystems.size() == 1) { subsystem = subsystems.get(0); @@ -1235,14 +1221,14 @@ public class StructuresService { } // find - subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, FieldStructure.UUID, queryValue); if (subsystems == null || subsystems.size() != 1) { continue; } subsystem = subsystems.get(0); // approve - setAttributesStatusProcessed(subsystem, Status.APPROVED, new Date(), processedBy, structureElement.getComment()); + subsystem.setAttributesStatusProcessed(Status.APPROVED, processed, processedBy, processedComment); subsystem.setLatest(Boolean.TRUE); holderRepositories.getSubsystemRepository().updateSubsystem(subsystem); @@ -1252,14 +1238,14 @@ public class StructuresService { // create name within current transaction if (!StringUtils.isEmpty(subsystem.getMnemonic())) { NameElementCommand nameElement = new NameElementCommand(null, subsystem.getUuid(), null, null, SYSTEM_STRUCTURE_ONLY, null); - NameElement createdNameElement = namesService.createName(nameElement, holder, processedBy); + NameElement createdNameElement = namesService.createName(nameElement, holder, processed, processedBy); LOGGER.log(Level.FINE, "approveStructures, nameElement created, name: {0}", createdNameElement.getName()); } // add approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(subsystem, holder)); } else if (Type.DISCIPLINE.equals(structureElement.getType())) { - List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, structureElement.getUuid().toString()); + List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); Discipline discipline = null; if (disciplines != null && disciplines.size() == 1) { discipline = disciplines.get(0); @@ -1270,14 +1256,14 @@ public class StructuresService { } // find - disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, FieldStructure.UUID, queryValue); if (disciplines == null || disciplines.size() != 1) { continue; } discipline = disciplines.get(0); // approve - setAttributesStatusProcessed(discipline, Status.APPROVED, new Date(), processedBy, structureElement.getComment()); + discipline.setAttributesStatusProcessed(Status.APPROVED, processed, processedBy, processedComment); discipline.setLatest(Boolean.TRUE); holderRepositories.getDisciplineRepository().updateDiscipline(discipline); @@ -1287,7 +1273,7 @@ public class StructuresService { approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(discipline, holder)); } else if (Type.DEVICEGROUP.equals(structureElement.getType())) { // find - List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, structureElement.getUuid().toString()); + List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); DeviceGroup deviceGroup = null; if (deviceGroups != null && deviceGroups.size() == 1) { deviceGroup = deviceGroups.get(0); @@ -1298,14 +1284,14 @@ public class StructuresService { } // find - deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, FieldStructure.UUID, queryValue); if (deviceGroups == null || deviceGroups.size() != 1) { continue; } deviceGroup = deviceGroups.get(0); // approve - setAttributesStatusProcessed(deviceGroup, Status.APPROVED, new Date(), processedBy, structureElement.getComment()); + deviceGroup.setAttributesStatusProcessed(Status.APPROVED, processed, processedBy, processedComment); deviceGroup.setLatest(Boolean.TRUE); holderRepositories.getDeviceGroupRepository().updateDeviceGroup(deviceGroup); @@ -1315,7 +1301,7 @@ public class StructuresService { approvedStructureElements.add(StructureElementUtil.getStructureElementProcessed(deviceGroup, holder)); } else if (Type.DEVICETYPE.equals(structureElement.getType())) { // find - List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, structureElement.getUuid().toString()); + List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.APPROVED, Boolean.FALSE, FieldStructure.UUID, queryValue); DeviceType deviceType = null; if (deviceTypes != null && deviceTypes.size() == 1) { deviceType = deviceTypes.get(0); @@ -1326,14 +1312,14 @@ public class StructuresService { } // find - deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, FieldStructure.UUID, queryValue); if (deviceTypes == null || deviceTypes.size() != 1) { continue; } deviceType = deviceTypes.get(0); // approve - setAttributesStatusProcessed(deviceType, Status.APPROVED, new Date(), processedBy, structureElement.getComment()); + deviceType.setAttributesStatusProcessed(Status.APPROVED, processed, processedBy, processedComment); deviceType.setLatest(Boolean.TRUE); holderRepositories.getDeviceTypeRepository().updateDeviceType(deviceType); @@ -1365,19 +1351,23 @@ public class StructuresService { HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); // do + Date processed = new Date(); String processedBy = "test who"; final List<StructureElement> cancelledStructureElements = Lists.newArrayList(); for (StructureElementCommand structureElement : structureElements) { + String queryValue = structureElement.getUuid().toString(); + String processedComment = structureElement.getComment(); + if (Type.SYSTEMGROUP.equals(structureElement.getType())) { // find - List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, FieldStructure.UUID, queryValue); if (systemGroups == null || systemGroups.size() != 1) { continue; } SystemGroup systemGroup = systemGroups.get(0); // cancel - setAttributesStatusProcessed(systemGroup, Status.CANCELLED, new Date(), processedBy, structureElement.getComment()); + systemGroup.setAttributesStatusProcessed(Status.CANCELLED, processed, processedBy, processedComment); holderRepositories.getSystemGroupRepository().updateSystemGroup(systemGroup); // possibly validate that cancelled @@ -1386,14 +1376,14 @@ public class StructuresService { cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(systemGroup, holder)); } else if (Type.SYSTEM.equals(structureElement.getType())) { // find - List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, FieldStructure.UUID, queryValue); if (systems == null || systems.size() != 1) { continue; } System system = systems.get(0); // cancel - setAttributesStatusProcessed(system, Status.CANCELLED, new Date(), processedBy, structureElement.getComment()); + system.setAttributesStatusProcessed(Status.CANCELLED, processed, processedBy, processedComment); holderRepositories.getSystemRepository().updateSystem(system); // possibly validate that cancelled @@ -1402,14 +1392,14 @@ public class StructuresService { cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(system, holder)); } else if (Type.SUBSYSTEM.equals(structureElement.getType())) { // find - List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, FieldStructure.UUID, queryValue); if (subsystems == null || subsystems.size() != 1) { continue; } Subsystem subsystem = subsystems.get(0); // cancel - setAttributesStatusProcessed(subsystem, Status.CANCELLED, new Date(), processedBy, structureElement.getComment()); + subsystem.setAttributesStatusProcessed(Status.CANCELLED, processed, processedBy, processedComment); holderRepositories.getSubsystemRepository().updateSubsystem(subsystem); // possibly validate that cancelled @@ -1418,14 +1408,14 @@ public class StructuresService { cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(subsystem, holder)); } else if (Type.DISCIPLINE.equals(structureElement.getType())) { // find - List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, FieldStructure.UUID, queryValue); if (disciplines == null || disciplines.size() != 1) { continue; } Discipline discipline = disciplines.get(0); // cancel - setAttributesStatusProcessed(discipline, Status.CANCELLED, new Date(), processedBy, structureElement.getComment()); + discipline.setAttributesStatusProcessed(Status.CANCELLED, processed, processedBy, processedComment); holderRepositories.getDisciplineRepository().updateDiscipline(discipline); // possibly validate that cancelled @@ -1434,14 +1424,14 @@ public class StructuresService { cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(discipline, holder)); } else if (Type.DEVICEGROUP.equals(structureElement.getType())) { // find - List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, FieldStructure.UUID, queryValue); if (deviceGroups == null || deviceGroups.size() != 1) { continue; } DeviceGroup deviceGroup = deviceGroups.get(0); // cancel - setAttributesStatusProcessed(deviceGroup, Status.CANCELLED, new Date(), processedBy, structureElement.getComment()); + deviceGroup.setAttributesStatusProcessed(Status.CANCELLED, processed, processedBy, processedComment); holderRepositories.getDeviceGroupRepository().updateDeviceGroup(deviceGroup); // possibly validate that cancelled @@ -1449,14 +1439,14 @@ public class StructuresService { // add cancelledStructureElements.add(StructureElementUtil.getStructureElementProcessed(deviceGroup, holder)); } else if (Type.DEVICETYPE.equals(structureElement.getType())) { - List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, FieldStructure.UUID, queryValue); if (deviceTypes == null || deviceTypes.size() != 1) { continue; } DeviceType deviceType = deviceTypes.get(0); // cancel - setAttributesStatusProcessed(deviceType, Status.CANCELLED, new Date(), processedBy, structureElement.getComment()); + deviceType.setAttributesStatusProcessed(Status.CANCELLED, processed, processedBy, processedComment); holderRepositories.getDeviceTypeRepository().updateDeviceType(deviceType); // possibly validate that cancelled @@ -1487,19 +1477,23 @@ public class StructuresService { HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories); // do + Date processed = new Date(); String processedBy = "test who"; final List<StructureElement> rejectedStructureElements = Lists.newArrayList(); for (StructureElementCommand structureElement : structureElements) { + String queryValue = structureElement.getUuid().toString(); + String processedComment = structureElement.getComment(); + if (Type.SYSTEMGROUP.equals(structureElement.getType())) { // find - List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<SystemGroup> systemGroups = holderRepositories.getSystemGroupRepository().readSystemGroups(Status.PENDING, null, FieldStructure.UUID, queryValue); if (systemGroups == null || systemGroups.size() != 1) { continue; } SystemGroup systemGroup = systemGroups.get(0); // reject - setAttributesStatusProcessed(systemGroup, Status.REJECTED, new Date(), processedBy, structureElement.getComment()); + systemGroup.setAttributesStatusProcessed(Status.REJECTED, processed, processedBy, processedComment); holderRepositories.getSystemGroupRepository().updateSystemGroup(systemGroup); // possibly validate that rejected @@ -1508,14 +1502,14 @@ public class StructuresService { rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(systemGroup, holder)); } else if (Type.SYSTEM.equals(structureElement.getType())) { // find - List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<System> systems = holderRepositories.getSystemRepository().readSystems(Status.PENDING, null, FieldStructure.UUID, queryValue); if (systems == null || systems.size() != 1) { continue; } System system = systems.get(0); // reject - setAttributesStatusProcessed(system, Status.REJECTED, new Date(), processedBy, structureElement.getComment()); + system.setAttributesStatusProcessed(Status.REJECTED, processed, processedBy, processedComment); holderRepositories.getSystemRepository().updateSystem(system); // possibly validate that rejected @@ -1524,14 +1518,14 @@ public class StructuresService { rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(system, holder)); } else if (Type.SUBSYSTEM.equals(structureElement.getType())) { // find - List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<Subsystem> subsystems = holderRepositories.getSubsystemRepository().readSubsystems(Status.PENDING, null, FieldStructure.UUID, queryValue); if (subsystems == null || subsystems.size() != 1) { continue; } Subsystem subsystem = subsystems.get(0); // reject - setAttributesStatusProcessed(subsystem, Status.REJECTED, new Date(), processedBy, structureElement.getComment()); + subsystem.setAttributesStatusProcessed(Status.REJECTED, processed, processedBy, processedComment); holderRepositories.getSubsystemRepository().updateSubsystem(subsystem); // possibly validate that rejected @@ -1540,14 +1534,14 @@ public class StructuresService { rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(subsystem, holder)); } else if (Type.DISCIPLINE.equals(structureElement.getType())) { // find - List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<Discipline> disciplines = holderRepositories.getDisciplineRepository().readDisciplines(Status.PENDING, null, FieldStructure.UUID, queryValue); if (disciplines == null || disciplines.size() != 1) { continue; } Discipline discipline = disciplines.get(0); // reject - setAttributesStatusProcessed(discipline, Status.REJECTED, new Date(), processedBy, structureElement.getComment()); + discipline.setAttributesStatusProcessed(Status.REJECTED, processed, processedBy, processedComment); holderRepositories.getDisciplineRepository().updateDiscipline(discipline); // possibly validate that rejected @@ -1556,14 +1550,14 @@ public class StructuresService { rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(discipline, holder)); } else if (Type.DEVICEGROUP.equals(structureElement.getType())) { // find - List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<DeviceGroup> deviceGroups = holderRepositories.getDeviceGroupRepository().readDeviceGroups(Status.PENDING, null, FieldStructure.UUID, queryValue); if (deviceGroups == null || deviceGroups.size() != 1) { continue; } DeviceGroup deviceGroup = deviceGroups.get(0); // reject - setAttributesStatusProcessed(deviceGroup, Status.REJECTED, new Date(), processedBy, structureElement.getComment()); + deviceGroup.setAttributesStatusProcessed(Status.REJECTED, processed, processedBy, processedComment); holderRepositories.getDeviceGroupRepository().updateDeviceGroup(deviceGroup); // possibly validate that rejected @@ -1571,14 +1565,14 @@ public class StructuresService { // add rejectedStructureElements.add(StructureElementUtil.getStructureElementProcessed(deviceGroup, holder)); } else if (Type.DEVICETYPE.equals(structureElement.getType())) { - List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, FieldStructure.UUID, structureElement.getUuid().toString()); + List<DeviceType> deviceTypes = holderRepositories.getDeviceTypeRepository().readDeviceTypes(Status.PENDING, null, FieldStructure.UUID, queryValue); if (deviceTypes == null || deviceTypes.size() != 1) { continue; } DeviceType deviceType = deviceTypes.get(0); // reject - setAttributesStatusProcessed(deviceType, Status.REJECTED, new Date(), processedBy, structureElement.getComment()); + deviceType.setAttributesStatusProcessed(Status.REJECTED, processed, processedBy, processedComment); holderRepositories.getDeviceTypeRepository().updateDeviceType(deviceType); // possibly validate that rejected @@ -1592,79 +1586,4 @@ public class StructuresService { return rejectedStructureElements; } - // ---------------------------------------------------------------------------------------------------- - - /** - * Utility method to help set attributes for Structure class, which in practice is either of its sub classes. - * - * @param structure structure - * @param status status - * @param requested requested - * @param requestedBy requested by - * @param requestedComment requested comment - */ - private void setAttributesStatusProcessed(Structure structure, Status status, Date processed, String processedBy, String processedComment) { - structure.setStatus(status); - structure.setProcessed(processed); - structure.setProcessedBy(processedBy); - structure.setProcessedComment(processedComment); - } - - private void setAttributes(SystemGroup systemGroup, UUID uuid, String name, String mnemonic, String mnemonicEquivalence, String description, Status status, Boolean isLatest, Boolean isDeleted, Date requested, String requestedBy, String requestedComment) { - setAttributesStructure(systemGroup, uuid, name, mnemonic, mnemonicEquivalence, description, status, isLatest, isDeleted, requested, requestedBy, requestedComment); - } - private void setAttributes(System system, UUID uuid, UUID parentUuid, String name, String mnemonic, String mnemonicEquivalence, String description, Status status, Boolean isLatest, Boolean isDeleted, Date requested, String requestedBy, String requestedComment) { - system.setParentUuid(parentUuid); - setAttributesStructure(system, uuid, name, mnemonic, mnemonicEquivalence, description, status, isLatest, isDeleted, requested, requestedBy, requestedComment); - } - private void setAttributes(Subsystem subsystem, UUID uuid, UUID parentUuid, String name, String mnemonic, String mnemonicEquivalence, String description, Status status, Boolean isLatest, Boolean isDeleted, Date requested, String requestedBy, String requestedComment) { - subsystem.setParentUuid(parentUuid); - setAttributesStructure(subsystem, uuid, name, mnemonic, mnemonicEquivalence, description, status, isLatest, isDeleted, requested, requestedBy, requestedComment); - } - private void setAttributes(Discipline discipline, UUID uuid, String name, String mnemonic, String mnemonicEquivalence, String description, Status status, Boolean isLatest, Boolean isDeleted, Date requested, String requestedBy, String requestedComment) { - setAttributesStructure(discipline, uuid, name, mnemonic, mnemonicEquivalence, description, status, isLatest, isDeleted, requested, requestedBy, requestedComment); - } - private void setAttributes(DeviceGroup deviceGroup, UUID uuid, UUID parentUuid, String name, String mnemonic, String mnemonicEquivalence, String description, Status status, Boolean isLatest, Boolean isDeleted, Date requested, String requestedBy, String requestedComment) { - deviceGroup.setParentUuid(parentUuid); - setAttributesStructure(deviceGroup, uuid, name, mnemonic, mnemonicEquivalence, description, status, isLatest, isDeleted, requested, requestedBy, requestedComment); - } - private void setAttributes(DeviceType deviceType, UUID uuid, UUID parentUuid, String name, String mnemonic, String mnemonicEquivalence, String description, Status status, Boolean isLatest, Boolean isDeleted, Date requested, String requestedBy, String requestedComment) { - deviceType.setParentUuid(parentUuid); - setAttributesStructure(deviceType, uuid, name, mnemonic, mnemonicEquivalence, description, status, isLatest, isDeleted, requested, requestedBy, requestedComment); - } - - /** - * Utility method to help set attributes for Structure class, which in practice is either of its sub classes. - * - * @param structure structure - * @param uuid uuid - * @param name name - * @param mnemonic mnemonic - * @param mnemonicEquivalence mnemonic equivalence - * @param description description - * @param status status - * @param latest latest - * @param deleted deleted - * @param requested requested - * @param requestedBy requested by - * @param requestedComment requested comment - */ - private void setAttributesStructure(Structure structure, - UUID uuid, - String name, String mnemonic, String mnemonicEquivalence, - String description, Status status, Boolean latest, Boolean deleted, - Date requested, String requestedBy, String requestedComment) { - structure.setUuid(uuid); - structure.setName(name); - structure.setMnemonic(mnemonic); - structure.setMnemonicEquivalence(mnemonicEquivalence); - structure.setDescription(description); - structure.setStatus(status); - structure.setLatest(latest); - structure.setDeleted(deleted); - structure.setRequested(requested); - structure.setRequestedBy(requestedBy); - structure.setRequestedComment(requestedComment); - } - }