diff --git a/LoadingBar.java b/LoadingBar.java index f70c28b..bd422e1 100644 --- a/LoadingBar.java +++ b/LoadingBar.java @@ -75,7 +75,7 @@ public class LoadingBar { private static void askParametersAndRun() throws IOException { var br = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8)); - System.out.print("Ankunftszeit: "); + print("Ankunftszeit: "); String startTimeRaw = br.readLine(); var startTime = LocalTime.parse(startTimeRaw, TIME_FORMATTER).truncatedTo(ChronoUnit.MINUTES); handleMittagspause(br, startTime); @@ -83,16 +83,25 @@ public class LoadingBar { } + private static void println(Object o) { + System.out.println(o); + } + + + private static void print(Object o) { + System.out.print(o); + } + private static void handleMittagspause(BufferedReader br, LocalTime startTime) throws IOException { - System.out.print("Mittagspause verschieben um (optional): "); + print("Mittagspause verschieben um (optional): "); String mittagspauseOffsetRaw = br.readLine(); if (mittagspauseOffsetRaw != null && !mittagspauseOffsetRaw.isBlank()) { var mittagspauseOffset = Integer.parseInt(mittagspauseOffsetRaw); showLoadingBarMittagspause(startTime, mittagspauseOffset); return; } - System.out.print("Mittagspause um (optional): "); + print("Mittagspause um (optional): "); String manualMittagspauseRaw = br.readLine(); if (manualMittagspauseRaw != null && !manualMittagspauseRaw.isBlank()) { var manualMittagspause = LocalTime.parse(manualMittagspauseRaw, TIME_FORMATTER).truncatedTo(ChronoUnit.MINUTES); @@ -104,13 +113,13 @@ public class LoadingBar { private static void handleZapfenstreich(BufferedReader br, LocalTime startTime) throws IOException { - System.out.print("Mittagspause hat gedauert (optional): "); + print("Mittagspause hat gedauert (optional): "); String mittagspauseDurationRaw = br.readLine(); Integer mittagspauseDuration = null; if (mittagspauseDurationRaw != null && !mittagspauseDurationRaw.isBlank()) { mittagspauseDuration = Integer.valueOf(mittagspauseDurationRaw); } - System.out.print("Feierabend verschieben um (optional): "); + print("Feierabend verschieben um (optional): "); String zapfenstreichOffsetRaw = br.readLine(); Integer zapfenstreichOffset = null; if (zapfenstreichOffsetRaw != null && !zapfenstreichOffsetRaw.isBlank()) { @@ -118,7 +127,7 @@ public class LoadingBar { showLoadingBarZapfenstreich(startTime, mittagspauseDuration, zapfenstreichOffset); return; } - System.out.print("Manuelle Uhrzeit Feierabend (optional): "); + print("Manuelle Uhrzeit Feierabend (optional): "); String manualZapfenstreichRaw = br.readLine(); LocalTime manualZapfenstreich = null; if (manualZapfenstreichRaw != null && !manualZapfenstreichRaw.isBlank()) { @@ -195,7 +204,7 @@ public class LoadingBar { } nextArg = args[3]; if (lunchDuration == null) { - System.out.println("Letztes Argument darf nur auf Mittagspausendauer folgen."); + println("Letztes Argument darf nur auf Mittagspausendauer folgen."); System.exit(1); } if (maxZapfenstreich == null && !OFFSET_PATTERN.matcher(nextArg).matches()) { @@ -214,7 +223,7 @@ public class LoadingBar { if (args.length >= 2) { return; } - System.out.println("Mindestens 2 Argumente müssen gegeben sein."); + println("Mindestens 2 Argumente müssen gegeben sein."); printHelp(); System.exit(1); } @@ -241,7 +250,7 @@ public class LoadingBar { } // FSFIXME fine tune message -> HH:mm, mm, -+mm var firstInputPart = timeInput ? "Uhrzeitformat (" + TIME_FORMAT + ")" : "Minutenanzahl (" + LUNCH_DURATION_PATTERN + ")"; var possibleTimeInputPart = !timeInput && timeInputPossible ? " oder Uhrzeitformat (" + TIME_FORMAT + ")" : ""; - System.out.println(errMsgPrefix + " \"" + param + "\" muss " + firstInputPart + possibleTimeInputPart + " entsprechen."); + println(errMsgPrefix + " \"" + param + "\" muss " + firstInputPart + possibleTimeInputPart + " entsprechen."); System.exit(1); } @@ -253,13 +262,13 @@ public class LoadingBar { List sectionDescs = Arrays.stream(DaySection.values()).map((DaySection ds) -> ds.getDescription() + " (" + ds.getParam() + ")") .collect(Collectors.toList()); String sectionDescsJoined = String.join(" oder ", sectionDescs); - System.out.println("Argument nach Startzeit \"" + param + "\" muss Angabe für " + sectionDescsJoined + " sein."); + println("Argument nach Startzeit \"" + param + "\" muss Angabe für " + sectionDescsJoined + " sein."); System.exit(1); } private static void printHelp() { - System.out.println("Mögliche Argumente für LoadingBar:\n" + println("Mögliche Argumente für LoadingBar:\n" + "Normalfall Vormittag (Mittagspause <= " + LATEST_LUNCH_TIME + ")\n" + TIME_FORMAT + " " + DaySection.MITTAG.getParam() + "\n" + "Vormittag mit expliziter Mittagspause (<= " + LATEST_LUNCH_TIME + ")\n" @@ -373,7 +382,7 @@ public class LoadingBar { private static void realShowLoadingBarZapfenstreich(LocalTime startTime, long manualLunchDuration, LocalTime endTime) { if (manualLunchDuration > 0) { var totalWorkTime = LocalTime.MIDNIGHT.plusMinutes(startTime.until(endTime, ChronoUnit.MINUTES) - manualLunchDuration); - System.out.print("Arbeitszeit: " + TIME_FORMATTER.format(totalWorkTime) + "; "); + print("Arbeitszeit: " + TIME_FORMATTER.format(totalWorkTime) + "; "); } showLoadingBar(startTime, endTime); } @@ -386,11 +395,11 @@ public class LoadingBar { passedMinutes = totalMinutes; } else if (passedMinutes < 0) { var now = LocalTime.now().truncatedTo(ChronoUnit.SECONDS); - System.out.println("!ACHTUNG! Startzeit \"" + startTime + ":00\" liegt in der Zukunft von jetzt an (" + now + ") gesehen."); + println("!ACHTUNG! Startzeit \"" + startTime + ":00\" liegt in der Zukunft von jetzt an (" + now + ") gesehen."); } - System.out.println(minutesToTimeString(totalMinutes) + " gesamt; Endzeit: " + TIME_FORMATTER.format(endTime)); + println(minutesToTimeString(totalMinutes) + " gesamt; Endzeit: " + TIME_FORMATTER.format(endTime)); while (passedMinutes < totalMinutes) { - System.out.print(fillLoadingBar(totalMinutes, passedMinutes, true)); + print(fillLoadingBar(totalMinutes, passedMinutes, true)); try { var now = LocalTime.now(); var oneMinuteLater = now.plusMinutes(1).truncatedTo(ChronoUnit.MINUTES); @@ -402,7 +411,7 @@ public class LoadingBar { } passedMinutes++; } - System.out.println(fillLoadingBar(totalMinutes, passedMinutes, false)); + println(fillLoadingBar(totalMinutes, passedMinutes, false)); }