1
0

PreCheckFailed auf strukturierten Fehlergrund umgestellt

This commit is contained in:
2026-04-02 15:49:42 +02:00
parent 747f22438d
commit a703eca5a4
8 changed files with 45 additions and 28 deletions

View File

@@ -3,6 +3,7 @@ package de.gecheckt.pdf.umbenenner.application.service;
import de.gecheckt.pdf.umbenenner.application.config.StartConfiguration;
import de.gecheckt.pdf.umbenenner.domain.model.DocumentProcessingOutcome;
import de.gecheckt.pdf.umbenenner.domain.model.PreCheckFailed;
import de.gecheckt.pdf.umbenenner.domain.model.PreCheckFailureReason;
import de.gecheckt.pdf.umbenenner.domain.model.TechnicalDocumentError;
import de.gecheckt.pdf.umbenenner.domain.model.PdfExtractionContentError;
import de.gecheckt.pdf.umbenenner.domain.model.PdfExtractionResult;
@@ -67,7 +68,7 @@ public class DocumentProcessingService {
case PdfExtractionContentError contentError ->
// PDF content not extractable: classify as pre-check failed (deterministic content error)
new PreCheckFailed(candidate, "PDF content not extractable: " + contentError.reason());
new PreCheckFailed(candidate, PreCheckFailureReason.CONTENT_NOT_EXTRACTABLE);
case PdfExtractionTechnicalError technicalError ->
// Technical failure during extraction: potentially retryable

View File

@@ -61,7 +61,7 @@ public class PreCheckEvaluator {
if (!hasUsableText(extraction.extractedText())) {
return new PreCheckFailed(
candidate,
PreCheckFailureReason.NO_USABLE_TEXT.getDescription()
PreCheckFailureReason.NO_USABLE_TEXT
);
}
@@ -69,7 +69,7 @@ public class PreCheckEvaluator {
if (extraction.pageCount().exceedsLimit(configuration.maxPages())) {
return new PreCheckFailed(
candidate,
PreCheckFailureReason.PAGE_LIMIT_EXCEEDED.getDescription()
PreCheckFailureReason.PAGE_LIMIT_EXCEEDED
);
}

View File

@@ -10,7 +10,6 @@ import de.gecheckt.pdf.umbenenner.application.port.out.SourceDocumentAccessExcep
import de.gecheckt.pdf.umbenenner.application.port.out.SourceDocumentCandidatesPort;
import de.gecheckt.pdf.umbenenner.application.service.DocumentProcessingService;
import de.gecheckt.pdf.umbenenner.domain.model.BatchRunContext;
import de.gecheckt.pdf.umbenenner.domain.model.DocumentProcessingOutcome;
import de.gecheckt.pdf.umbenenner.domain.model.PreCheckFailed;
import de.gecheckt.pdf.umbenenner.domain.model.PreCheckPassed;
import de.gecheckt.pdf.umbenenner.domain.model.TechnicalDocumentError;
@@ -187,7 +186,7 @@ public class DefaultBatchRunProcessingUseCase implements BatchRunProcessingUseCa
candidate.uniqueIdentifier());
case PreCheckFailed failed ->
LOG.info("Pre-checks FAILED for '{}': {} (Deterministic content error may retry in later run).",
candidate.uniqueIdentifier(), failed.failureReason());
candidate.uniqueIdentifier(), failed.failureReasonDescription());
case TechnicalDocumentError technicalError ->
LOG.warn("Processing FAILED for '{}': {} (Technical error may retry in later run).",
candidate.uniqueIdentifier(), technicalError.errorMessage());