Fix #48: Korrekte Abschlussmeldung bei SKIPPED-only-Läufen und neutrale Farbe
Problem 1: Falsche Meldung bei reinen SKIPPED-Läufen (0 failed, >0 skipped) - Die Nachricht enthielt immer "fehlgeschlagen" auch wenn failedCount=0 - Neue Logik formuliert Meldung basierend auf tatsächlichen Zählern Problem 2: Falsche rote Farbe für SKIPPED-only-Läufe - Farblogik basierte auf Keywords im Text statt auf failedCount - Neue Logik färbt rot nur wenn failedCount > 0 - Farbe neutral (kein Hintergrund) für SKIPPED-only-Läufe Neue buildSummaryMessage()-Methode mit drei Fällen: - Alle erfolgreich (0 failed, 0 skipped) - Nur übersprungen (0 failed, >0 skipped) - Mit Fehlern (failed > 0) Neue Farblogik in appendSummary() direkt auf failedCount basieren. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
+39
-4
@@ -1662,10 +1662,45 @@ public final class GuiBatchRunTab {
|
||||
if (!outcome.batchCompletedNormally()) {
|
||||
outcome.failureMessage().ifPresent(GuiBatchRunTab.this::appendMessage);
|
||||
}
|
||||
String summaryText = successCount + " erfolgreich, "
|
||||
+ failedCount + " fehlgeschlagen, "
|
||||
+ skippedCount + " übersprungen";
|
||||
appendMessage(summaryText);
|
||||
// Zusammenfassungsmeldung basierend auf tatsächlichen Zählern
|
||||
String summaryText = buildSummaryMessage();
|
||||
if (messageArea.getText() == null || messageArea.getText().isBlank()) {
|
||||
messageArea.setText(summaryText);
|
||||
} else {
|
||||
messageArea.setText(messageArea.getText() + System.lineSeparator() + summaryText);
|
||||
}
|
||||
messageArea.setVisible(true);
|
||||
messageArea.setManaged(true);
|
||||
|
||||
// Farbe basierend auf tatsächlichem FAILED-Zähler, nicht auf Keywords im Text
|
||||
if (failedCount > 0) {
|
||||
messageArea.setStyle("-fx-control-inner-background: #ffebee;");
|
||||
} else if (successCount > 0) {
|
||||
messageArea.setStyle("-fx-control-inner-background: #e8f5e9;");
|
||||
} else {
|
||||
messageArea.setStyle(null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Erzeugt die Abschlussmeldung des Verarbeitungslaufs basierend auf den
|
||||
* tatsächlichen Zählern (erfolgreich, fehlgeschlagen, übersprungen).
|
||||
*
|
||||
* @return die formatierte Zusammenfassungsmeldung
|
||||
*/
|
||||
private String buildSummaryMessage() {
|
||||
if (failedCount == 0 && skippedCount == 0) {
|
||||
// Alle erfolgreich verarbeitet
|
||||
return "Lauf erfolgreich abgeschlossen. " + successCount + " erfolgreich.";
|
||||
} else if (failedCount == 0) {
|
||||
// Nur übersprungene Dateien, keine Fehler
|
||||
return "Lauf abgeschlossen. " + successCount + " erfolgreich, "
|
||||
+ skippedCount + " übersprungen.";
|
||||
} else {
|
||||
// Mit fehlgeschlagenen Dateien
|
||||
return "Lauf abgeschlossen. " + successCount + " erfolgreich, "
|
||||
+ failedCount + " fehlgeschlagen, " + skippedCount + " übersprungen.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user