From 3e5604d0881591de6e25f00040cc6ad8f953b5c5 Mon Sep 17 00:00:00 2001 From: Kamil Jan Mularski Date: Thu, 4 Sep 2025 20:47:04 +0200 Subject: [PATCH 1/3] The first solution --- .../basesyntax/PasswordValidationException.java | 13 +++++++++++++ .../java/core/basesyntax/PasswordValidator.java | 5 ++++- src/main/java/core/basesyntax/UserService.java | 12 ++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/core/basesyntax/PasswordValidationException.java b/src/main/java/core/basesyntax/PasswordValidationException.java index c9e7ed3e7..42905b8c7 100644 --- a/src/main/java/core/basesyntax/PasswordValidationException.java +++ b/src/main/java/core/basesyntax/PasswordValidationException.java @@ -1,3 +1,16 @@ package core.basesyntax; //write your code here +public class PasswordValidationException extends Exception { + /** + * Constructs a new exception with the specified detail message. The + * cause is not initialized, and may subsequently be initialized by + * a call to {@link #initCause}. + * + * @param message the detail message. The detail message is saved for + * later retrieval by the {@link #getMessage()} method. + */ + 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..b729fc9a3 100644 --- a/src/main/java/core/basesyntax/PasswordValidator.java +++ b/src/main/java/core/basesyntax/PasswordValidator.java @@ -1,7 +1,10 @@ package core.basesyntax; public class PasswordValidator { - public void validate(String password, String repeatPassword) { + public void validate(String password, String repeatPassword) throws PasswordValidationException { //write your code here + if (password == null || !password.equals(repeatPassword) || password.length() < 10) { + throw new PasswordValidationException("Wrong password"); + } } } diff --git a/src/main/java/core/basesyntax/UserService.java b/src/main/java/core/basesyntax/UserService.java index 52f08d130..de6bc6f69 100644 --- a/src/main/java/core/basesyntax/UserService.java +++ b/src/main/java/core/basesyntax/UserService.java @@ -1,8 +1,20 @@ package core.basesyntax; public class UserService { + private final PasswordValidator validator = new PasswordValidator(); + public void registerUser(User user) { //write your code here + if (user == null) { + System.out.println("User cannot be null"); + return; + } + try { + validator.validate(user.getPassword(), user.getRepeatPassword()); + saveUser(user); + } catch (PasswordValidationException e) { + System.out.println("Your passwords are incorrect. Try again."); + } } public void saveUser(User user) { From 53f8771a9ddedba6664179d6df508db9f57052c3 Mon Sep 17 00:00:00 2001 From: Kamil Jan Mularski Date: Thu, 4 Sep 2025 20:50:09 +0200 Subject: [PATCH 2/3] Update PasswordValidator.java --- src/main/java/core/basesyntax/PasswordValidator.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/core/basesyntax/PasswordValidator.java b/src/main/java/core/basesyntax/PasswordValidator.java index b729fc9a3..6dbeec38d 100644 --- a/src/main/java/core/basesyntax/PasswordValidator.java +++ b/src/main/java/core/basesyntax/PasswordValidator.java @@ -1,9 +1,11 @@ package core.basesyntax; public class PasswordValidator { - public void validate(String password, String repeatPassword) throws PasswordValidationException { + public void validate(String password, String repeatPassword) + throws PasswordValidationException { //write your code here - if (password == null || !password.equals(repeatPassword) || password.length() < 10) { + if (password == null || !password.equals(repeatPassword) + || password.length() < 10) { throw new PasswordValidationException("Wrong password"); } } From 2c0d304ea312634220f77816e8811c70df0b3817 Mon Sep 17 00:00:00 2001 From: Kamil Jan Mularski Date: Thu, 4 Sep 2025 20:52:10 +0200 Subject: [PATCH 3/3] Missed 's' --- src/main/java/core/basesyntax/PasswordValidator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/core/basesyntax/PasswordValidator.java b/src/main/java/core/basesyntax/PasswordValidator.java index 6dbeec38d..1943bb013 100644 --- a/src/main/java/core/basesyntax/PasswordValidator.java +++ b/src/main/java/core/basesyntax/PasswordValidator.java @@ -6,7 +6,7 @@ public void validate(String password, String repeatPassword) //write your code here if (password == null || !password.equals(repeatPassword) || password.length() < 10) { - throw new PasswordValidationException("Wrong password"); + throw new PasswordValidationException("Wrong passwords"); } } }