From 6f613d1eedb07fa26cb30093b711b52bb8535519 Mon Sep 17 00:00:00 2001 From: aoezyetimoglu Date: Mon, 27 Sep 2021 09:22:52 +0200 Subject: [PATCH] RED-2286: FileAttributes were passed to redaction-service in persistence service * commit '8bd2ab2ddc78d18609e86c927ffa2b681bf77d91': RED-2232: Upgraded redaction-report-service and pdftron-redaction-service --- .../v1/server/service/FileStatusService.java | 48 ++++++++++++++----- 1 file changed, 37 insertions(+), 11 deletions(-) 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 5e8a9d0d5..82e02a556 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 @@ -10,17 +10,22 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.UserN import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttribute; import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; import com.iqser.red.service.redaction.v1.model.AnalyzeRequest; import com.iqser.red.service.redaction.v1.model.AnalyzeResult; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; + import org.apache.commons.lang3.StringUtils; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Service; import javax.transaction.Transactional; + import java.time.OffsetDateTime; +import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -50,6 +55,7 @@ public class FileStatusService { public void setExcludedPages(String fileId, Set excludedPages) { + fileStatusPersistenceService.setExcludedPages(fileId, excludedPages); } @@ -60,13 +66,9 @@ public class FileStatusService { } - public void setStatusSuccessful(String dossierId, String fileId, FileStatus status, - AnalyzeResult analyzeResult) { + public void setStatusSuccessful(String dossierId, String fileId, FileStatus status, AnalyzeResult analyzeResult) { - fileStatusPersistenceService.updateStatusSuccessful(fileId, analyzeResult.getNumberOfPages(), status, - analyzeResult.isHasUpdates(), analyzeResult.getDictionaryVersion(), analyzeResult.getRulesVersion(), - analyzeResult.getLegalBasisVersion(), analyzeResult.getDuration(), analyzeResult.getDossierDictionaryVersion(), - analyzeResult.getAnalysisVersion()); + fileStatusPersistenceService.updateStatusSuccessful(fileId, analyzeResult.getNumberOfPages(), status, analyzeResult.isHasUpdates(), analyzeResult.getDictionaryVersion(), analyzeResult.getRulesVersion(), analyzeResult.getLegalBasisVersion(), analyzeResult.getDuration(), analyzeResult.getDossierDictionaryVersion(), analyzeResult.getAnalysisVersion()); } @@ -92,9 +94,11 @@ public class FileStatusService { @Transactional public void setStatusReprocess(String dossierId, String fileId, int priority) { + setStatusReprocess(dossierId, fileId, priority, Sets.newHashSet()); } + @Transactional public void setStatusReprocess(String dossierId, String fileId, int priority, Set sectionsToReanalyse) { @@ -140,6 +144,7 @@ public class FileStatusService { addToAnalysisQueue(dossierId, fileId, priority, Sets.newHashSet()); } + public void setStatusIndexingSuccessful(String fileId) { File fileStatus = fileStatusPersistenceService.getStatus(fileId); @@ -152,6 +157,7 @@ public class FileStatusService { fileStatusPersistenceService.updateStatus(fileId, FileStatus.INDEXING); } + public void setStatusError(String fileId) { fileStatusPersistenceService.updateStatus(fileId, FileStatus.ERROR); @@ -208,7 +214,7 @@ public class FileStatusService { return; } -// var fileAttributes = fileStatus.getFileAttributes(); + var fileAttributes = fileStatus.getFileAttributes(); setStatusProcessing(fileId); @@ -219,13 +225,11 @@ public class FileStatusService { .manualRedactions(manualRedactionProviderService.getManualRedactions(fileId)) .dossierTemplateId(dossier.getDossierTemplateId()) .lastProcessed(fileStatus.getLastProcessed()) - //TODO - // .fileAttributes(fileAttributes) + .fileAttributes(convert(fileAttributes)) .build(); if (!fileStatus.getStatus().equals(FileStatus.UNPROCESSED) && !fileStatus.getStatus() - .equals(FileStatus.FULLREPROCESS) && fileStatus.getRulesVersion() == rulesController.getVersion(dossier.getDossierTemplateId()) && (fileStatus - .getLastFileAttributeChange() == null || fileStatus.getLastProcessed() + .equals(FileStatus.FULLREPROCESS) && fileStatus.getRulesVersion() == rulesController.getVersion(dossier.getDossierTemplateId()) && (fileStatus.getLastFileAttributeChange() == null || fileStatus.getLastProcessed() .isAfter(fileStatus.getLastFileAttributeChange()))) { analyseRequest.setReanalyseOnlyIfPossible(true); } else { @@ -263,6 +267,7 @@ public class FileStatusService { fileStatusPersistenceService.updateLastOCRTime(fileId, OffsetDateTime.now()); } + @Transactional public void overwriteFile(String dossierId, String fileId, String uploader, String filename, int length) { @@ -270,8 +275,29 @@ public class FileStatusService { setStatusFullReprocess(dossierId, fileId, length); } + public List getAllStatuses() { return fileStatusPersistenceService.getAllStatuses(); } + + + private List convert( + List fileAttributes) { + + List fileAttributeList = new ArrayList<>(); + + for (FileAttribute fileAttribute : fileAttributes) { + com.iqser.red.service.redaction.v1.model.FileAttribute attribute = com.iqser.red.service.redaction.v1.model.FileAttribute.builder() + .id(fileAttribute.getFileAttributeConfig().getId()) + .label(fileAttribute.getFileAttributeConfig().getLabel()) + .placeholder(fileAttribute.getFileAttributeConfig().getPlaceholder()) + .value(fileAttribute.getValue()) + .build(); + fileAttributeList.add(attribute); + } + + return fileAttributeList; + } + }