X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fmxchange%2Fjjobs%2Fbeans%2Fuser%2FJobsAdminUserWebRequestBean.java;h=fbbb33743dd95c70cc19b7659f423102483e2e03;hb=284ea8f49a7fda3d8568181e490e1bfa2b79be24;hp=0517694c9888c4a972d773214941d615102c890a;hpb=84a67513898d5d8d524b34eced3ee81651445ad9;p=jjobs-war.git diff --git a/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java b/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java index 0517694c..fbbb3374 100644 --- a/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java +++ b/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java @@ -17,9 +17,6 @@ package org.mxchange.jjobs.beans.user; import java.text.MessageFormat; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; import java.util.Objects; import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; @@ -37,16 +34,13 @@ import org.mxchange.jjobs.beans.contact.JobsContactWebSessionController; import org.mxchange.jjobs.beans.helper.JobsAdminWebRequestController; import org.mxchange.jjobs.beans.login.JobsUserLoginWebSessionController; import org.mxchange.jusercore.container.login.UserLoginContainer; -import org.mxchange.jusercore.events.login.UserLoggedInEvent; import org.mxchange.jusercore.events.registration.UserRegisteredEvent; import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent; import org.mxchange.jusercore.events.user.add.AdminUserAddedEvent; import org.mxchange.jusercore.events.user.update.AdminUpdatedUserDataEvent; import org.mxchange.jusercore.events.user.update.AdminUserDataUpdatedEvent; -import org.mxchange.jusercore.events.user.update.UpdatedUserPersonalDataEvent; import org.mxchange.jusercore.exceptions.EmailAddressAlreadyRegisteredException; import org.mxchange.jusercore.exceptions.UserNameAlreadyRegisteredException; -import org.mxchange.jusercore.exceptions.UserNotFoundException; import org.mxchange.jusercore.exceptions.UserPasswordRepeatMismatchException; import org.mxchange.jusercore.model.user.LoginUser; import org.mxchange.jusercore.model.user.User; @@ -88,11 +82,6 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr @Inject private JobsContactWebSessionController contactController; - /** - * A list of all selectable contacts - */ - private List selectableContacts; - /** * An event fired when the administrator has updated a new user */ @@ -111,11 +100,6 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr @Inject private JobsUserWebSessionController userController; - /** - * A list of all user profiles - */ - private List userList; - /** * Login bean (controller) */ @@ -127,11 +111,6 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr */ private String userName; - /** - * User name list - */ - private List userNameList; - /** * User password (unencrypted from web form) */ @@ -142,11 +121,6 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr */ private String userPasswordRepeat; - /** - * A list of all public user profiles - */ - private List visibleUserList; - /** * Default constructor */ @@ -227,7 +201,7 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr // Is the user name or email address used already? // @TODO Add password length check - if (this.isUserNameRegistered(user)) { + if (this.userController.isUserNameRegistered(user)) { // User name is already used throw new FaceletException(new UserNameAlreadyRegisteredException(user)); } else if ((this.adminHelper.getContact() == null) && (this.contactController.isEmailAddressRegistered(user.getUserContact()))) { @@ -271,12 +245,6 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr // Fire event this.addedUserEvent.fire(new AdminUserAddedEvent(updatedUser)); - // Add user to local list - this.userList.add(updatedUser); - - // Clear contact instance - this.contactController.clear(); - // Return to user list (for now) return "admin_list_user"; //NOI18N } @@ -306,85 +274,14 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr // Debug message //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("UserWebBean:afterRegistration: registeredUser={0}", registeredUser)); //NOI18N - // Add user name - this.addUserName(registeredUser); // Clear all data this.clear(); - // Add user to local list - this.userList.add(registeredUser); - - // Is the account public? - if (Objects.equals(registeredUser.getUserProfileMode(), ProfileMode.PUBLIC)) { - // Also add it to this list - this.visibleUserList.add(registeredUser); - } - // Trace message //* NOISY-DEBUG: */ System.out.println("UserWebBean:afterRegistration: EXIT!"); //NOI18N } - @Override - public void afterUserLogin (final @Observes UserLoggedInEvent event) { - // Trace message - //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("UserWebBean:afterUserLogin: event={0} - CALLED!", event)); //NOI18N - - // event should not be null - if (null == event) { - // Throw NPE - throw new NullPointerException("event is null"); //NOI18N - } else if (event.getLoggedInUser() == null) { - // Throw NPE again - throw new NullPointerException("event.user is null"); //NOI18N - } else if (event.getLoggedInUser().getUserId() == null) { - // userId is null - throw new NullPointerException("event.user.userId is null"); //NOI18N - } else if (event.getLoggedInUser().getUserId() < 1) { - // Not avalid id - throw new IllegalArgumentException(MessageFormat.format("userId of user={0} is not valid: {1}", event.getLoggedInUser(), event.getLoggedInUser().getUserId())); //NOI18N - } - - // Re-initialize list - this.visibleUserList = this.userBean.allMemberPublicVisibleUsers(); - - // Trace message - //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("UserWebBean:afterUserLogin: this.visibleUserList.size()={0} - EXIT!", this.visibleUserList.size())); //NOI18N - } - - @Override - public void afterUserUpdatedPersonalData (@Observes final UpdatedUserPersonalDataEvent event) { - // Check parameter - if (null == event) { - // Throw NPE - throw new NullPointerException("event is null"); //NOI18N - } else if (event.getUpdatedUser() == null) { - // Throw NPE again - throw new NullPointerException("event.updatedUser is null"); //NOI18N - } else if (event.getUpdatedUser().getUserId() == null) { - // ... and again - throw new NullPointerException("event.updatedUser.userId is null"); //NOI18N - } else if (event.getUpdatedUser().getUserId() < 1) { - // Invalid value - throw new IllegalArgumentException(MessageFormat.format("event.updatedUser.userId={0} is in valid", event.getUpdatedUser().getUserId())); //NOI18N - } - - // All fine, so update list - this.updateList(event.getUpdatedUser()); - } - - @Override - public List allUsers () { - // Return it - return Collections.unmodifiableList(this.userList); - } - - @Override - public List allVisibleUsers () { - // Return it - return Collections.unmodifiableList(this.visibleUserList); - } - @Override public String editUserData () { // Get user instance @@ -442,9 +339,6 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr // Call EJB for updating user data User updatedUser = this.userBean.updateUserData(user); - // Update list - this.updateList(updatedUser); - // Fire event this.updatedUserDataEvent.fire(new AdminUserDataUpdatedEvent(updatedUser)); @@ -482,173 +376,11 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr this.userPasswordRepeat = userPasswordRepeat; } - @Override - public boolean hasUsers () { - return (!this.allUsers().isEmpty()); - } - /** * Post-initialization of this class */ @PostConstruct public void init () { - // Initialize user list - this.userList = this.userBean.allUsers(); - - // Get full user name list for reducing EJB calls - this.userNameList = this.userBean.getUserNameList(); - - // Is the user logged-in? - if (this.userLoginController.isUserLoggedIn()) { - // Is logged-in, so load also users visible to memebers - this.visibleUserList = this.userBean.allMemberPublicVisibleUsers(); - } else { - // Initialize user list - this.visibleUserList = this.userBean.allPublicUsers(); - } - - // Get all users - List allUsers = this.allUsers(); - - // Get all contacts - List allContacts = this.contactController.allContacts(); - - // Get iterator - Iterator iterator = allContacts.iterator(); - - // Loop through it - while (iterator.hasNext()) { - // Get next element - Contact next = iterator.next(); - - // Get iterator - Iterator userIterator = allUsers.iterator(); - - // Loop through all users - while (userIterator.hasNext()) { - // Get user instance - User nextUser = userIterator.next(); - - // Is contact same? - if (Objects.equals(next, nextUser.getUserContact())) { - // Found same - iterator.remove(); - break; - } - } - } - - // Set contact list - this.selectableContacts = allContacts; - } - - @Override - public boolean isContactFound (final Contact contact) { - // The contact must be valid - if (null == contact) { - // Throw NPE - throw new NullPointerException("contact is null"); //NOI18N - } else if (contact.getContactId() == null) { - // Throw again ... - throw new NullPointerException("contact.contactId is null"); //NOI18N - } else if (contact.getContactId() < 1) { - // Not valid - throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N - } - - // Default is not found - boolean isFound = false; - - // Get iterator - Iterator iterator = this.allUsers().iterator(); - - // Loop through all entries - while (iterator.hasNext()) { - // Get user - User next = iterator.next(); - - // Compare both objects - if (Objects.equals(contact, next.getUserContact())) { - // Found it - isFound = true; - break; - } - } - - // Return status - return isFound; - } - - @Override - public boolean isUserNameRegistered (final User user) { - return ((this.userNameList instanceof List) && (this.userNameList.contains(user.getUserName()))); - } - - @Override - public boolean isVisibleUserFound () { - return ((this.visibleUserList instanceof List) && (this.visibleUserList.size() > 0)); - } - - @Override - public User lookupUserById (final Long userId) throws UserNotFoundException { - // Parameter must be valid - if (null == userId) { - // Throw NPE - throw new NullPointerException("userId is null"); //NOI18N - } else if (userId < 1) { - // Not valid - throw new IllegalArgumentException(MessageFormat.format("userId={0} is not valid.", userId)); //NOI18N - } - - // Init variable - User user = null; - - // Try to lookup it in visible user list - for (final Iterator iterator = this.userList.iterator(); iterator.hasNext();) { - // Get next user - User next = iterator.next(); - - // Is the user id found? - if (Objects.equals(next.getUserId(), userId)) { - // Copy to other variable - user = next; - break; - } - } - - // Is it still null? - if (null == user) { - // Not visible for the current user - throw new UserNotFoundException(userId); - } - - // Return it - return user; - } - - @Override - public List selectableContacts () { - return Collections.unmodifiableList(this.selectableContacts); - } - - /** - * Adds user's name to bean's internal list. It also updates the public user - * list if the user has decided to have a public account, - *

