From a0c62274ef0e82f5598c9c70bcb102a493ecbca3 Mon Sep 17 00:00:00 2001 From: Corina Olariu Date: Mon, 9 Oct 2023 10:57:09 +0300 Subject: [PATCH 1/2] RED-7185 - RM-46 - Error message when adjusting the Justification - adding the validation of dossier template's name and description when requesting a clone dossier template --- .../v1/processor/service/DossierTemplateCloneService.java | 1 + .../service/persistence/DossierTemplatePersistenceService.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java index 2cb3aa4c4..78b7bf0bb 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java @@ -66,6 +66,7 @@ public class DossierTemplateCloneService { @Transactional public DossierTemplateEntity cloneDossierTemplate(String dossierTemplateId, CloneDossierTemplateRequest cloneDossierTemplateRequest) { + dossierTemplatePersistenceService.validateDossierTemplate(cloneDossierTemplateRequest.getName(), cloneDossierTemplateRequest.getDescription()); dossierTemplatePersistenceService.validateDossierTemplateNameIsUnique(cloneDossierTemplateRequest.getName()); DossierTemplateEntity clonedDossierTemplate = new DossierTemplateEntity(); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java index 755b4fb97..b2fd22655 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java @@ -95,7 +95,7 @@ public class DossierTemplatePersistenceService { } } - private void validateDossierTemplate(String name, String description) { + public void validateDossierTemplate(String name, String description) { if (name.length() > MAX_NAME_LENGTH) { throw new BadRequestException(String.format("The name is too long (%s), max length %s", name.length(), MAX_NAME_LENGTH)); -- 2.47.2 From 97ab8a07834511d51f74cb22258da6f6aef4587a Mon Sep 17 00:00:00 2001 From: Corina Olariu Date: Mon, 9 Oct 2023 12:01:25 +0300 Subject: [PATCH 2/2] RED-7185 - RM-46 - Error message when adjusting the Justification - check for null for dossier template's name - update junit test --- .../v1/processor/service/DossierTemplateCloneService.java | 5 +++++ .../persistence/DossierTemplatePersistenceService.java | 2 +- .../integration/tests/performance/EntityPerformanceTest.java | 4 +++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java index 78b7bf0bb..9912f4aba 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateCloneService.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -16,6 +17,7 @@ import com.iqser.red.service.persistence.management.v1.processor.entity.dossier. import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity; +import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DictionaryPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributeConfigPersistenceService; @@ -66,6 +68,9 @@ public class DossierTemplateCloneService { @Transactional public DossierTemplateEntity cloneDossierTemplate(String dossierTemplateId, CloneDossierTemplateRequest cloneDossierTemplateRequest) { + if (StringUtils.isEmpty(cloneDossierTemplateRequest.getName())) { + throw new ConflictException("DossierTemplate name must be set"); + } dossierTemplatePersistenceService.validateDossierTemplate(cloneDossierTemplateRequest.getName(), cloneDossierTemplateRequest.getDescription()); dossierTemplatePersistenceService.validateDossierTemplateNameIsUnique(cloneDossierTemplateRequest.getName()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java index b2fd22655..52ff50436 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java @@ -97,7 +97,7 @@ public class DossierTemplatePersistenceService { public void validateDossierTemplate(String name, String description) { - if (name.length() > MAX_NAME_LENGTH) { + if (!StringUtils.isEmpty(name) && name.length() > MAX_NAME_LENGTH) { throw new BadRequestException(String.format("The name is too long (%s), max length %s", name.length(), MAX_NAME_LENGTH)); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/performance/EntityPerformanceTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/performance/EntityPerformanceTest.java index 84990bb9c..583e646ed 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/performance/EntityPerformanceTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/performance/EntityPerformanceTest.java @@ -73,7 +73,9 @@ public class EntityPerformanceTest extends AbstractPersistenceServerServiceTest dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), fiveKEntries, true, null, DictionaryEntryType.FALSE_POSITIVE); t1 = System.currentTimeMillis(); - var cloned = dossierTemplateClient.cloneDossierTemplate(template.getId(), new CloneDossierTemplateRequest()); + CloneDossierTemplateRequest cloneRequest = new CloneDossierTemplateRequest(); + cloneRequest.setName("cloneDossierTemplate"); + var cloned = dossierTemplateClient.cloneDossierTemplate(template.getId(), cloneRequest); t2 = System.currentTimeMillis(); log.info("Clone Time: {}", (t2 - t1)); -- 2.47.2