From 38ad1b5bd3adf1c02427a5b3eb50b5a86c3565bd Mon Sep 17 00:00:00 2001 From: AlCor Date: Mon, 1 Mar 2021 12:12:30 +0400 Subject: [PATCH] no message --- java-exceptions-template.iml | 23 +++++++++++++++++++ .../online/exception/NotAccessException.java | 6 +++++ .../NotCorrectPasswordException.java | 7 ++++++ .../exception/SimplePasswordException.java | 6 +++++ .../UserAlreadyRegisteredException.java | 6 +++++ .../exception/UserNotFoundException.java | 7 ++++++ .../online/service/AuthenticationService.java | 10 +++++++- .../service/IAuthenticationService.java | 4 +++- .../izh/rd/online/service/IUserService.java | 7 ++++-- .../izh/rd/online/service/UserService.java | 20 +++++++++++++--- 10 files changed, 89 insertions(+), 7 deletions(-) create mode 100644 java-exceptions-template.iml create mode 100644 src/main/java/com/epam/izh/rd/online/exception/NotAccessException.java create mode 100644 src/main/java/com/epam/izh/rd/online/exception/NotCorrectPasswordException.java create mode 100644 src/main/java/com/epam/izh/rd/online/exception/SimplePasswordException.java create mode 100644 src/main/java/com/epam/izh/rd/online/exception/UserAlreadyRegisteredException.java create mode 100644 src/main/java/com/epam/izh/rd/online/exception/UserNotFoundException.java diff --git a/java-exceptions-template.iml b/java-exceptions-template.iml new file mode 100644 index 0000000..933182c --- /dev/null +++ b/java-exceptions-template.iml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/epam/izh/rd/online/exception/NotAccessException.java b/src/main/java/com/epam/izh/rd/online/exception/NotAccessException.java new file mode 100644 index 0000000..0b23507 --- /dev/null +++ b/src/main/java/com/epam/izh/rd/online/exception/NotAccessException.java @@ -0,0 +1,6 @@ +package com.epam.izh.rd.online.exception; + +public class NotAccessException extends Exception { + public NotAccessException(String s) { + } +} diff --git a/src/main/java/com/epam/izh/rd/online/exception/NotCorrectPasswordException.java b/src/main/java/com/epam/izh/rd/online/exception/NotCorrectPasswordException.java new file mode 100644 index 0000000..1d5647a --- /dev/null +++ b/src/main/java/com/epam/izh/rd/online/exception/NotCorrectPasswordException.java @@ -0,0 +1,7 @@ +package com.epam.izh.rd.online.exception; + +public class NotCorrectPasswordException extends Exception { + public NotCorrectPasswordException(String s) { + System.err.println(s); + } +} diff --git a/src/main/java/com/epam/izh/rd/online/exception/SimplePasswordException.java b/src/main/java/com/epam/izh/rd/online/exception/SimplePasswordException.java new file mode 100644 index 0000000..85862d5 --- /dev/null +++ b/src/main/java/com/epam/izh/rd/online/exception/SimplePasswordException.java @@ -0,0 +1,6 @@ +package com.epam.izh.rd.online.exception; + +public class SimplePasswordException extends Exception { + public SimplePasswordException(String s) { + } +} diff --git a/src/main/java/com/epam/izh/rd/online/exception/UserAlreadyRegisteredException.java b/src/main/java/com/epam/izh/rd/online/exception/UserAlreadyRegisteredException.java new file mode 100644 index 0000000..0597d70 --- /dev/null +++ b/src/main/java/com/epam/izh/rd/online/exception/UserAlreadyRegisteredException.java @@ -0,0 +1,6 @@ +package com.epam.izh.rd.online.exception; + +public class UserAlreadyRegisteredException extends Exception { + public UserAlreadyRegisteredException(String s) { + } +} diff --git a/src/main/java/com/epam/izh/rd/online/exception/UserNotFoundException.java b/src/main/java/com/epam/izh/rd/online/exception/UserNotFoundException.java new file mode 100644 index 0000000..5b6af17 --- /dev/null +++ b/src/main/java/com/epam/izh/rd/online/exception/UserNotFoundException.java @@ -0,0 +1,7 @@ +package com.epam.izh.rd.online.exception; + +public class UserNotFoundException extends Exception { + public UserNotFoundException(String s) { + System.err.println(s); + } +} diff --git a/src/main/java/com/epam/izh/rd/online/service/AuthenticationService.java b/src/main/java/com/epam/izh/rd/online/service/AuthenticationService.java index bcb09a7..56d99c5 100644 --- a/src/main/java/com/epam/izh/rd/online/service/AuthenticationService.java +++ b/src/main/java/com/epam/izh/rd/online/service/AuthenticationService.java @@ -1,6 +1,8 @@ package com.epam.izh.rd.online.service; import com.epam.izh.rd.online.entity.User; +import com.epam.izh.rd.online.exception.NotCorrectPasswordException; +import com.epam.izh.rd.online.exception.UserNotFoundException; import com.epam.izh.rd.online.repository.IUserRepository; public class AuthenticationService implements IAuthenticationService { @@ -25,13 +27,19 @@ public AuthenticationService(IUserRepository userRepository) { * @param user - пользователь проходящий авторизацию */ @Override - public User login(User user) { + public User login(User user) throws UserNotFoundException, NotCorrectPasswordException { // Находим пользователя в базе User foundUser = userRepository.findByLogin(user.getLogin()); // // Здесь необходимо реализовать перечисленные выше проверки // + if(foundUser == null){ + throw new UserNotFoundException("Пользователь с таким логином не найден"); + } + if(!foundUser.getPassword().equals(user.getPassword())){ + throw new NotCorrectPasswordException("Пароль введен неверно!") ; + } // Устанавливаем найденного пользователя, который прошел все проверки, как вошедшего в систему. CurrentUserManager.setCurrentLoggedInUser(foundUser); diff --git a/src/main/java/com/epam/izh/rd/online/service/IAuthenticationService.java b/src/main/java/com/epam/izh/rd/online/service/IAuthenticationService.java index 3f296c3..7840306 100644 --- a/src/main/java/com/epam/izh/rd/online/service/IAuthenticationService.java +++ b/src/main/java/com/epam/izh/rd/online/service/IAuthenticationService.java @@ -1,9 +1,11 @@ package com.epam.izh.rd.online.service; import com.epam.izh.rd.online.entity.User; +import com.epam.izh.rd.online.exception.NotCorrectPasswordException; +import com.epam.izh.rd.online.exception.UserNotFoundException; public interface IAuthenticationService { - User login(User user); + User login(User user) throws UserNotFoundException, NotCorrectPasswordException; void logout(); } diff --git a/src/main/java/com/epam/izh/rd/online/service/IUserService.java b/src/main/java/com/epam/izh/rd/online/service/IUserService.java index de62d43..5cc0fcb 100644 --- a/src/main/java/com/epam/izh/rd/online/service/IUserService.java +++ b/src/main/java/com/epam/izh/rd/online/service/IUserService.java @@ -1,10 +1,13 @@ package com.epam.izh.rd.online.service; import com.epam.izh.rd.online.entity.User; +import com.epam.izh.rd.online.exception.NotAccessException; +import com.epam.izh.rd.online.exception.SimplePasswordException; +import com.epam.izh.rd.online.exception.UserAlreadyRegisteredException; public interface IUserService { - User register(User user); + User register(User user) throws UserAlreadyRegisteredException, SimplePasswordException; - void delete(String login); + void delete(String login) throws NotAccessException; } diff --git a/src/main/java/com/epam/izh/rd/online/service/UserService.java b/src/main/java/com/epam/izh/rd/online/service/UserService.java index 78c39ed..bab3091 100644 --- a/src/main/java/com/epam/izh/rd/online/service/UserService.java +++ b/src/main/java/com/epam/izh/rd/online/service/UserService.java @@ -1,6 +1,9 @@ package com.epam.izh.rd.online.service; import com.epam.izh.rd.online.entity.User; +import com.epam.izh.rd.online.exception.NotAccessException; +import com.epam.izh.rd.online.exception.SimplePasswordException; +import com.epam.izh.rd.online.exception.UserAlreadyRegisteredException; import com.epam.izh.rd.online.repository.IUserRepository; import com.epam.izh.rd.online.repository.UserRepository; @@ -30,11 +33,17 @@ public UserService(IUserRepository userRepository) { * @param user - даныне регистрирующегося пользователя */ @Override - public User register(User user) { + public User register(User user) throws UserAlreadyRegisteredException, SimplePasswordException { // // Здесь необходимо реализовать перечисленные выше проверки // + if(user.getPassword().isEmpty() || user.getLogin().isEmpty()) + throw new IllegalArgumentException("Ошибка в заполнении полей"); + if(userRepository.findByLogin(user.getLogin()) != null) + throw new UserAlreadyRegisteredException("Пользователь с логином" + user.getLogin() + " уже зарегистрирован"); + if(user.getPassword().matches("\\d*")) + throw new SimplePasswordException("Пароль не соответствует требованиям безопасности") ; // Если все проверки успешно пройдены, сохраняем пользователя в базу return userRepository.save(user); @@ -58,11 +67,16 @@ public User register(User user) { * * @param login */ - public void delete(String login) { + public void delete(String login) throws NotAccessException { // Здесь необходимо сделать доработку метод - + try { userRepository.deleteByLogin(login); + } catch (UnsupportedOperationException e){ + throw new NotAccessException("Недостаточно прав для выполнения операции"); + } + + // Здесь необходимо сделать доработку метода