- * @param user User instance - */ - private void addUserName (final User user) { - // Make sure the entry is not added yet - if (this.userNameList.contains(user.getUserName())) { - // Abort here - throw new IllegalArgumentException(MessageFormat.format("User name {0} already added.", user.getUserName())); //NOI18N - } else if (this.contactController.isEmailAddressRegistered(user.getUserContact())) { - // Already added - throw new IllegalArgumentException(MessageFormat.format("Email address {0} already added.", user.getUserContact().getContactEmailAddress())); //NOI18N - } - - // Add user name - this.userNameList.add(user.getUserName()); } /** @@ -671,42 +403,4 @@ public class JobsAdminUserWebRequestBean implements JobsAdminUserWebRequestContr return ((!this.getUserPassword().isEmpty()) && (Objects.equals(this.getUserPassword(), this.getUserPasswordRepeat()))); } - /** - * Updates list with given user instance - *

- * @param user User instance - */ - private void updateList (final User user) { - // The user should be valid - if (null == user) { - // Throw NPE - throw new NullPointerException("user is null"); //NOI18N - } else if (user.getUserId() == null) { - // ... again NPE - throw new NullPointerException("user.userId is null"); //NOI18N - } else if (user.getUserId() < 1) { - // Invalid id - throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is invalid", user.getUserId())); //NOI18N - } - - // Get iterator - Iterator iterator = this.userList.iterator(); - - // Look whole list - while (iterator.hasNext()) { - // Get next element - User next = iterator.next(); - - // Is the same user id? - if (Objects.equals(user.getUserId(), next.getUserId())) { - // Found it, so remove it - this.userList.remove(next); - break; - } - } - - // Re-add item - this.userList.add(user); - } - }