RED-9255: implement file exchange

* add simplified text file to layoutparsing file export
* add validation for fileId/dossierId combinations
This commit is contained in:
Kilian Schuettler 2024-06-20 11:22:39 +02:00
parent 999ecafdf8
commit cdece93037
3 changed files with 12 additions and 12 deletions

View File

@ -23,7 +23,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.FileSta
import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusMapper;
import com.iqser.red.service.persistence.management.v1.processor.service.ReanalysisService;
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.service.FileExchangeExportService;
import com.iqser.red.service.persistence.service.v1.api.external.model.ReAnalysisSettings;
import com.iqser.red.service.persistence.service.v1.api.external.model.ReanalysisSettings;
import com.iqser.red.service.persistence.service.v1.api.external.resource.SupportResource;
import com.iqser.red.service.persistence.service.v1.api.shared.model.DownloadResponse;
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatus;
@ -48,10 +48,10 @@ public class SupportController implements SupportResource {
@Override
public void reanalyzeFiles(String dossierTemplateId, ReAnalysisSettings reAnalysisSettings) {
public void reanalyzeFiles(String dossierTemplateId, ReanalysisSettings reanalysisSettings) {
log.info("Scheduling reanalysis for all files in Dossier Tempalte {} with settings {}", dossierTemplateId, reAnalysisSettings);
reanalysisService.reanalyzeTemplate(dossierTemplateId, reAnalysisSettings);
log.info("Scheduling reanalysis for all files in Dossier Tempalte {} with settings {}", dossierTemplateId, reanalysisSettings);
reanalysisService.reanalyzeTemplate(dossierTemplateId, reanalysisSettings);
}

View File

@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.multipart.MultipartFile;
import com.iqser.red.service.persistence.service.v1.api.external.model.ReAnalysisSettings;
import com.iqser.red.service.persistence.service.v1.api.external.model.ReanalysisSettings;
import com.iqser.red.service.persistence.service.v1.api.shared.model.DownloadResponse;
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatus;
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatusFilter;
@ -55,7 +55,7 @@ public interface SupportResource {
@Operation(summary = "Reanalyze all files in dossier template", description = "None")
@ApiResponses(value = {@ApiResponse(responseCode = "204", description = "OK"), @ApiResponse(responseCode = "403", description = "Forbidden")})
void reanalyzeFiles(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId,
@RequestBody ReAnalysisSettings reAnalysisSettings);
@RequestBody ReanalysisSettings reAnalysisSettings);
@PostMapping(value = ERROR_REANALYSIS_REST_PATH)

View File

@ -9,7 +9,7 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.BadRe
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
import com.iqser.red.service.persistence.service.v1.api.external.model.ReAnalysisSettings;
import com.iqser.red.service.persistence.service.v1.api.external.model.ReanalysisSettings;
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.DeleteImportedRedactionsRequest;
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.FileType;
@ -266,19 +266,19 @@ public class ReanalysisService {
}
public void reanalyzeTemplate(String dossierTemplateId, ReAnalysisSettings reAnalysisSettings) {
public void reanalyzeTemplate(String dossierTemplateId, ReanalysisSettings reanalysisSettings) {
fileStatusService.getDossierTemplateStatus(dossierTemplateId)
.stream()
.filter(file -> isInList(file, reAnalysisSettings))
.filter(reAnalysisSettings.fileStatusFilter().fileStatusPredicate())
.filter(file -> isInList(file, reanalysisSettings))
.filter(reanalysisSettings.fileStatusFilter().fileStatusPredicate())
.peek(file -> log.info("Reanalyzing file {}", file.getId()))
.forEach(file -> fileStatusService.setStatusFullReprocess(file.getDossierId(), file.getId(), false, reAnalysisSettings.repeatStructureAnalysis()));
.forEach(file -> fileStatusService.setStatusFullReprocess(file.getDossierId(), file.getId(), false, reanalysisSettings.repeatStructureAnalysis()));
}
private boolean isInList(FileModel file, ReAnalysisSettings reAnalysisSettings) {
private boolean isInList(FileModel file, ReanalysisSettings reAnalysisSettings) {
return (reAnalysisSettings.fileIds().isEmpty() || reAnalysisSettings.fileIds().contains(file.getId())) //
&& (reAnalysisSettings.dossierIds().isEmpty() || reAnalysisSettings.dossierIds().contains(file.getDossierId()));