improved input verification
This commit is contained in:
@@ -192,7 +192,7 @@ public class LoadingBar {
|
|||||||
} else if (OFFSET_PATTERN.matcher(nextArg).matches()) {
|
} else if (OFFSET_PATTERN.matcher(nextArg).matches()) {
|
||||||
endTimeOffset = Integer.parseInt(nextArg);
|
endTimeOffset = Integer.parseInt(nextArg);
|
||||||
} else {
|
} else {
|
||||||
verifyDurationFormat(nextArg, "Argument nach " + DaySection.ZAPFENSTREICH.getParam(), true); // FSFIXME erweitere Fehlermeldung
|
verifyDurationFormat(nextArg, "Argument nach " + DaySection.ZAPFENSTREICH.getParam());
|
||||||
lunchDuration = Integer.parseInt(nextArg);
|
lunchDuration = Integer.parseInt(nextArg);
|
||||||
}
|
}
|
||||||
if (args.length == 3) {
|
if (args.length == 3) {
|
||||||
@@ -233,26 +233,25 @@ public class LoadingBar {
|
|||||||
|
|
||||||
|
|
||||||
private static void verifyTimeFormat(String param, String errMsgPrefix) {
|
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) {
|
private static void verifyDurationFormat(String param, String errMsgPrefix) {
|
||||||
verifyInputFormat(LUNCH_DURATION_PATTERN, param, errMsgPrefix, false, timeInputPossible);
|
verifyInputFormat(LUNCH_DURATION_PATTERN, param, errMsgPrefix, "Minutenanzahl (ganze Zahl)", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static void verifyOffsetFormat(String param, String errMsgPrefix) {
|
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()) {
|
if (pattern.matcher(param).matches()) {
|
||||||
return;
|
return;
|
||||||
} // FSFIXME fine tune message -> HH:mm, mm, -+mm
|
}
|
||||||
var firstInputPart = timeInput ? "Uhrzeitformat (" + TIME_FORMAT + ")" : "Minutenanzahl (" + LUNCH_DURATION_PATTERN + ")";
|
var possibleTimeInputPart = timeInputPossible ? " oder Uhrzeitformat (" + TIME_FORMAT + ")" : "";
|
||||||
var possibleTimeInputPart = !timeInput && timeInputPossible ? " oder Uhrzeitformat (" + TIME_FORMAT + ")" : "";
|
|
||||||
println(errMsgPrefix + " \"" + param + "\" muss " + firstInputPart + possibleTimeInputPart + " entsprechen.");
|
println(errMsgPrefix + " \"" + param + "\" muss " + firstInputPart + possibleTimeInputPart + " entsprechen.");
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user