diff --git a/redaction-service-v1/redaction-service-api-v1/build.gradle.kts b/redaction-service-v1/redaction-service-api-v1/build.gradle.kts index eac1f8b2..d76a97e9 100644 --- a/redaction-service-v1/redaction-service-api-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-api-v1/build.gradle.kts @@ -7,7 +7,7 @@ description = "redaction-service-api-v1" dependencies { implementation("org.springframework:spring-web:6.0.12") - implementation("com.iqser.red.service:persistence-service-internal-api-v1:2.395.0") + implementation("com.iqser.red.service:persistence-service-internal-api-v1:2.407.0") } publishing { diff --git a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts index 117257a9..0d8448f7 100644 --- a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts @@ -16,7 +16,7 @@ val layoutParserVersion = "0.116.0" val jacksonVersion = "2.15.2" val droolsVersion = "9.44.0.Final" val pdfBoxVersion = "3.0.0" -val persistenceServiceVersion = "2.395.0" +val persistenceServiceVersion = "2.407.0" val springBootStarterVersion = "3.1.5" val springCloudVersion = "4.0.4" val testContainersVersion = "1.19.7" diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/MigrationEntity.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/MigrationEntity.java index 6d7a55d1..bf31e2c2 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/MigrationEntity.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/MigrationEntity.java @@ -18,6 +18,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryState; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryType; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Position; +import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.ManualChangeFactory; import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.Rectangle; import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.BaseAnnotation; import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualRecategorization; @@ -34,7 +35,6 @@ import com.iqser.red.service.redaction.v1.server.model.document.entity.TextEntit import com.iqser.red.service.redaction.v1.server.model.document.nodes.Image; import com.iqser.red.service.redaction.v1.server.model.document.nodes.ImageType; import com.iqser.red.service.redaction.v1.server.service.DictionaryService; -import com.iqser.red.service.redaction.v1.server.service.ManualChangeFactory; import com.iqser.red.service.redaction.v1.server.service.ManualChangesApplicationService; import lombok.AllArgsConstructor; @@ -196,7 +196,7 @@ public final class MigrationEntity { throw new UnsupportedOperationException("Unknown subclass " + migratedEntity.getClass()); } - entityLogEntry.setManualChanges(ManualChangeFactory.toManualChangeList(migratedEntity.getManualOverwrite().getManualChangeLog(), redactionLogEntry.isHint())); + entityLogEntry.setManualChanges(ManualChangeFactory.toLocalManualChangeList(migratedEntity.getManualOverwrite().getManualChangeLog(), true)); entityLogEntry.setColor(redactionLogEntry.getColor()); entityLogEntry.setChanges(redactionLogEntry.getChanges() .stream() diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/entity/ManualChangeOverwrite.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/entity/ManualChangeOverwrite.java index dfc4138a..dd9df810 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/entity/ManualChangeOverwrite.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/entity/ManualChangeOverwrite.java @@ -130,10 +130,16 @@ public class ManualChangeOverwrite { if (manualChange instanceof ManualRecategorization recategorization) { recategorized = true; - type = recategorization.getType(); - section = recategorization.getSection(); - value = recategorization.getValue(); - if (recategorization.getLegalBasis() != null && !recategorization.getLegalBasis().isEmpty()) { + if (recategorization.getType() != null) { + type = recategorization.getType(); + } + if (recategorization.getSection() != null) { + section = recategorization.getSection(); + } + if (recategorization.getValue() != null) { + value = recategorization.getValue(); + } + if (recategorization.getLegalBasis() != null) { legalBasis = recategorization.getLegalBasis(); } } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityLogCreatorService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityLogCreatorService.java index 42ed5313..12d609ca 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityLogCreatorService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityLogCreatorService.java @@ -19,6 +19,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryState; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryType; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Position; +import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.ManualChangeFactory; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.legalbasis.LegalBasis; import com.iqser.red.service.redaction.v1.server.RedactionServiceSettings; import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient; @@ -203,7 +204,7 @@ public class EntityLogCreatorService { .section(image.getManualOverwrite().getSection() .orElse(image.getParent().toString())) .imageHasTransparency(image.isTransparent()) - .manualChanges(ManualChangeFactory.toManualChangeList(image.getManualOverwrite().getManualChangeLog(), isHint)) + .manualChanges(ManualChangeFactory.toLocalManualChangeList(image.getManualOverwrite().getManualChangeLog(), true)) .state(buildEntryState(image)) .entryType(isHint ? EntryType.IMAGE_HINT : EntryType.IMAGE) .engines(getEngines(null, image.getManualOverwrite())) @@ -246,7 +247,7 @@ public class EntityLogCreatorService { //(was .imported(precursorEntity.getEngines() != null && precursorEntity.getEngines().contains(Engine.IMPORTED))) .imported(false) .reference(Collections.emptySet()) - .manualChanges(ManualChangeFactory.toManualChangeList(precursorEntity.getManualOverwrite().getManualChangeLog(), isHint)) + .manualChanges(ManualChangeFactory.toLocalManualChangeList(precursorEntity.getManualOverwrite().getManualChangeLog(), true)) .build(); } @@ -282,7 +283,7 @@ public class EntityLogCreatorService { //(was .imported(entity.getEngines() != null && entity.getEngines().contains(Engine.IMPORTED))) .imported(false) .reference(referenceIds) - .manualChanges(ManualChangeFactory.toManualChangeList(entity.getManualOverwrite().getManualChangeLog(), isHint)) + .manualChanges(ManualChangeFactory.toLocalManualChangeList(entity.getManualOverwrite().getManualChangeLog(), true)) .state(buildEntryState(entity)) .entryType(buildEntryType(entity)) .build(); diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangeFactory.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangeFactory.java deleted file mode 100644 index 402e8422..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangeFactory.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.service; - -import java.time.OffsetDateTime; -import java.util.List; -import java.util.stream.Collectors; - -import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.ManualChange; -import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.ManualRedactionType; -import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.BaseAnnotation; -import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.IdRemoval; -import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualForceRedaction; -import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualLegalBasisChange; -import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualRecategorization; -import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualRedactionEntry; -import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualResizeRedaction; - -import lombok.experimental.UtilityClass; - -@UtilityClass -public class ManualChangeFactory { - - public List toManualChangeList(List manualChanges, boolean isHint) { - - return manualChanges.stream() - .map(baseAnnotation -> toManualChange(baseAnnotation, isHint)) - .collect(Collectors.toList()); - } - - - public ManualChange toManualChange(BaseAnnotation baseAnnotation, boolean isHint) { - - ManualChange manualChange = ManualChange.from(baseAnnotation); - if (baseAnnotation instanceof ManualRecategorization recategorization) { - manualChange.withManualRedactionType(ManualRedactionType.RECATEGORIZE) - .withChange("type", recategorization.getType()) - .withChange("section", recategorization.getSection()) - .withChange("legalBasis", recategorization.getLegalBasis()) - .withChange("value", recategorization.getValue()); - } else if (baseAnnotation instanceof IdRemoval manualRemoval) { - manualChange.withManualRedactionType(manualRemoval.isRemoveFromDictionary() ? ManualRedactionType.REMOVE_FROM_DICTIONARY : ManualRedactionType.REMOVE); - } else if (baseAnnotation instanceof ManualForceRedaction manualForceRedaction) { - manualChange.withManualRedactionType(ManualRedactionType.FORCE).withChange("legalBasis", manualForceRedaction.getLegalBasis()); - } else if (baseAnnotation instanceof ManualResizeRedaction manualResizeRedact) { - manualChange.withManualRedactionType(manualResizeRedact.getUpdateDictionary() ? ManualRedactionType.RESIZE_IN_DICTIONARY : ManualRedactionType.RESIZE) - .withChange("value", manualResizeRedact.getValue()); - } else if (baseAnnotation instanceof ManualRedactionEntry manualRedactionEntry) { - manualChange.withManualRedactionType(manualRedactionEntry.isAddToDictionary() ? ManualRedactionType.ADD_TO_DICTIONARY : ManualRedactionType.ADD) - .withChange("value", manualRedactionEntry.getValue()); - } else if (baseAnnotation instanceof ManualLegalBasisChange manualLegalBasisChange) { - manualChange.withManualRedactionType(ManualRedactionType.LEGAL_BASIS_CHANGE) - .withChange("section", manualLegalBasisChange.getSection()) - .withChange("value", manualLegalBasisChange.getValue()) - .withChange("legalBasis", manualLegalBasisChange.getLegalBasis()); - } - manualChange.setProcessedDate(OffsetDateTime.now()); - return manualChange; - } - -} diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangesApplicationService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangesApplicationService.java index 14204d04..bf8135ab 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangesApplicationService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/ManualChangesApplicationService.java @@ -47,6 +47,10 @@ public class ManualChangesApplicationService { entityToBeReCategorized.getMatchedRuleList().clear(); entityToBeReCategorized.getManualOverwrite().addChange(manualRecategorization); + if (manualRecategorization.getType() == null) { + return; + } + if (entityToBeReCategorized instanceof Image image) { image.setImageType(ImageType.fromString(manualRecategorization.getType())); return; diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/drools/KieContainerCreationService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/drools/KieContainerCreationService.java index 8878f5b5..c83ca4a2 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/drools/KieContainerCreationService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/drools/KieContainerCreationService.java @@ -64,7 +64,6 @@ public class KieContainerCreationService { try { return kieServices.newKieContainer(getReleaseId(dossierTemplateId, version, ruleFileType)); } catch (Exception e) { - registerNewKieContainerVersion(dossierTemplateId, version, ruleFileType); return kieServices.newKieContainer(getReleaseId(dossierTemplateId, version, ruleFileType)); }