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