From f738da95da7bdac8c8972555ff2691a6efc5ef3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arthur=20Greg=C3=B3rio?= Date: Thu, 27 Dec 2018 14:30:29 -0200 Subject: [PATCH] fix #48 --- .../controllers/registration/AuthorBean.java | 13 ++++++++++ .../controllers/registration/BookBean.java | 8 +++++++ .../domain/services/UserAccountService.java | 24 +++++++++---------- ...inessValidator.java => BusinessLogic.java} | 15 ++++++------ .../group/DeleteAdminGroupValidator.java | 8 +++---- ...Validator.java => GroupDeletingLogic.java} | 6 ++--- .../user/DeleteAdminUserValidator.java | 8 +++---- .../configuration/user/PasswordValidator.java | 8 +++---- ...gValidator.java => UserDeletingLogic.java} | 6 ++--- .../configuration/user/UserMailValidator.java | 8 +++---- ...ingValidator.java => UserSavingLogic.java} | 6 ++--- ...gValidator.java => UserUpdatingLogic.java} | 6 ++--- .../configuration/user/UsernameValidator.java | 9 ++++--- .../author/AuthorEmailValidator.java | 12 +++++----- ...gValidator.java => AuthorSavingLogic.java} | 6 ++--- ...alidator.java => AuthorUpdatingLogic.java} | 6 ++--- ...ingValidator.java => BookSavingLogic.java} | 6 ++--- .../registration/book/ISBNValidator.java | 4 ++-- 18 files changed, 90 insertions(+), 69 deletions(-) rename src/main/java/br/eti/arthurgregorio/library/domain/validators/{BusinessValidator.java => BusinessLogic.java} (50%) rename src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/{GroupDeletingValidator.java => GroupDeletingLogic.java} (54%) rename src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/{UserSavingValidator.java => UserDeletingLogic.java} (55%) rename src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/{UserUpdatingValidator.java => UserSavingLogic.java} (54%) rename src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/{UserDeletingValidator.java => UserUpdatingLogic.java} (54%) rename src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/{AuthorSavingValidator.java => AuthorSavingLogic.java} (54%) rename src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/{AuthorUpdatingValidator.java => AuthorUpdatingLogic.java} (54%) rename src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/{BookSavingValidator.java => BookSavingLogic.java} (55%) diff --git a/src/main/java/br/eti/arthurgregorio/library/application/controllers/registration/AuthorBean.java b/src/main/java/br/eti/arthurgregorio/library/application/controllers/registration/AuthorBean.java index e1bbdf4..3d706f8 100644 --- a/src/main/java/br/eti/arthurgregorio/library/application/controllers/registration/AuthorBean.java +++ b/src/main/java/br/eti/arthurgregorio/library/application/controllers/registration/AuthorBean.java @@ -5,8 +5,12 @@ import br.eti.arthurgregorio.library.application.controllers.ViewState; import br.eti.arthurgregorio.library.domain.model.entities.registration.Author; import br.eti.arthurgregorio.library.domain.repositories.registration.AuthorRepository; +import br.eti.arthurgregorio.library.domain.validators.registration.author.AuthorSavingLogic; +import br.eti.arthurgregorio.library.domain.validators.registration.author.AuthorUpdatingLogic; import org.primefaces.model.SortOrder; +import javax.enterprise.inject.Any; +import javax.enterprise.inject.Instance; import javax.faces.view.ViewScoped; import javax.inject.Inject; import javax.inject.Named; @@ -29,6 +33,13 @@ public class AuthorBean extends LazyFormBean { @Inject private AuthorRepository authorRepository; + @Any + @Inject + private Instance authorSavingLogic; + @Any + @Inject + private Instance authorUpdatingLogic; + /** * {@inheritDoc} */ @@ -82,6 +93,7 @@ public Page load(int first, int pageSize, String sortField, SortOrder so @Override @Transactional public void doSave() { + this.authorSavingLogic.forEach(logic -> logic.run(this.value)); this.authorRepository.save(this.value); this.value = new Author(); this.addInfo(true, "saved"); @@ -93,6 +105,7 @@ public void doSave() { @Override @Transactional public void doUpdate() { + this.authorUpdatingLogic.forEach(logic -> logic.run(this.value)); this.authorRepository.save(this.value); this.addInfo(true, "updated"); } diff --git a/src/main/java/br/eti/arthurgregorio/library/application/controllers/registration/BookBean.java b/src/main/java/br/eti/arthurgregorio/library/application/controllers/registration/BookBean.java index ea982e2..6cd7b90 100644 --- a/src/main/java/br/eti/arthurgregorio/library/application/controllers/registration/BookBean.java +++ b/src/main/java/br/eti/arthurgregorio/library/application/controllers/registration/BookBean.java @@ -7,9 +7,12 @@ import br.eti.arthurgregorio.library.domain.model.entities.registration.Book; import br.eti.arthurgregorio.library.domain.repositories.registration.AuthorRepository; import br.eti.arthurgregorio.library.domain.repositories.registration.BookRepository; +import br.eti.arthurgregorio.library.domain.validators.registration.book.BookSavingLogic; import lombok.Getter; import org.primefaces.model.SortOrder; +import javax.enterprise.inject.Any; +import javax.enterprise.inject.Instance; import javax.faces.view.ViewScoped; import javax.inject.Inject; import javax.inject.Named; @@ -38,6 +41,10 @@ public class BookBean extends LazyFormBean { @Inject private AuthorRepository authorRepository; + @Any + @Inject + private Instance bookSavingLogic; + /** * {@inheritDoc} */ @@ -96,6 +103,7 @@ public Page load(int first, int pageSize, String sortField, SortOrder sort @Override @Transactional public void doSave() { + this.bookSavingLogic.forEach(logic -> logic.run(this.value)); this.bookRepository.save(this.value); this.value = new Book(); this.addInfo(true, "saved"); diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/services/UserAccountService.java b/src/main/java/br/eti/arthurgregorio/library/domain/services/UserAccountService.java index 22f7b7e..1683ca1 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/services/UserAccountService.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/services/UserAccountService.java @@ -4,10 +4,10 @@ import br.eti.arthurgregorio.library.domain.model.entities.configuration.*; import br.eti.arthurgregorio.library.domain.model.exception.BusinessLogicException; import br.eti.arthurgregorio.library.domain.repositories.configuration.*; -import br.eti.arthurgregorio.library.domain.validators.configuration.group.GroupDeletingValidator; -import br.eti.arthurgregorio.library.domain.validators.configuration.user.UserDeletingValidator; -import br.eti.arthurgregorio.library.domain.validators.configuration.user.UserSavingValidator; -import br.eti.arthurgregorio.library.domain.validators.configuration.user.UserUpdatingValidator; +import br.eti.arthurgregorio.library.domain.validators.configuration.group.GroupDeletingLogic; +import br.eti.arthurgregorio.library.domain.validators.configuration.user.UserDeletingLogic; +import br.eti.arthurgregorio.library.domain.validators.configuration.user.UserSavingLogic; +import br.eti.arthurgregorio.library.domain.validators.configuration.user.UserUpdatingLogic; import br.eti.arthurgregorio.shiroee.auth.PasswordEncoder; import br.eti.arthurgregorio.shiroee.config.jdbc.UserDetails; import br.eti.arthurgregorio.shiroee.config.jdbc.UserDetailsProvider; @@ -47,17 +47,17 @@ public class UserAccountService implements UserDetailsProvider { @Any @Inject - private Instance userSavingValidators; + private Instance userSavingValidators; @Any @Inject - private Instance userUpdatingValidators; + private Instance userUpdatingValidators; @Any @Inject - private Instance userDeletingValidators; + private Instance userDeletingValidators; @Any @Inject - private Instance groupDeletingValidators; + private Instance groupDeletingValidators; /** * Persist a new {@link User} @@ -67,7 +67,7 @@ public class UserAccountService implements UserDetailsProvider { */ @Transactional public User save(User user) { - this.userSavingValidators.forEach(validator -> validator.validate(user)); + this.userSavingValidators.forEach(validator -> validator.run(user)); return this.userRepository.save(user); } @@ -78,7 +78,7 @@ public User save(User user) { */ @Transactional public void update(User user) { - this.userUpdatingValidators.forEach(validator -> validator.validate(user)); + this.userUpdatingValidators.forEach(validator -> validator.run(user)); this.userRepository.saveAndFlushAndRefresh(user); } @@ -90,7 +90,7 @@ public void update(User user) { @Transactional public void delete(User user) { this.userDeletingValidators.forEach(validator -> { - validator.validate(user); + validator.run(user); }); this.userRepository.attachAndRemove(user); } @@ -187,7 +187,7 @@ public void update(Group group, List authorizations) { */ @Transactional public void delete(Group group) { - this.groupDeletingValidators.forEach(validator -> validator.validate(group)); + this.groupDeletingValidators.forEach(validator -> validator.run(group)); this.groupRepository.attachAndRemove(group); } diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/BusinessValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/BusinessLogic.java similarity index 50% rename from src/main/java/br/eti/arthurgregorio/library/domain/validators/BusinessValidator.java rename to src/main/java/br/eti/arthurgregorio/library/domain/validators/BusinessLogic.java index 2d3c4f4..f465d0f 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/BusinessValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/BusinessLogic.java @@ -4,23 +4,24 @@ import br.eti.arthurgregorio.library.domain.model.exception.BusinessLogicException; /** - * The abstraction of a validator + * The abstraction of a business logic * - * @param the generic type for this validator. Should extends {@link PersistentEntity} + * @param the generic type for this logic. Should extends {@link PersistentEntity} * * @author Arthur Gregorio * * @version 1.0.0 * @since 1.3.1, 09/08/2018 */ -public interface BusinessValidator { +public interface BusinessLogic { /** - * Call this to run the validation logic + * Call this to run the logic * - * This method should throw a {@link BusinessLogicException} in his body for validation error cases + * This method should throw a {@link BusinessLogicException} in his body for validation error cases or any other + * problem to prevent the subsequent execution * - * @param value the value to be validated + * @param value the value to be used in the logic */ - void validate(T value); + void run(T value); } \ No newline at end of file diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/DeleteAdminGroupValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/DeleteAdminGroupValidator.java index 4119030..bf18e80 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/DeleteAdminGroupValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/DeleteAdminGroupValidator.java @@ -2,12 +2,12 @@ import br.eti.arthurgregorio.library.domain.model.entities.configuration.Group; import br.eti.arthurgregorio.library.domain.model.exception.BusinessLogicException; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; import javax.enterprise.context.Dependent; /** - * {@link BusinessValidator} to validate if you are deleting the admin group + * {@link BusinessLogic} to run if you are deleting the admin group * * @author Arthur Gregorio * @@ -15,7 +15,7 @@ * @since 1.3.1, 09/08/2018 */ @Dependent -public class DeleteAdminGroupValidator implements GroupDeletingValidator { +public class DeleteAdminGroupValidator implements GroupDeletingLogic { /** * {@inheritDoc } @@ -23,7 +23,7 @@ public class DeleteAdminGroupValidator implements GroupDeletingValidator { * @param value */ @Override - public void validate(Group value) { + public void run(Group value) { if (value.isAdministrator()) { throw new BusinessLogicException("error.group.delete-administrator"); } diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/GroupDeletingValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/GroupDeletingLogic.java similarity index 54% rename from src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/GroupDeletingValidator.java rename to src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/GroupDeletingLogic.java index 8ae0b9f..d8190e6 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/GroupDeletingValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/group/GroupDeletingLogic.java @@ -1,14 +1,14 @@ package br.eti.arthurgregorio.library.domain.validators.configuration.group; import br.eti.arthurgregorio.library.domain.model.entities.configuration.Group; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; /** - * {@link Group} validator facade for delete actions + * {@link Group} business logic facade for delete actions * * @author Arthur Gregorio * * @version 1.0.0 * @since 1.3.1, 09/08/2018 */ -public interface GroupDeletingValidator extends BusinessValidator { } \ No newline at end of file +public interface GroupDeletingLogic extends BusinessLogic { } \ No newline at end of file diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/DeleteAdminUserValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/DeleteAdminUserValidator.java index d480593..11566a8 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/DeleteAdminUserValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/DeleteAdminUserValidator.java @@ -2,14 +2,14 @@ import br.eti.arthurgregorio.library.domain.model.entities.configuration.User; import br.eti.arthurgregorio.library.domain.model.exception.BusinessLogicException; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; import br.eti.arthurgregorio.library.infrastructure.cdi.qualifier.AuthenticatedUser; import javax.enterprise.context.Dependent; import javax.inject.Inject; /** - * {@link BusinessValidator} to validate if you are deleting the admin + * {@link BusinessLogic} to run if you are deleting the admin * * @author Arthur Gregorio * @@ -17,7 +17,7 @@ * @since 1.3.1, 09/08/2018 */ @Dependent -public class DeleteAdminUserValidator implements UserDeletingValidator { +public class DeleteAdminUserValidator implements UserDeletingLogic { @Inject @AuthenticatedUser @@ -29,7 +29,7 @@ public class DeleteAdminUserValidator implements UserDeletingValidator { * @param value */ @Override - public void validate(User value) { + public void run(User value) { final String principalUsername = this.principal.getUsername(); diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/PasswordValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/PasswordValidator.java index 919d630..df257b9 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/PasswordValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/PasswordValidator.java @@ -4,7 +4,7 @@ import br.eti.arthurgregorio.library.domain.model.entities.configuration.User; import br.eti.arthurgregorio.library.domain.model.exception.BusinessLogicException; import br.eti.arthurgregorio.library.domain.repositories.configuration.UserRepository; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; import br.eti.arthurgregorio.shiroee.auth.PasswordEncoder; import javax.enterprise.context.Dependent; @@ -12,7 +12,7 @@ import java.util.Optional; /** - * {@link BusinessValidator} for the user password validation logic + * {@link BusinessLogic} for the user password validation logic * * @author Arthur Gregorio * @@ -20,7 +20,7 @@ * @since 1.3.1, 09/08/2018 */ @Dependent -public class PasswordValidator implements UserSavingValidator, UserUpdatingValidator { +public class PasswordValidator implements UserSavingLogic, UserUpdatingLogic { @Inject private UserRepository userRepository; @@ -34,7 +34,7 @@ public class PasswordValidator implements UserSavingValidator, UserUpdatingValid * @param value */ @Override - public void validate(User value) { + public void run(User value) { if (value.getStoreType() == StoreType.LOCAL) { if (value.isSaved()) { this.validateSavedUserPassword(value); diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserSavingValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserDeletingLogic.java similarity index 55% rename from src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserSavingValidator.java rename to src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserDeletingLogic.java index ba778c3..5cbaf45 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserSavingValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserDeletingLogic.java @@ -1,14 +1,14 @@ package br.eti.arthurgregorio.library.domain.validators.configuration.user; import br.eti.arthurgregorio.library.domain.model.entities.configuration.User; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; /** - * {@link User} validator facade for save actions + * {@link User} business logic facade for delete actions * * @author Arthur Gregorio * * @version 1.0.0 * @since 1.3.1, 09/08/2018 */ -public interface UserSavingValidator extends BusinessValidator { } \ No newline at end of file +public interface UserDeletingLogic extends BusinessLogic { } \ No newline at end of file diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserMailValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserMailValidator.java index efec7a2..883e2fe 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserMailValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserMailValidator.java @@ -3,13 +3,13 @@ import br.eti.arthurgregorio.library.domain.model.entities.configuration.User; import br.eti.arthurgregorio.library.domain.model.exception.BusinessLogicException; import br.eti.arthurgregorio.library.domain.repositories.configuration.UserRepository; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; import java.util.Optional; import javax.enterprise.context.Dependent; import javax.inject.Inject; /** - * {@link BusinessValidator} for the user e-mail validation logic + * {@link BusinessLogic} for the user e-mail validation logic * * @author Arthur Gregorio * @@ -17,7 +17,7 @@ * @since 1.3.1, 09/08/2018 */ @Dependent -public class UserMailValidator implements UserSavingValidator, UserUpdatingValidator { +public class UserMailValidator implements UserSavingLogic, UserUpdatingLogic { @Inject private UserRepository userRepository; @@ -28,7 +28,7 @@ public class UserMailValidator implements UserSavingValidator, UserUpdatingValid * @param value */ @Override - public void validate(User value) { + public void run(User value) { final Optional userOptional = this.userRepository.findByEmail(value.getEmail()); diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserUpdatingValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserSavingLogic.java similarity index 54% rename from src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserUpdatingValidator.java rename to src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserSavingLogic.java index 1bf6db3..626fedd 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserUpdatingValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserSavingLogic.java @@ -1,14 +1,14 @@ package br.eti.arthurgregorio.library.domain.validators.configuration.user; import br.eti.arthurgregorio.library.domain.model.entities.configuration.User; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; /** - * {@link User} validator facade for update actions + * {@link User} business logic facade for save actions * * @author Arthur Gregorio * * @version 1.0.0 * @since 1.3.1, 09/08/2018 */ -public interface UserUpdatingValidator extends BusinessValidator { } \ No newline at end of file +public interface UserSavingLogic extends BusinessLogic { } \ No newline at end of file diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserDeletingValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserUpdatingLogic.java similarity index 54% rename from src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserDeletingValidator.java rename to src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserUpdatingLogic.java index ba136fc..2f7637d 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserDeletingValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UserUpdatingLogic.java @@ -1,14 +1,14 @@ package br.eti.arthurgregorio.library.domain.validators.configuration.user; import br.eti.arthurgregorio.library.domain.model.entities.configuration.User; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; /** - * {@link User} validator facade for delete actions + * {@link User} business logic facade for update actions * * @author Arthur Gregorio * * @version 1.0.0 * @since 1.3.1, 09/08/2018 */ -public interface UserDeletingValidator extends BusinessValidator { } \ No newline at end of file +public interface UserUpdatingLogic extends BusinessLogic { } \ No newline at end of file diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UsernameValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UsernameValidator.java index b71b234..042f81c 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UsernameValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/configuration/user/UsernameValidator.java @@ -3,14 +3,13 @@ import br.eti.arthurgregorio.library.domain.model.entities.configuration.User; import br.eti.arthurgregorio.library.domain.model.exception.BusinessLogicException; import br.eti.arthurgregorio.library.domain.repositories.configuration.UserRepository; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; import javax.enterprise.context.Dependent; import javax.inject.Inject; -import java.util.Optional; /** - * {@link BusinessValidator} for the username validation logic + * {@link BusinessLogic} for the username validation logic * * @author Arthur Gregorio * @@ -18,7 +17,7 @@ * @since 1.3.1, 09/08/2018 */ @Dependent -public class UsernameValidator implements UserSavingValidator { +public class UsernameValidator implements UserSavingLogic { @Inject private UserRepository userRepository; @@ -29,7 +28,7 @@ public class UsernameValidator implements UserSavingValidator { * @param value */ @Override - public void validate(User value) { + public void run(User value) { this.userRepository.findByUsername(value.getUsername()) .ifPresent(user -> { throw new BusinessLogicException("error.user.username-duplicated"); diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorEmailValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorEmailValidator.java index 18acca1..f286610 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorEmailValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorEmailValidator.java @@ -14,7 +14,7 @@ * @version 1.0.0 * @since 1.0.0, 18/12/2018 */ -public class AuthorEmailValidator implements AuthorSavingValidator, AuthorUpdatingValidator { +public class AuthorEmailValidator implements AuthorSavingLogic, AuthorUpdatingLogic { @Inject private AuthorRepository authorRepository; @@ -25,7 +25,7 @@ public class AuthorEmailValidator implements AuthorSavingValidator, AuthorUpdati * @param value */ @Override - public void validate(Author value) { + public void run(Author value) { if (value.isSaved()) { this.validateSaved(value); @@ -35,9 +35,9 @@ public void validate(Author value) { } /** - * If the {@link Author} is already saved, use this method to validate + * If the {@link Author} is already saved, use this method to run * - * @param value the {@link Author} to validate + * @param value the {@link Author} to run */ private void validateSaved(Author value) { this.authorRepository.findByEmail(value.getEmail()).ifPresent(author -> { @@ -48,9 +48,9 @@ private void validateSaved(Author value) { } /** - * If the {@link Author} is not saved, use this method to validate + * If the {@link Author} is not saved, use this method to run * - * @param value the {@link Author} to validate + * @param value the {@link Author} to run */ private void validateNotSaved(Author value) { this.authorRepository.findByEmail(value.getEmail()) diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorSavingValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorSavingLogic.java similarity index 54% rename from src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorSavingValidator.java rename to src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorSavingLogic.java index aa56b68..50b5722 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorSavingValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorSavingLogic.java @@ -1,14 +1,14 @@ package br.eti.arthurgregorio.library.domain.validators.registration.author; import br.eti.arthurgregorio.library.domain.model.entities.registration.Author; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; /** - * {@link Author} validator facade for save actions + * {@link Author} business logic facade for save actions * * @author Arthur Gregorio * * @version 1.0.0 * @since 2.0.0, 18/12/2018 */ -public interface AuthorSavingValidator extends BusinessValidator { } \ No newline at end of file +public interface AuthorSavingLogic extends BusinessLogic { } \ No newline at end of file diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorUpdatingValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorUpdatingLogic.java similarity index 54% rename from src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorUpdatingValidator.java rename to src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorUpdatingLogic.java index 270cdcf..22eaa3e 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorUpdatingValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/author/AuthorUpdatingLogic.java @@ -1,14 +1,14 @@ package br.eti.arthurgregorio.library.domain.validators.registration.author; import br.eti.arthurgregorio.library.domain.model.entities.registration.Author; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; /** - * {@link Author} validator facade for update actions + * {@link Author} business logic facade for update actions * * @author Arthur Gregorio * * @version 1.0.0 * @since 2.0.0, 18/12/2018 */ -public interface AuthorUpdatingValidator extends BusinessValidator { } \ No newline at end of file +public interface AuthorUpdatingLogic extends BusinessLogic { } \ No newline at end of file diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/BookSavingValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/BookSavingLogic.java similarity index 55% rename from src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/BookSavingValidator.java rename to src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/BookSavingLogic.java index ce45cfa..b468b5b 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/BookSavingValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/BookSavingLogic.java @@ -1,14 +1,14 @@ package br.eti.arthurgregorio.library.domain.validators.registration.book; import br.eti.arthurgregorio.library.domain.model.entities.registration.Book; -import br.eti.arthurgregorio.library.domain.validators.BusinessValidator; +import br.eti.arthurgregorio.library.domain.validators.BusinessLogic; /** - * {@link Book} validator facade for save actions + * {@link Book} business logic facade for save actions * * @author Arthur Gregorio * * @version 1.0.0 * @since 2.0.0, 18/12/2018 */ -public interface BookSavingValidator extends BusinessValidator { } \ No newline at end of file +public interface BookSavingLogic extends BusinessLogic { } \ No newline at end of file diff --git a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/ISBNValidator.java b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/ISBNValidator.java index 38f2381..93af690 100644 --- a/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/ISBNValidator.java +++ b/src/main/java/br/eti/arthurgregorio/library/domain/validators/registration/book/ISBNValidator.java @@ -14,7 +14,7 @@ * @version 1.0.0 * @since 1.0.0, 18/12/2018 */ -public class ISBNValidator implements BookSavingValidator { +public class ISBNValidator implements BookSavingLogic { @Inject private BookRepository bookRepository; @@ -25,7 +25,7 @@ public class ISBNValidator implements BookSavingValidator { * @param value */ @Override - public void validate(Book value) { + public void run(Book value) { this.bookRepository.findByISBN(value.getIsbn()).ifPresent(book -> { throw new BusinessLogicException("error.book.isbn-duplicated", book.getIsbn()); });