From a0624c76d039217d9a1a64f35c895e2320322bc2 Mon Sep 17 00:00:00 2001 From: Anastasiia Dihich Date: Sun, 22 Sep 2024 15:54:46 +0300 Subject: [PATCH 1/2] checked exception --- .../core/basesyntax/PasswordValidationException.java | 6 +++++- src/main/java/core/basesyntax/PasswordValidator.java | 9 +++++++-- src/main/java/core/basesyntax/UserService.java | 8 +++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/core/basesyntax/PasswordValidationException.java b/src/main/java/core/basesyntax/PasswordValidationException.java index c9e7ed3e7..bd74ff649 100644 --- a/src/main/java/core/basesyntax/PasswordValidationException.java +++ b/src/main/java/core/basesyntax/PasswordValidationException.java @@ -1,3 +1,7 @@ package core.basesyntax; + public class PasswordValidationException extends Exception { + public PasswordValidationException(String message) { + super(message); + } +} -//write your code here diff --git a/src/main/java/core/basesyntax/PasswordValidator.java b/src/main/java/core/basesyntax/PasswordValidator.java index d4655c9f5..01fe45420 100644 --- a/src/main/java/core/basesyntax/PasswordValidator.java +++ b/src/main/java/core/basesyntax/PasswordValidator.java @@ -1,7 +1,12 @@ 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 || repeatPassword == null) { + throw new PasswordValidationException("Passwords cannot be null"); + } + if (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..d5a8d0e47 100644 --- a/src/main/java/core/basesyntax/UserService.java +++ b/src/main/java/core/basesyntax/UserService.java @@ -1,8 +1,14 @@ package core.basesyntax; public class UserService { + PasswordValidator passwordValidator = new PasswordValidator(); public void registerUser(User user) { - //write your code here + try { + passwordValidator.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 4b575729047a34ffe7e8977560465b150aadb212 Mon Sep 17 00:00:00 2001 From: Anastasiia Dihich Date: Sun, 22 Sep 2024 17:40:33 +0300 Subject: [PATCH 2/2] checkstyle maven --- .../PasswordValidationException.java | 4 +-- .../core/basesyntax/PasswordValidator.java | 8 ++++- src/main/java/core/basesyntax/User.java | 30 +++++-------------- .../java/core/basesyntax/UserService.java | 3 +- .../java/core/basesyntax/UserServiceTest.java | 1 + 5 files changed, 19 insertions(+), 27 deletions(-) diff --git a/src/main/java/core/basesyntax/PasswordValidationException.java b/src/main/java/core/basesyntax/PasswordValidationException.java index bd74ff649..70c1d49fd 100644 --- a/src/main/java/core/basesyntax/PasswordValidationException.java +++ b/src/main/java/core/basesyntax/PasswordValidationException.java @@ -1,7 +1,7 @@ package core.basesyntax; - public class PasswordValidationException extends Exception { + +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 01fe45420..10b89d10c 100644 --- a/src/main/java/core/basesyntax/PasswordValidator.java +++ b/src/main/java/core/basesyntax/PasswordValidator.java @@ -1,10 +1,16 @@ package core.basesyntax; public class PasswordValidator { - public void validate(String password, String repeatPassword) throws PasswordValidationException { + public void validate(String password, String repeatPassword) + throws PasswordValidationException { if (password == null || repeatPassword == null) { throw new PasswordValidationException("Passwords cannot be null"); } + + if (password.isEmpty() || repeatPassword.isEmpty()) { + throw new PasswordValidationException("Passwords cannot be empty"); + } + if (password.length() < 10 || !password.equals(repeatPassword)) { throw new PasswordValidationException("Wrong passwords"); } diff --git a/src/main/java/core/basesyntax/User.java b/src/main/java/core/basesyntax/User.java index e702946a8..f95d30fb1 100644 --- a/src/main/java/core/basesyntax/User.java +++ b/src/main/java/core/basesyntax/User.java @@ -1,9 +1,9 @@ package core.basesyntax; public class User { - private String email; - private String password; - private String repeatPassword; + private final String email; + private final String password; + private final String repeatPassword; public User(String email, String password, String repeatPassword) { this.email = email; @@ -11,36 +11,20 @@ public User(String email, String password, String repeatPassword) { this.repeatPassword = repeatPassword; } - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - public String getPassword() { return password; } - public void setPassword(String password) { - this.password = password; - } - public String getRepeatPassword() { return repeatPassword; } - public void setRepeatPassword(String repeatPassword) { - this.repeatPassword = repeatPassword; - } - @Override public String toString() { return "User{" - + "email='" + email + '\'' - + ", password='" + password + '\'' - + ", repeatPassword='" + repeatPassword + '\'' - + '}'; + + "email='" + email + '\'' + + ", password='" + password + '\'' + + ", repeatPassword='" + repeatPassword + '\'' + + '}'; } } diff --git a/src/main/java/core/basesyntax/UserService.java b/src/main/java/core/basesyntax/UserService.java index d5a8d0e47..69925eaa9 100644 --- a/src/main/java/core/basesyntax/UserService.java +++ b/src/main/java/core/basesyntax/UserService.java @@ -1,7 +1,8 @@ package core.basesyntax; public class UserService { - PasswordValidator passwordValidator = new PasswordValidator(); + private final PasswordValidator passwordValidator = new PasswordValidator(); + public void registerUser(User user) { try { passwordValidator.validate(user.getPassword(), user.getRepeatPassword()); diff --git a/src/test/java/core/basesyntax/UserServiceTest.java b/src/test/java/core/basesyntax/UserServiceTest.java index 757d0f4ec..8e2d37b7e 100644 --- a/src/test/java/core/basesyntax/UserServiceTest.java +++ b/src/test/java/core/basesyntax/UserServiceTest.java @@ -5,6 +5,7 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; + import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.lang.reflect.Method;