From 999ecafdf8b6bd83cd2c36e32cf8a25d31441929 Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Thu, 20 Jun 2024 11:21:34 +0200 Subject: [PATCH] RED-9255: implement file exchange * add simplified text file to layoutparsing file export * add validation for fileId/dossierId combinations --- .../processor/service/ReanalysisService.java | 3 +-- .../v1/api/shared/model/FileStatusFilter.java | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ReanalysisService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ReanalysisService.java index 2edbef718..d9c8e81e5 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ReanalysisService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ReanalysisService.java @@ -270,9 +270,8 @@ public class ReanalysisService { fileStatusService.getDossierTemplateStatus(dossierTemplateId) .stream() - .filter(file -> !file.isSoftOrHardDeleted()) .filter(file -> isInList(file, reAnalysisSettings)) - .filter(file -> file.getProcessingStatus().equals(ProcessingStatus.ERROR) || !reAnalysisSettings.onlyErrorFiles()) + .filter(reAnalysisSettings.fileStatusFilter().fileStatusPredicate()) .peek(file -> log.info("Reanalyzing file {}", file.getId())) .forEach(file -> fileStatusService.setStatusFullReprocess(file.getDossierId(), file.getId(), false, reAnalysisSettings.repeatStructureAnalysis())); diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/FileStatusFilter.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/FileStatusFilter.java index 60768e994..0e8b705c9 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/FileStatusFilter.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/FileStatusFilter.java @@ -2,7 +2,9 @@ package com.iqser.red.service.persistence.service.v1.api.shared.model; import java.util.ArrayList; import java.util.List; +import java.util.function.Predicate; +import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileModel; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.ProcessingStatus; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus; @@ -29,4 +31,21 @@ public class FileStatusFilter { this.includeHardDeletedFiles = false; } + + public Predicate fileStatusPredicate() { + + if (this.getProcessingStatusList() == null) { + this.setProcessingStatusList(new ArrayList<>()); + } + + if (this.getWorkflowStatusList() == null) { + this.setWorkflowStatusList(new ArrayList<>()); + } + + return fileStatus -> (this.getProcessingStatusList().isEmpty() || this.getProcessingStatusList().contains(fileStatus.getProcessingStatus())) + && (this.getWorkflowStatusList().isEmpty() || this.getWorkflowStatusList().contains(fileStatus.getWorkflowStatus())) + && (this.isIncludeSoftDeletedFiles() || fileStatus.getDeleted() == null) + && (this.isIncludeHardDeletedFiles() || fileStatus.getHardDeletedTime() == null); + } + }