From d60d0509483fed15c8b3bd2c4f467f4bebb1b679 Mon Sep 17 00:00:00 2001 From: Marcus van Elst Date: Wed, 1 Apr 2026 20:34:15 +0200 Subject: [PATCH] M3-AP-005: Batchlauf im Use-Case integriert und sauber von Bootstrap entkoppelt --- .../usecase/M2BatchRunProcessingUseCase.java | 139 ++++++-- .../M2BatchRunProcessingUseCaseTest.java | 306 +++++++++++++++--- .../umbenenner/bootstrap/BootstrapRunner.java | 48 ++- 3 files changed, 413 insertions(+), 80 deletions(-) diff --git a/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/usecase/M2BatchRunProcessingUseCase.java b/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/usecase/M2BatchRunProcessingUseCase.java index a45bf84..378f355 100644 --- a/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/usecase/M2BatchRunProcessingUseCase.java +++ b/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/usecase/M2BatchRunProcessingUseCase.java @@ -3,41 +3,56 @@ package de.gecheckt.pdf.umbenenner.application.usecase; import de.gecheckt.pdf.umbenenner.application.config.StartConfiguration; import de.gecheckt.pdf.umbenenner.application.port.in.BatchRunOutcome; import de.gecheckt.pdf.umbenenner.application.port.in.RunBatchProcessingUseCase; +import de.gecheckt.pdf.umbenenner.application.port.out.PdfTextExtractionPort; import de.gecheckt.pdf.umbenenner.application.port.out.RunLockPort; import de.gecheckt.pdf.umbenenner.application.port.out.RunLockUnavailableException; +import de.gecheckt.pdf.umbenenner.application.port.out.SourceDocumentAccessException; +import de.gecheckt.pdf.umbenenner.application.port.out.SourceDocumentCandidatesPort; +import de.gecheckt.pdf.umbenenner.application.service.M3PreCheckEvaluator; import de.gecheckt.pdf.umbenenner.domain.model.BatchRunContext; +import de.gecheckt.pdf.umbenenner.domain.model.M3PreCheckFailed; +import de.gecheckt.pdf.umbenenner.domain.model.M3PreCheckPassed; +import de.gecheckt.pdf.umbenenner.domain.model.M3ProcessingDecision; +import de.gecheckt.pdf.umbenenner.domain.model.PdfExtractionContentError; +import de.gecheckt.pdf.umbenenner.domain.model.PdfExtractionResult; +import de.gecheckt.pdf.umbenenner.domain.model.PdfExtractionSuccess; +import de.gecheckt.pdf.umbenenner.domain.model.PdfExtractionTechnicalError; +import de.gecheckt.pdf.umbenenner.domain.model.SourceDocumentCandidate; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.util.List; + /** - * M2 implementation of {@link RunBatchProcessingUseCase}. + * M3 batch processing implementation of {@link RunBatchProcessingUseCase}. *

- * This use case orchestrates the batch processing workflow with start protection - * and controlled execution lifecycle, but without actual document processing. - *

- * Responsibilities: - *