Umsetzung von Meilenstein M7
This commit is contained in:
@@ -30,6 +30,7 @@ import de.gecheckt.pdf.umbenenner.application.config.RuntimeConfiguration;
|
||||
import de.gecheckt.pdf.umbenenner.application.config.startup.StartConfiguration;
|
||||
import de.gecheckt.pdf.umbenenner.application.port.in.BatchRunOutcome;
|
||||
import de.gecheckt.pdf.umbenenner.application.port.in.BatchRunProcessingUseCase;
|
||||
import de.gecheckt.pdf.umbenenner.application.port.out.AiContentSensitivity;
|
||||
import de.gecheckt.pdf.umbenenner.application.port.out.AiInvocationPort;
|
||||
import de.gecheckt.pdf.umbenenner.application.port.out.ClockPort;
|
||||
import de.gecheckt.pdf.umbenenner.application.port.out.ConfigurationPort;
|
||||
@@ -204,7 +205,7 @@ public class BootstrapRunner {
|
||||
this.schemaInitPortFactory = SqliteSchemaInitializationAdapter::new;
|
||||
this.useCaseFactory = (startConfig, lock) -> {
|
||||
// Extract runtime configuration from startup configuration
|
||||
RuntimeConfiguration runtimeConfig = new RuntimeConfiguration(startConfig.maxPages());
|
||||
RuntimeConfiguration runtimeConfig = new RuntimeConfiguration(startConfig.maxPages(), startConfig.maxRetriesTransient(), resolveAiContentSensitivity(startConfig.logAiSensitive()));
|
||||
|
||||
String jdbcUrl = buildJdbcUrl(startConfig);
|
||||
FingerprintPort fingerprintPort = new Sha256FingerprintAdapter();
|
||||
@@ -218,7 +219,9 @@ public class BootstrapRunner {
|
||||
TargetFolderPort targetFolderPort = new FilesystemTargetFolderAdapter(startConfig.targetFolder());
|
||||
TargetFileCopyPort targetFileCopyPort = new FilesystemTargetFileCopyAdapter(startConfig.targetFolder());
|
||||
DocumentProcessingCoordinator documentProcessingCoordinator =
|
||||
new DocumentProcessingCoordinator(documentRecordRepository, processingAttemptRepository, unitOfWorkPort, targetFolderPort, targetFileCopyPort, coordinatorLogger);
|
||||
new DocumentProcessingCoordinator(documentRecordRepository, processingAttemptRepository,
|
||||
unitOfWorkPort, targetFolderPort, targetFileCopyPort, coordinatorLogger,
|
||||
startConfig.maxRetriesTransient());
|
||||
|
||||
// Wire AI naming pipeline
|
||||
AiInvocationPort aiInvocationPort = new OpenAiHttpAdapter(startConfig);
|
||||
@@ -408,6 +411,23 @@ public class BootstrapRunner {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Derives the {@link AiContentSensitivity} decision from the raw {@code log.ai.sensitive}
|
||||
* configuration flag.
|
||||
* <p>
|
||||
* The safe default is {@link AiContentSensitivity#PROTECT_SENSITIVE_CONTENT}.
|
||||
* {@link AiContentSensitivity#LOG_SENSITIVE_CONTENT} is only produced when
|
||||
* {@code logAiSensitive} is explicitly {@code true}.
|
||||
*
|
||||
* @param logAiSensitive the parsed boolean value of the {@code log.ai.sensitive} property
|
||||
* @return the appropriate sensitivity decision; never {@code null}
|
||||
*/
|
||||
static AiContentSensitivity resolveAiContentSensitivity(boolean logAiSensitive) {
|
||||
return logAiSensitive
|
||||
? AiContentSensitivity.LOG_SENSITIVE_CONTENT
|
||||
: AiContentSensitivity.PROTECT_SENSITIVE_CONTENT;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the JDBC URL for the SQLite database from the configured file path.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user