From 3677cfc786030e9b72387a578f0de8af91785aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Thu, 23 Sep 2021 13:07:09 +0200 Subject: [PATCH] RED-2228: Adapt to redactionlog changes --- .../v1/server/service/FileService.java | 4 +- .../v1/server/service/FileStatusService.java | 2 +- .../service/ManualRedactionService.java | 8 +- .../service/ManualRedactionsConverter.java | 160 ------------------ .../server/service/RedactionLogService.java | 4 +- persistence-service-v1/pom.xml | 2 +- 6 files changed, 10 insertions(+), 170 deletions(-) delete mode 100644 persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionsConverter.java diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileService.java index 72d3ce810..edb55469a 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileService.java @@ -11,8 +11,8 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist import com.iqser.red.service.persistence.service.v1.api.model.BinaryFileRequest; import com.iqser.red.service.persistence.service.v1.api.model.FileType; import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.redaction.v1.model.Status; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -53,7 +53,7 @@ public class FileService { var existingStatus = retrieveStatus(fileId); if (existingStatus != null) { - if (existingStatus.getStatus().name().equals(Status.APPROVED.name())) { + if (existingStatus.getStatus().name().equals(AnnotationStatus.APPROVED.name())) { throw new ConflictException("File already exists in status APPROVED"); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusService.java index e68d6c13c..7379133e9 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusService.java @@ -216,7 +216,7 @@ public class FileStatusService { .dossierId(dossierId) .sectionsToReanalyse(sectionsToReanalyse) .fileId(fileId) - .manualRedactions(ManualRedactionsConverter.convert(manualRedactionProviderService.getManualRedactions(fileId))) + .manualRedactions(manualRedactionProviderService.getManualRedactions(fileId)) .dossierTemplateId(dossier.getDossierTemplateId()) .lastProcessed(fileStatus.getLastProcessed()) //TODO diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java index f0fd50623..90748d10a 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java @@ -348,12 +348,12 @@ public class ManualRedactionService { .get(); if (annotationStatus == AnnotationStatus.APPROVED) { - removeFromDictionary(redactionLogEntry.getType(), redactionLogEntry.getValue(), dossierId, fileId); + removeFromDictionary(redactionLogEntry.getTypeId(), redactionLogEntry.getValue(), dossierId, fileId); } else if (annotationStatus == AnnotationStatus.DECLINED) { // if it was previously approved, revert the delete if (idRemoval.getStatus() == AnnotationStatus.APPROVED) { - addToDictionary(redactionLogEntry.getType(), redactionLogEntry.getValue(), dossierId, fileId); + addToDictionary(redactionLogEntry.getTypeId(), redactionLogEntry.getValue(), dossierId, fileId); } } } @@ -466,9 +466,9 @@ public class ManualRedactionService { .findFirst() .get(); if (revert) { - addToDictionary(redactionLogEntry.getType(), redactionLogEntry.getValue(), dossierId, fileId); + addToDictionary(redactionLogEntry.getTypeId(), redactionLogEntry.getValue(), dossierId, fileId); } else { - removeFromDictionary(redactionLogEntry.getType(), redactionLogEntry.getValue(), dossierId, fileId); + removeFromDictionary(redactionLogEntry.getTypeId(), redactionLogEntry.getValue(), dossierId, fileId); } } removeRedactionPersistenceService.updateStatus(fileId, annotationId, status, removeFromDictionary); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionsConverter.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionsConverter.java deleted file mode 100644 index 2b40b1c39..000000000 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionsConverter.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.iqser.red.service.peristence.v1.server.service; - -import com.iqser.red.service.persistence.service.v1.api.model.ManualRedactions; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.Comment; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualImageRecategorization; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualLegalBasisChange; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualRedactionEntry; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.IdRemoval; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualForceRedaction; -import com.iqser.red.service.redaction.v1.model.Point; -import com.iqser.red.service.redaction.v1.model.Rectangle; - -import javax.net.ssl.SSLEngineResult; -import java.util.*; -import java.util.stream.Collectors; - -public class ManualRedactionsConverter { - - //TODO Conversions - - public static com.iqser.red.service.redaction.v1.model.ManualRedactions convert(ManualRedactions manualRedactions) { - - return com.iqser.red.service.redaction.v1.model.ManualRedactions.builder() - .comments(convertComments(manualRedactions.getComments())) - .entriesToAdd(convertManualRedactionEntries(manualRedactions.getEntriesToAdd())) - .idsToRemove(convertRemovalIds(manualRedactions.getIdsToRemove())) - .forceRedacts(convertForceRedacts(manualRedactions.getForceRedactions())) - .manualLegalBasisChanges(convertLegalBasisChanges(manualRedactions.getLegalBasisChanges())) - .imageRecategorizations(convertImageRecategorizations(manualRedactions.getImageRecategorization())) - .build(); - } - - public static Map> convertComments(Map> comments) { - - Map> commentsMap = new HashMap<>(); - - comments.forEach((key, value) -> commentsMap.put(key, convertComment(value))); - - return commentsMap; - - } - - public static List convertComment(List comments) { - return comments.stream().map(comment -> com.iqser.red.service.redaction.v1.model.Comment.builder() - .id(String.valueOf(comment.getId())) - .user(comment.getUser()) - .date(comment.getDate()) - .text(comment.getText()) - .build()) - .collect(Collectors.toList()); - } - - - public static Set convertManualRedactionEntries( - Set manualRedactionEntries) { - - return manualRedactionEntries.stream() - .map(entry -> com.iqser.red.service.redaction.v1.model.ManualRedactionEntry.builder() - .id(entry.getId().getId()) - .user(entry.getUser()) - .type(entry.getTypeId()) - .value(entry.getValue()) - .reason(entry.getReason()) - .legalBasis(entry.getLegalBasis()) - .positions(convertRectangles(entry.getPositions())) - .processedDate(entry.getProcessedDate()) - .requestDate(entry.getRequestDate()) - .softDeletedTime(entry.getSoftDeletedTime()) - .status(com.iqser.red.service.redaction.v1.model.Status.valueOf(entry.getStatus().name())) - .addToDictionary(entry.isAddToDictionary()) - .build()) - .collect(Collectors.toSet()); - } - - private static List convertRectangles(List positions) { - List result = new ArrayList<>(); - - positions.forEach(p ->{ - var rectangle = new Rectangle(); - - rectangle.setPage(p.getPage()); - rectangle.setWidth(p.getWidth()); - rectangle.setHeight(p.getHeight()); - var point = new Point(); - point.setX(p.getTopLeftX()); - point.setY(p.getTopLeftY()); - rectangle.setTopLeft(point); - result.add(rectangle); - }); - return result; - } - - - public static Set convertRemovalIds(Set idsToRemove) { - - return idsToRemove.stream() - .map(idRemoval -> com.iqser.red.service.redaction.v1.model.IdRemoval.builder() - .id(idRemoval.getId().getId()) - .user(idRemoval.getUser()) - .status(com.iqser.red.service.redaction.v1.model.Status.valueOf(idRemoval.getStatus().name())) - .processedDate(idRemoval.getProcessedDate()) - .requestDate(idRemoval.getRequestDate()) - .softDeletedTime(idRemoval.getSoftDeletedTime()) - .removeFromDictionary(idRemoval.isRemoveFromDictionary()) - .build()) - .collect(Collectors.toSet()); - } - - - public static Set convertForceRedacts( - Set forceRedactions) { - - return forceRedactions.stream() - .map(forceRedact -> com.iqser.red.service.redaction.v1.model.ManualForceRedact.builder() - .id(forceRedact.getId().getId()) - .user(forceRedact.getUser()) - .status(com.iqser.red.service.redaction.v1.model.Status.valueOf(forceRedact.getStatus().name())) - .processedDate(forceRedact.getProcessedDate()) - .requestDate(forceRedact.getRequestDate()) - .softDeletedTime(forceRedact.getSoftDeletedTime()) - .legalBasis(forceRedact.getLegalBasis()) - .build()) - .collect(Collectors.toSet()); - } - - - public static Set convertLegalBasisChanges( - Set legalBasisChanges) { - - return legalBasisChanges.stream() - .map(legalBasisChange -> com.iqser.red.service.redaction.v1.model.ManualLegalBasisChange.builder() - .id(legalBasisChange.getId().getId()) - .user(legalBasisChange.getUser()) - .status(com.iqser.red.service.redaction.v1.model.Status.valueOf(legalBasisChange.getStatus().name())) - .processedDate(legalBasisChange.getProcessedDate()) - .requestDate(legalBasisChange.getRequestDate()) - .softDeletedTime(legalBasisChange.getSoftDeletedTime()) - .legalBasis(legalBasisChange.getLegalBasis()) - .build()) - .collect(Collectors.toSet()); - } - - - public static Set convertImageRecategorizations( - Set manualImageRecategorizations) { - - return manualImageRecategorizations.stream() - .map(recategorization -> com.iqser.red.service.redaction.v1.model.ManualImageRecategorization.builder() - .id(recategorization.getId().getId()) - .user(recategorization.getUser()) - .status(com.iqser.red.service.redaction.v1.model.Status.valueOf(recategorization.getStatus().name())) - .type(recategorization.getType()) - .processedDate(recategorization.getProcessedDate()) - .requestDate(recategorization.getRequestDate()) - .softDeletedTime(recategorization.getSoftDeletedTime()) - .build()) - .collect(Collectors.toSet()); - } - -} diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java index b9a2f51c2..24bc66221 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java @@ -25,12 +25,12 @@ public class RedactionLogService { if (withManualRedactions) { var dossier = dossierPersistenceService.getAndValidateDossier(dossierId); - var convertedManualRedactions = ManualRedactionsConverter.convert(manualRedactionService.getManualRedactions(fileId)); + var manualRedactions = manualRedactionService.getManualRedactions(fileId); var fileStatus = fileStatusService.getStatus( fileId); return redactionClient.getRedactionLog(RedactionRequest.builder() .dossierId(dossierId) .fileId(fileId) - .manualRedactions(convertedManualRedactions) + .manualRedactions(manualRedactions) .dossierTemplateId(dossier.getDossierTemplateId()) .excludedPages(fileStatus.getExcludedPages()) .build()); diff --git a/persistence-service-v1/pom.xml b/persistence-service-v1/pom.xml index 957170280..659f535b6 100755 --- a/persistence-service-v1/pom.xml +++ b/persistence-service-v1/pom.xml @@ -35,7 +35,7 @@ com.iqser.red.service redaction-service-api-v1 - 2.67.0 + 3.1.0