added Exception for Invalid Date
This commit is contained in:
parent
f885092259
commit
3ebf9c5072
|
@ -9,7 +9,7 @@ public class Player extends Person implements Participant{
|
|||
|
||||
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);
|
||||
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) {
|
||||
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 {
|
||||
dateOfBirth = null;
|
||||
}
|
||||
|
@ -52,4 +58,16 @@ public class Player extends Person implements Participant{
|
|||
setDateOfBirth(player.getDateOfBirth());
|
||||
setPhoneNumber(player.getPhoneNumber());
|
||||
}
|
||||
|
||||
public class InvalidDateException extends Exception {
|
||||
public InvalidDateException() {
|
||||
super();
|
||||
}
|
||||
|
||||
public InvalidDateException(String errorMessage) {
|
||||
super(errorMessage);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -128,6 +128,9 @@ public class TournamentDecorator implements IsObservable{
|
|||
} catch (Person.InvalidPhoneNumberException e) {
|
||||
e.printStackTrace(); //TODO handle and logging
|
||||
factoryDecorator.printMessageToFooter("Invalide Telefonnummer",true);
|
||||
} catch (Player.InvalidDateException e) {
|
||||
e.printStackTrace();
|
||||
factoryDecorator.printMessageToFooter("Ungültiges Geburtsdatum", true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue