X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fmxchange%2Fpizzaapplication%2Fbeans%2Fuser%2FPizzaUserWebSessionBean.java;h=b2d6c5d3188c9f926f06bdb7d3532026b8bf4a36;hb=daf1a2ee244795c937c7c2c4f41698dcfdeb96bd;hp=1a310886a3f4f44cb8548d1e1ab8204d0840c221;hpb=56e281348eaf840b50b28b88b95300ecd194523e;p=pizzaservice-war.git diff --git a/src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionBean.java b/src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionBean.java index 1a310886..b2d6c5d3 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionBean.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Roland Häder + * Copyright (C) 2016, 2017 Roland Häder * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -33,30 +33,31 @@ import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import org.mxchange.jcontacts.contact.Contact; -import org.mxchange.jusercore.events.confirmation.ObservableUserConfirmedAccountEvent; -import org.mxchange.jusercore.events.login.ObservableUserLoggedInEvent; -import org.mxchange.jusercore.events.registration.ObservableUserRegisteredEvent; import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent; import org.mxchange.jusercore.events.user.delete.ObservableAdminDeletedUserEvent; import org.mxchange.jusercore.events.user.linked.ObservableAdminLinkedUserEvent; import org.mxchange.jusercore.events.user.locked.ObservableAdminLockedUserEvent; -import org.mxchange.jusercore.events.user.password_change.ObservableUpdatedUserPasswordEvent; import org.mxchange.jusercore.events.user.unlocked.ObservableAdminUnlockedUserEvent; import org.mxchange.jusercore.events.user.update.ObservableAdminUpdatedUserDataEvent; import org.mxchange.jusercore.events.user.update.ObservableUpdatedUserPersonalDataEvent; import org.mxchange.jusercore.events.user.update.UpdatedUserPersonalDataEvent; import org.mxchange.jusercore.exceptions.UserEmailAddressNotFoundException; import org.mxchange.jusercore.exceptions.UserNotFoundException; -import org.mxchange.jusercore.exceptions.UserPasswordMismatchException; import org.mxchange.jusercore.model.user.LoginUser; import org.mxchange.jusercore.model.user.User; import org.mxchange.jusercore.model.user.UserSessionBeanRemote; -import org.mxchange.jusercore.model.user.UserUtils; import org.mxchange.jusercore.model.user.profilemodes.ProfileMode; +import org.mxchange.juserlogincore.events.confirmation.ObservableUserConfirmedAccountEvent; +import org.mxchange.juserlogincore.events.login.ObservableUserLoggedInEvent; +import org.mxchange.juserlogincore.events.registration.ObservableUserRegisteredEvent; +import org.mxchange.juserlogincore.events.user.password_change.ObservableUpdatedUserPasswordEvent; +import org.mxchange.juserlogincore.exceptions.UserPasswordMismatchException; +import org.mxchange.juserlogincore.login.UserLoginUtils; import org.mxchange.pizzaapplication.beans.BasePizzaController; import org.mxchange.pizzaapplication.beans.contact.PizzaContactWebSessionController; import org.mxchange.pizzaapplication.beans.features.PizzaFeaturesWebApplicationController; -import org.mxchange.pizzaapplication.beans.login.PizzaUserLoginWebSessionController; +import org.mxchange.pizzaapplication.beans.localization.PizzaLocalizationSessionController; +import org.mxchange.pizzaapplication.beans.user.login.PizzaUserLoginWebSessionController; /** * A user bean (controller) @@ -84,6 +85,12 @@ public class PizzaUserWebSessionBean extends BasePizzaController implements Pizz @Inject private PizzaFeaturesWebApplicationController featureController; + /** + * Localization controller + */ + @Inject + private PizzaLocalizationSessionController localizationController; + /** * Event being fired when user updated personal data */ @@ -149,6 +156,8 @@ public class PizzaUserWebSessionBean extends BasePizzaController implements Pizz * Default constructor */ public PizzaUserWebSessionBean () { + // Call super constructor + super(); } /** @@ -187,7 +196,7 @@ public class PizzaUserWebSessionBean extends BasePizzaController implements Pizz *

* @param event Event being fired */ - public void afterAdminDeletedUserEvent (final ObservableAdminDeletedUserEvent event) { + public void afterAdminDeletedUserEvent (@Observes final ObservableAdminDeletedUserEvent event) { // event should not be null if (null == event) { // Throw NPE @@ -510,16 +519,17 @@ public class PizzaUserWebSessionBean extends BasePizzaController implements Pizz this.setUserProfileMode(ProfileMode.INVISIBLE); // Generate random password - String randomPassword = UserUtils.createRandomPassword(PizzaUserWebSessionController.MINIMUM_PASSWORD_LENGTH); + String randomPassword = UserLoginUtils.createRandomPassword(PizzaUserWebSessionController.MINIMUM_PASSWORD_LENGTH); // Set random password this.setUserPassword(randomPassword); this.setUserPasswordRepeat(randomPassword); } - // Set user name and mode + // Set user name profile mode and locale user.setUserName(this.getUserName()); user.setUserProfileMode(this.getUserProfileMode()); + user.setUserLocale(this.localizationController.getLocale()); // Is multiple registration page if ((createContactData) || (!this.featureController.isFeatureEnabled("user_register_multiple_page"))) { //NOI18N @@ -528,14 +538,12 @@ public class PizzaUserWebSessionBean extends BasePizzaController implements Pizz // Debug message //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("{0}.createUserInstance: contact={1}", this.getClass().getSimpleName(), contact)); - // Set contact in user user.setUserContact(contact); } // Trace message //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("{0}.createUserInstance: user={1} - EXIT!", this.getClass().getSimpleName(), user)); - // Return it return user; } @@ -548,23 +556,22 @@ public class PizzaUserWebSessionBean extends BasePizzaController implements Pizz // Is all data set? if (this.getUserName() == null) { // Throw NPE - throw new NullPointerException("recruiterName is null"); //NOI18N + throw new NullPointerException("userName is null"); //NOI18N } else if (this.getUserName().isEmpty()) { // Is empty - throw new IllegalStateException("recruiterName is empty."); //NOI18N + throw new IllegalStateException("userName is empty."); //NOI18N } - // Create new recruiter instance - User recruiter = new LoginUser(); + // Create new user instance + User user = new LoginUser(); // Update all data ... - recruiter.setUserName(this.getUserName()); + user.setUserName(this.getUserName()); // Trace message - //* NOISY-DEBUG */ System.out.println(MessageFormat.format("{0}.createUserLogin: recruiter={1} - EXIT!", this.getClass().getSimpleName(), recruiter)); - + //* NOISY-DEBUG */ System.out.println(MessageFormat.format("{0}.createUserLogin: user={1} - EXIT!", this.getClass().getSimpleName(), user)); // Return the new instance - return recruiter; + return user; } @Override @@ -661,6 +668,14 @@ public class PizzaUserWebSessionBean extends BasePizzaController implements Pizz this.userProfileMode = userProfileMode; } + @Override + public boolean ifBothPasswordsEmptyAllowed () { + // Check feature first + return ((this.featureController.isFeatureEnabled("allow_user_registration_empty_password")) && + ((this.getUserPassword() == null) || (this.getUserPassword().isEmpty())) && + ((this.getUserPasswordRepeat() == null) || (this.getUserPasswordRepeat().isEmpty()))); + } + /** * Post-initialization of this class */ @@ -897,9 +912,6 @@ public class PizzaUserWebSessionBean extends BasePizzaController implements Pizz 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