diff --git a/src/main/java/core/basesyntax/Main.java b/src/main/java/core/basesyntax/Main.java new file mode 100644 index 000000000..d95a907e3 --- /dev/null +++ b/src/main/java/core/basesyntax/Main.java @@ -0,0 +1,16 @@ +package core.basesyntax; + +public class Main { + public static void main(String[] agr) { + UserService userService = new UserService(); + User bob = new User("bob@email.com", "1234567890", "1234567890"); + User alice = new User("alice@gmail.com", "1234567890", "0987654321"); + User mark = new User("mark@gmail.com", "1234", "1234"); + User marie = new User("marie@gmail.com", "1234567890", null); + User[] users = new User[]{bob, alice, mark, marie}; + + for (User user : users) { + userService.registerUser(user); + } + } +} diff --git a/src/main/java/core/basesyntax/PasswordValidationException.java b/src/main/java/core/basesyntax/PasswordValidationException.java index c9e7ed3e7..70c1d49fd 100644 --- a/src/main/java/core/basesyntax/PasswordValidationException.java +++ b/src/main/java/core/basesyntax/PasswordValidationException.java @@ -1,3 +1,7 @@ package core.basesyntax; -//write your code here +public class PasswordValidationException extends Exception { + public PasswordValidationException(String message) { + super(message); + } +} diff --git a/src/main/java/core/basesyntax/PasswordValidator.java b/src/main/java/core/basesyntax/PasswordValidator.java index d4655c9f5..a97f1b7e3 100644 --- a/src/main/java/core/basesyntax/PasswordValidator.java +++ b/src/main/java/core/basesyntax/PasswordValidator.java @@ -1,7 +1,11 @@ package core.basesyntax; public class PasswordValidator { - public void validate(String password, String repeatPassword) { - //write your code here + public void validate(String password, String repeatPassword) + throws PasswordValidationException { + + if (password == null || password.length() < 10 || !password.equals(repeatPassword)) { + throw new PasswordValidationException("Wrong passwords"); + } } } diff --git a/src/main/java/core/basesyntax/UserService.java b/src/main/java/core/basesyntax/UserService.java index 52f08d130..fdf395c6d 100644 --- a/src/main/java/core/basesyntax/UserService.java +++ b/src/main/java/core/basesyntax/UserService.java @@ -1,8 +1,16 @@ package core.basesyntax; public class UserService { + private final PasswordValidator passwordValidator = new PasswordValidator(); + public void registerUser(User user) { - //write your code here + try { + passwordValidator.validate(user.getPassword(), user.getRepeatPassword()); + } catch (PasswordValidationException e) { + System.out.println("Your passwords are incorrect. Try again."); + return; + } + saveUser(user); } public void saveUser(User user) {