X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fmxchange%2Fjjobs%2Fbeans%2Fuser%2FJobsAdminUserWebRequestBean.java;h=39db1e8dd492ce4250700231b42d071f6ff37549;hb=cb27495f81d21c2db808536609900ffd957c30f9;hp=24720c2d797edd3cc4fe8c84d831bd6c57a93a77;hpb=7f41d74d5c6415afe5dff6826eb7e9aceec52888;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 24720c2d..39db1e8d 100644 --- a/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java +++ b/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java @@ -19,26 +19,21 @@ package org.mxchange.jjobs.beans.user; import java.text.MessageFormat; import java.util.Locale; import java.util.Objects; -import javax.annotation.PostConstruct; +import javax.ejb.EJB; import javax.enterprise.context.RequestScoped; import javax.enterprise.event.Event; import javax.enterprise.event.Observes; import javax.enterprise.inject.Any; import javax.faces.FacesException; +import javax.faces.context.FacesContext; import javax.faces.view.facelets.FaceletException; import javax.inject.Inject; import javax.inject.Named; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; -import org.mxchange.jcontacts.contact.Contact; -import org.mxchange.jcoreee.events.locale.ObservableLocaleChangeEvent; +import org.mxchange.jcontacts.model.contact.Contact; import org.mxchange.jcoreee.utils.FacesUtils; -import org.mxchange.jjobs.beans.BaseJobsController; +import org.mxchange.jjobs.beans.BaseJobsBean; import org.mxchange.jjobs.beans.contact.JobsAdminContactWebRequestController; -import org.mxchange.jjobs.beans.contact.JobsContactWebSessionController; -import org.mxchange.jjobs.beans.helper.JobsWebRequestHelperController; -import org.mxchange.jjobs.beans.localization.JobsLocalizationSessionController; +import org.mxchange.jjobs.beans.contact.JobsContactWebRequestController; import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent; import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent; import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent; @@ -76,7 +71,7 @@ import org.mxchange.juserlogincore.login.UserLoginUtils; */ @Named ("adminUserController") @RequestScoped -public class JobsAdminUserWebRequestBean extends BaseJobsController implements JobsAdminUserWebRequestController { +public class JobsAdminUserWebRequestBean extends BaseJobsBean implements JobsAdminUserWebRequestController { /** * Serial number @@ -99,14 +94,9 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J /** * Administrative user EJB */ + @EJB (lookup = "java:global/jjobs-ejb/adminUser!org.mxchange.jusercore.model.user.AdminUserSessionBeanRemote") private AdminUserSessionBeanRemote adminUserBean; - /** - * Bean helper - */ - @Inject - private JobsWebRequestHelperController beanHelper; - /** * Contact instance */ @@ -116,7 +106,7 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J * Regular contact controller */ @Inject - private JobsContactWebSessionController contactController; + private JobsContactWebRequestController contactController; /** * Event being fired when admin has deleted user @@ -125,11 +115,6 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J @Any private Event deleteUserEvent; - /** - * Locale instance - */ - private Locale locale; - /** * Localization controller */ @@ -151,13 +136,14 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J /** * General user EJB */ + @EJB (lookup = "java:global/jjobs-ejb/user!org.mxchange.jusercore.model.user.UserSessionBeanRemote") private UserSessionBeanRemote userBean; /** * Regular user controller */ @Inject - private JobsUserWebSessionController userController; + private JobsUserWebRequestController userController; /** * Delete reason @@ -240,7 +226,7 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J } // Create new user instance - User newUser = new LoginUser(); + final User newUser = new LoginUser(); // Set user name, CONFIRMED and INVISIBLE newUser.setUserName(this.getUserName()); @@ -248,8 +234,11 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J newUser.setUserAccountStatus(UserAccountStatus.CONFIRMED); newUser.setUserProfileMode(ProfileMode.INVISIBLE); + // Get locale from view-root + final Locale locale = FacesContext.getCurrentInstance().getViewRoot().getLocale(); + // Copy user locale - newUser.setUserLocale(this.getLocale()); + newUser.setUserLocale(locale); // Init instance Contact userContact; @@ -286,7 +275,7 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J return ""; //NOI18N } else if ((this.getUserPassword() == null && (this.getUserPasswordRepeat() == null)) || ((this.getUserPassword().isEmpty()) && (this.getUserPasswordRepeat().isEmpty()))) { // Empty password entered, then generate one - password = UserLoginUtils.createRandomPassword(JobsUserWebSessionController.MINIMUM_PASSWORD_LENGTH); + password = UserLoginUtils.createRandomPassword(JobsUserWebRequestController.MINIMUM_PASSWORD_LENGTH); } else if (!this.isSamePasswordEntered()) { // Both passwords don't match throw new FaceletException(new UserPasswordRepeatMismatchException(newUser)); @@ -297,7 +286,7 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J // The password should not be null and at least 5 characters long assert (password != null) : "password is null"; //NOI18N - assert (password.length() >= JobsUserWebSessionController.MINIMUM_PASSWORD_LENGTH) : "Password is not long enough."; //NOI18N + assert (password.length() >= JobsUserWebRequestController.MINIMUM_PASSWORD_LENGTH) : "Password is not long enough."; //NOI18N // Encrypt password and set it newUser.setUserEncryptedPassword(UserLoginUtils.encryptPassword(password)); @@ -306,13 +295,13 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J // Now, that all is set, call EJB if (this.getContact() instanceof Contact) { // Link contact with this user - User updatedUser = this.adminUserBean.linkUser(newUser); + final User updatedUser = this.adminUserBean.linkUser(newUser); // Fire event this.userLinkedEvent.fire(new AdminLinkedUserEvent(updatedUser)); } else { // Add new contact - User updatedUser = this.adminUserBean.addUser(newUser); + final User updatedUser = this.adminUserBean.addUser(newUser); // Fire event this.addedUserEvent.fire(new AdminAddedUserEvent(updatedUser)); @@ -359,26 +348,6 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J this.setUser(event.getCreatedUser()); } - /** - * Observer method for events being fired when the application's locale has - * been changed. - *

- * @param event Event being fired - */ - public void afterLocaleChangeEvent (@Observes final ObservableLocaleChangeEvent event) { - // Is the parameter valid? - if (null == event) { - // Throw NPE - throw new NullPointerException("event is null"); - } else if (event.getLocale() == null) { - // Throw NPE again - throw new NullPointerException("event.locale is null"); - } - - // Set it here - this.setLocale(event.getLocale()); - } - /** * Event observer for new user registrations *

@@ -401,7 +370,7 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J } // Get user instance - User registeredUser = event.getRegisteredUser(); + final User registeredUser = event.getRegisteredUser(); // @TODO Nothing to do with the user here? // Clear all data @@ -508,7 +477,7 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J } // Call EJB for updating user data - User updatedUser = this.userBean.updateUserData(this.getUser()); + final User updatedUser = this.userBean.updateUserData(this.getUser()); // Fire event this.updatedUserDataEvent.fire(new AdminUpdatedUserDataEvent(updatedUser)); @@ -661,25 +630,6 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J this.userPasswordRepeat = userPasswordRepeat; } - /** - * Post-construction method - */ - @PostConstruct - public void init () { - // Try it - try { - // Get initial context - Context context = new InitialContext(); - - // Try to lookup - this.userBean = (UserSessionBeanRemote) context.lookup("java:global/jfinancials-ejb/user!org.mxchange.jusercore.model.user.UserSessionBeanRemote"); //NOI18N - this.adminUserBean = (AdminUserSessionBeanRemote) context.lookup("java:global/jfinancials-ejb/adminUser!org.mxchange.jusercore.model.user.AdminUserSessionBeanRemote"); //NOI18N - } catch (final NamingException e) { - // Throw again - throw new FaceletException(e); - } - } - /** * Locks selected user's account. This method makes sure that a lock reason * is provided that th user later can read on login attempts. @@ -712,11 +662,11 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J } // Init updated user instance - User updatedUser; + final User updatedUser; try { // Get base URL - String baseUrl = FacesUtils.generateBaseUrl(); + final String baseUrl = FacesUtils.generateBaseUrl(); // Call EJB to lock account updatedUser = this.adminUserBean.lockUserAccount(this.getUser(), this.getUserLockReason(), baseUrl); @@ -761,11 +711,11 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J } // Init updated user instance - User updatedUser; + final User updatedUser; try { // Get base URL - String baseUrl = FacesUtils.generateBaseUrl(); + final String baseUrl = FacesUtils.generateBaseUrl(); // Call EJB to unlock account updatedUser = this.adminUserBean.unlockUserAccount(this.getUser(), baseUrl); @@ -795,24 +745,6 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J this.setUserName(null); } - /** - * Getter for locale instance - *

- * @return Locale instance - */ - private Locale getLocale () { - return this.locale; - } - - /** - * Setter for locale instance - *

- * @param locale Locale instance - */ - private void setLocale (final Locale locale) { - this.locale = locale; - } - /** * Checks if same password is entered and that they are not empty. *