From a561f4f2daccd5720490cb288e61541bce194886 Mon Sep 17 00:00:00 2001 From: Ali Oezyetimoglu Date: Thu, 3 Aug 2023 13:18:32 +0200 Subject: [PATCH] RED-7241: cleaned up unneeded imports --- .../controller/ManualRedactionController.java | 2 ++ .../ManualResizeRedactionEntity.java | 16 +++++---- .../service/ManualRedactionService.java | 33 +++++++++++++++++-- .../db/changelog/db.changelog-tenant.yaml | 2 ++ ...-to-all-dossiers-to-resize-redactions.yaml | 11 +++++++ .../annotations/ResizeRedactionRequest.java | 2 ++ .../model/manual/ResizeRedactionRequest.java | 2 ++ 7 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/106-add-add-to-all-dossiers-to-resize-redactions.yaml diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ManualRedactionController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ManualRedactionController.java index fed596bf7..60a8a614d 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ManualRedactionController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ManualRedactionController.java @@ -347,6 +347,7 @@ public class ManualRedactionController implements ManualRedactionResource { .positions(resizeRedactionRequest.getPositions()) .value(resizeRedactionRequest.getValue()) .updateDictionary(resizeRedactionRequest.getUpdateDictionary()) + .addToAllDossiers(resizeRedactionRequest.isAddToAllDossiers()) .build()) .collect(Collectors.toList()); @@ -1127,6 +1128,7 @@ public class ManualRedactionController implements ManualRedactionResource { .value(resizeRedactionRequest.getValue()) .comment(resizeRedactionRequest.getComment()) .updateDictionary(resizeRedactionRequest.getUpdateDictionary()) + .addToAllDossiers(resizeRedactionRequest.isAddToAllDossiers()) .build()) .collect(Collectors.toList()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualResizeRedactionEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualResizeRedactionEntity.java index 01826a240..772933102 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualResizeRedactionEntity.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualResizeRedactionEntity.java @@ -4,6 +4,12 @@ import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.List; +import org.hibernate.annotations.Fetch; +import org.hibernate.annotations.FetchMode; + +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.AnnotationStatus; + import jakarta.persistence.Column; import jakarta.persistence.ElementCollection; import jakarta.persistence.EmbeddedId; @@ -13,13 +19,6 @@ import jakarta.persistence.Enumerated; import jakarta.persistence.FetchType; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; - -import org.hibernate.annotations.Fetch; -import org.hibernate.annotations.FetchMode; - -import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; -import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.AnnotationStatus; - import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -65,4 +64,7 @@ public class ManualResizeRedactionEntity implements IBaseAnnotation { @Column private String textAfter; + @Column + private boolean addToAllDossiers; + } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionService.java index 412d4a0b8..233326ef3 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionService.java @@ -729,14 +729,27 @@ public class ManualRedactionService { .equals(AnnotationStatus.APPROVED) && (redactionLogEntry.isDictionaryEntry() || redactionLogEntry.isDossierDictionaryEntry())) { var dossier = dossierPersistenceService.findByDossierId(dossierId); - var typeId = buildTypeId(redactionLogEntry, dossier); + var typeId = computeTypeIdForResizeRedaction(redactionLogEntry, resizeRedaction, dossier); var newValue = resizeRedaction.getValue(); var oldValue = redactionLogEntry.getValue(); var dictionaryEntryType = getDictionaryEntryType(redactionLogEntry); - if (oldValue != null && oldValue.length() > newValue.length()) { + boolean isShrinking = oldValue != null && oldValue.length() > newValue.length(); + + if (isShrinking) { log.info("Remove old value '{}' from dictionary", oldValue); - removeFromDictionary(buildTypeId(redactionLogEntry, dossier), oldValue, dossierId, fileId, dictionaryEntryType); + removeFromDictionary(typeId, oldValue, dossierId, fileId, dictionaryEntryType); + + if (resizeRedaction.isAddToAllDossiers() && redactionLogEntry.isDossierDictionaryEntry()) { + String dossierTemplateId = dossier.getDossierTemplateId(); + var dossiersOfThisDossierTemplate = dossierPersistenceService.findAllDossiersForDossierTemplateId(dossierTemplateId); + var type = redactionLogEntry.getType(); + dossiersOfThisDossierTemplate.forEach(dossierEntity -> { + var typeIdOfDossierEntity = toTypeId(type, dossierTemplateId, dossierEntity.getId()); + removeFromDictionary(typeIdOfDossierEntity, oldValue, dossierId, fileId, dictionaryEntryType); + }); + } + } log.info("Add new value '{}' to dictionary", newValue); @@ -745,6 +758,20 @@ public class ManualRedactionService { } + private String computeTypeIdForResizeRedaction(RedactionLogEntry redactionLogEntry, ManualResizeRedactionEntity resizeRedaction, DossierEntity dossier) { + if (resizeRedaction.isAddToAllDossiers()) { + if (redactionLogEntry.isDossierDictionaryEntry()) { + return toTypeId(redactionLogEntry.getType(), dossier.getDossierTemplateId()); + } else { + return toTypeId(redactionLogEntry.getType(), dossier.getDossierTemplateId(), dossier.getId()); + } + } else { + return buildTypeId(redactionLogEntry, dossier); + } + + } + + private DictionaryEntryType getDictionaryEntryType(RedactionLogEntry redactionLogEntry) { if (redactionLogEntry.isRecommendation() && redactionLogEntry.isFalsePositive()) { 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 00f1559f5..f13882fe5 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 @@ -151,3 +151,5 @@ databaseChangeLog: file: db/changelog/tenant/104-add-ocr-by-default-to-dossier-template.yaml - include: file: db/changelog/tenant/105-add-remove-watermark-to-dossier-template.yaml + - include: + file: db/changelog/tenant/106-add-add-to-all-dossiers-to-resize-redactions.yaml diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/106-add-add-to-all-dossiers-to-resize-redactions.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/106-add-add-to-all-dossiers-to-resize-redactions.yaml new file mode 100644 index 000000000..343d6d1bd --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/106-add-add-to-all-dossiers-to-resize-redactions.yaml @@ -0,0 +1,11 @@ +databaseChangeLog: + - changeSet: + id: add-add-to-all-dossiers-to-resize-redactions + author: ali + changes: + - addColumn: + columns: + - column: + name: add_to_all_dossiers + type: BOOLEAN + tableName: manual_resize_redaction \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/annotations/ResizeRedactionRequest.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/annotations/ResizeRedactionRequest.java index 2e8b0c729..21ff7f76b 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/annotations/ResizeRedactionRequest.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/annotations/ResizeRedactionRequest.java @@ -28,4 +28,6 @@ public class ResizeRedactionRequest { private String textBefore; private String textAfter; + private boolean addToAllDossiers; + } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/manual/ResizeRedactionRequest.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/manual/ResizeRedactionRequest.java index 0c57f2a63..42ad6ee4c 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/manual/ResizeRedactionRequest.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/manual/ResizeRedactionRequest.java @@ -26,6 +26,8 @@ public class ResizeRedactionRequest { private Boolean updateDictionary; + private boolean addToAllDossiers; + @Builder.Default private List positions = new ArrayList<>();