From a93f037e5bf73998eb9b6e7177b93efaad342384 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/JobsAdminUserWebRequestBean.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java b/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java index bba299c5..28bcde2c 100644 --- a/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java +++ b/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java @@ -203,6 +203,9 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J @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 JobsAdminUserWebRequestBean extends BaseJobsController implements J } 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 @@ -246,19 +249,19 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J user.setUserProfileMode(ProfileMode.INVISIBLE); // 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 +271,7 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J 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 +301,12 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J 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