RED-9255: implement file exchange #554

Merged
kilian.schuettler1 merged 13 commits from RED-9255 into master 2024-06-20 16:49:01 +02:00
2 changed files with 20 additions and 2 deletions
Showing only changes of commit 999ecafdf8 - Show all commits

View File

@ -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()));

View File

@ -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<FileModel> 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);
}
}