From 5109808a9547c1d897c3adea8c072642ecf0e32c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sat, 8 Jul 2017 00:49:34 +0200 Subject: [PATCH] Please cherry-pick: - "cached" beanHelper.contact locally so such "expensive" calls are reduced - and the instance has not changed between two calls anyway MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../user/PizzaAdminUserWebRequestBean.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/java/org/mxchange/pizzaapplication/beans/user/PizzaAdminUserWebRequestBean.java b/src/java/org/mxchange/pizzaapplication/beans/user/PizzaAdminUserWebRequestBean.java index b053ea30..c592b378 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/user/PizzaAdminUserWebRequestBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/user/PizzaAdminUserWebRequestBean.java @@ -203,6 +203,9 @@ public class PizzaAdminUserWebRequestBean extends BasePizzaController implements @Override public String addUser () { + // Get contact from bean helper to "cache" it locally + Contact contact = this.beanHelper.getContact(); + // As the form cannot validate the data (required="true"), check it here if (this.getUserName() == null) { // Throw NPE @@ -210,7 +213,7 @@ public class PizzaAdminUserWebRequestBean extends BasePizzaController implements } else if (this.getUserName().isEmpty()) { // Is empty throw new IllegalArgumentException("userName is null"); //NOI18N - } else if (this.beanHelper.getContact() == null) { + } else if (contact == null) { // No contact instance set, so test required fields: gender, first name and family name if (this.contactController.getPersonalTitle() == null) { // Throw NPE again @@ -224,7 +227,7 @@ public class PizzaAdminUserWebRequestBean extends BasePizzaController implements } else if (this.adminContactController.getFamilyName() == null) { // ... and again throw new NullPointerException("contactController.familyName is null"); //NOI18N - } else if (this.contactController.getFamilyName().isEmpty()) { + } else if (this.adminContactController.getFamilyName().isEmpty()) { // ... and again throw new IllegalArgumentException("contactController.familyName is empty"); //NOI18N } else if (this.adminContactController.getEmailAddress() == null) { @@ -238,27 +241,29 @@ public class PizzaAdminUserWebRequestBean extends BasePizzaController implements // Create new user instance User user = new LoginUser(); - // Set user name, CONFIRMED and INVISIBLE user.setUserName(this.getUserName()); user.setUserMustChangePassword(this.getUserMustChangePassword()); user.setUserAccountStatus(UserAccountStatus.CONFIRMED); user.setUserProfileMode(ProfileMode.INVISIBLE); + // Copy user locale + user.setUserLocale(this.localizationController.getLocale()); + // Init instance - Contact contact; + Contact userContact; // Is a contact instance in helper set? - if (this.beanHelper.getContact() instanceof Contact) { + if (contact instanceof Contact) { // Then use it for contact linking - contact = this.beanHelper.getContact(); + userContact = contact; } else { // Create contact instance - contact = this.contactController.createContactInstance(); + userContact = this.contactController.createContactInstance(); } // Set contact in user - user.setUserContact(contact); + user.setUserContact(userContact); // Init variable for password String password = null; @@ -268,7 +273,7 @@ public class PizzaAdminUserWebRequestBean extends BasePizzaController implements if (this.userController.isUserNameRegistered(user)) { // User name is already used throw new FaceletException(new UserNameAlreadyRegisteredException(user)); - } else if ((this.beanHelper.getContact() == null) && (this.contactController.isEmailAddressRegistered(user.getUserContact()))) { + } else if ((contact == null) && (this.contactController.isEmailAddressRegistered(user.getUserContact()))) { // Email address is already used this.showFacesMessage("admin_add_user:emailAddress", "ERROR_EMAIL_ADDRESS_ALREADY_USED"); //NOI18N @@ -298,15 +303,12 @@ public class PizzaAdminUserWebRequestBean extends BasePizzaController implements try { // Now, that all is set, call EJB - if (this.beanHelper.getContact() instanceof Contact) { + if (contact instanceof Contact) { // Link contact with this user User updatedUser = this.adminUserBean.linkUser(user); // Fire event this.userLinkedEvent.fire(new AdminLinkedUserEvent(updatedUser)); - - // Remove contact instance - this.beanHelper.setContact(null); } else { // Add new contact User updatedUser = this.adminUserBean.addUser(user); -- 2.39.5