From c3be3892bd02ac4e26b8eee178e59dad1e61e483 Mon Sep 17 00:00:00 2001 From: fabianArbeit Date: Tue, 29 Jul 2025 09:39:35 +0200 Subject: [PATCH] improved input verification --- LoadingBar.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/LoadingBar.java b/LoadingBar.java index fc3a964..868872f 100644 --- a/LoadingBar.java +++ b/LoadingBar.java @@ -192,7 +192,7 @@ public class LoadingBar { } else if (OFFSET_PATTERN.matcher(nextArg).matches()) { endTimeOffset = Integer.parseInt(nextArg); } else { - verifyDurationFormat(nextArg, "Argument nach " + DaySection.ZAPFENSTREICH.getParam(), true); // FSFIXME erweitere Fehlermeldung + verifyDurationFormat(nextArg, "Argument nach " + DaySection.ZAPFENSTREICH.getParam()); lunchDuration = Integer.parseInt(nextArg); } if (args.length == 3) { @@ -233,26 +233,25 @@ public class LoadingBar { private static void verifyTimeFormat(String param, String errMsgPrefix) { - verifyInputFormat(TIME_PATTERN, param, errMsgPrefix, true, false); + verifyInputFormat(TIME_PATTERN, param, errMsgPrefix, "Uhrzeitformat (" + TIME_FORMAT + ")", false); } - private static void verifyDurationFormat(String param, String errMsgPrefix, boolean timeInputPossible) { - verifyInputFormat(LUNCH_DURATION_PATTERN, param, errMsgPrefix, false, timeInputPossible); + private static void verifyDurationFormat(String param, String errMsgPrefix) { + verifyInputFormat(LUNCH_DURATION_PATTERN, param, errMsgPrefix, "Minutenanzahl (ganze Zahl)", true); } private static void verifyOffsetFormat(String param, String errMsgPrefix) { - verifyInputFormat(OFFSET_PATTERN, param, errMsgPrefix, false, false); + verifyInputFormat(OFFSET_PATTERN, param, errMsgPrefix, "Minutendifferenz (ganze Zahl mit Vorzeichen)", false); } - private static void verifyInputFormat(Pattern pattern, String param, String errMsgPrefix, boolean timeInput, boolean timeInputPossible) { + private static void verifyInputFormat(Pattern pattern, String param, String errMsgPrefix, String firstInputPart, boolean timeInputPossible) { if (pattern.matcher(param).matches()) { return; - } // 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 + ")" : ""; + } + var possibleTimeInputPart = timeInputPossible ? " oder Uhrzeitformat (" + TIME_FORMAT + ")" : ""; println(errMsgPrefix + " \"" + param + "\" muss " + firstInputPart + possibleTimeInputPart + " entsprechen."); System.exit(1); }