added Exception for Invalid Date

This commit is contained in:
schrom01 2022-05-12 22:41:18 +02:00
parent f885092259
commit 3ebf9c5072
2 changed files with 24 additions and 3 deletions

View File

@ -9,7 +9,7 @@ public class Player extends Person implements Participant{
private LocalDate dateOfBirth; private LocalDate dateOfBirth;
public Player(String firstName, String name, String phoneNumber, String dateOfBirth) throws InvalidNameException, InvalidPhoneNumberException { public Player(String firstName, String name, String phoneNumber, String dateOfBirth) throws InvalidNameException, InvalidPhoneNumberException, InvalidDateException {
super(firstName, name, phoneNumber); super(firstName, name, phoneNumber);
setDateOfBirth(dateOfBirth); setDateOfBirth(dateOfBirth);
} }
@ -28,10 +28,16 @@ public class Player extends Person implements Participant{
} }
} }
public void setDateOfBirth(String dateOfBirth) { public void setDateOfBirth(String dateOfBirth) throws InvalidDateException {
if(dateOfBirth.length() > 0) { if(dateOfBirth.length() > 0) {
String[] date = dateOfBirth.split("\\."); String[] date = dateOfBirth.split("\\.");
this.dateOfBirth = LocalDate.of(Integer.valueOf(date[2]), Integer.valueOf(date[1]), Integer.valueOf(date[0])); try{
this.dateOfBirth = LocalDate.of(Integer.valueOf(date[2]), Integer.valueOf(date[1]), Integer.valueOf(date[0]));
} catch (NumberFormatException e) {
e.printStackTrace();
throw new InvalidDateException("Date invalid");
}
} else { } else {
dateOfBirth = null; dateOfBirth = null;
} }
@ -52,4 +58,16 @@ public class Player extends Person implements Participant{
setDateOfBirth(player.getDateOfBirth()); setDateOfBirth(player.getDateOfBirth());
setPhoneNumber(player.getPhoneNumber()); setPhoneNumber(player.getPhoneNumber());
} }
public class InvalidDateException extends Exception {
public InvalidDateException() {
super();
}
public InvalidDateException(String errorMessage) {
super(errorMessage);
}
}
} }

View File

@ -128,6 +128,9 @@ public class TournamentDecorator implements IsObservable{
} catch (Person.InvalidPhoneNumberException e) { } catch (Person.InvalidPhoneNumberException e) {
e.printStackTrace(); //TODO handle and logging e.printStackTrace(); //TODO handle and logging
factoryDecorator.printMessageToFooter("Invalide Telefonnummer",true); factoryDecorator.printMessageToFooter("Invalide Telefonnummer",true);
} catch (Player.InvalidDateException e) {
e.printStackTrace();
factoryDecorator.printMessageToFooter("Ungültiges Geburtsdatum", true);
} }
} }