From 837822b7dd2da3877b88a5c04e4c3d132031ac70 Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Fri, 15 Sep 2023 09:35:57 +0200 Subject: [PATCH] RED-7185 - RM-46 - Error message when adjusting the Justification --- .../LegalBasisChangePersistenceService.java | 11 +++++++++++ .../resources/db/changelog/db.changelog-tenant.yaml | 4 +++- .../changelog/tenant/112-modify-section-length.yaml | 9 +++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/112-modify-section-length.yaml diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/LegalBasisChangePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/LegalBasisChangePersistenceService.java index 1653b98b5..17f262c41 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/LegalBasisChangePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/LegalBasisChangePersistenceService.java @@ -5,12 +5,14 @@ import java.time.temporal.ChronoUnit; import java.util.Set; import java.util.stream.Collectors; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualLegalBasisChangeEntity; +import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.annotationentity.LegalBasisChangeRepository; import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.AnnotationStatus; @@ -24,6 +26,7 @@ import lombok.extern.slf4j.Slf4j; @RequiredArgsConstructor public class LegalBasisChangePersistenceService { + private final int SECTION_MAX_LENGTH = 1024; private final LegalBasisChangeRepository legalBasisChangeRepository; @@ -31,6 +34,7 @@ public class LegalBasisChangePersistenceService { ManualLegalBasisChangeEntity manualLegalBasisChange = new ManualLegalBasisChangeEntity(); manualLegalBasisChange.setId(new AnnotationEntityId(legalBasisChangeRequest.getAnnotationId(), fileId)); + checkSection(legalBasisChangeRequest.getSection()); BeanUtils.copyProperties(legalBasisChangeRequest, manualLegalBasisChange); manualLegalBasisChange.setRequestDate(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)); @@ -42,6 +46,13 @@ public class LegalBasisChangePersistenceService { } + private void checkSection(String section) { + + if (!StringUtils.isEmpty(section) && section.length() > SECTION_MAX_LENGTH) { + throw new BadRequestException(String.format("The section is too long (%s), max length %s", section.length(), SECTION_MAX_LENGTH)); + } + } + @Transactional public void hardDelete(String fileId, String annotationId) { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml index e51438236..c54697548 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml @@ -162,4 +162,6 @@ databaseChangeLog: - include: file: db/changelog/tenant/110-add-rules-file-type.yaml - include: - file: db/changelog/tenant/111-make-rule-values-non-nullable.yaml \ No newline at end of file + file: db/changelog/tenant/111-make-rule-values-non-nullable.yaml + - include: + file: db/changelog/tenant/112-modify-section-length.yaml \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/112-modify-section-length.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/112-modify-section-length.yaml new file mode 100644 index 000000000..29e17a7f6 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/112-modify-section-length.yaml @@ -0,0 +1,9 @@ +databaseChangeLog: + - changeSet: + id: modify-section-length + author: aisvoran + changes: + - modifyDataType: + columnName: section + newDataType: VARCHAR(1024) + tableName: manual_legal_basis_change