From: Roland Häder Date: Sun, 25 Jun 2017 18:32:08 +0000 (+0200) Subject: Please cherry-pick: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=ebc6df9c26cd92157dbc2313982d4c1aefa6de9f;p=jjobs-war.git Please cherry-pick: - always rely on "cached" lists rather than calling EJB for each request Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jjobs/validator/emailaddress/JobsEmailAddressValidator.java b/src/java/org/mxchange/jjobs/validator/emailaddress/JobsEmailAddressValidator.java index feb195d8..4bc5ac41 100644 --- a/src/java/org/mxchange/jjobs/validator/emailaddress/JobsEmailAddressValidator.java +++ b/src/java/org/mxchange/jjobs/validator/emailaddress/JobsEmailAddressValidator.java @@ -17,6 +17,7 @@ package org.mxchange.jjobs.validator.emailaddress; import java.text.MessageFormat; +import java.util.List; import java.util.regex.Pattern; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; @@ -49,6 +50,11 @@ public class JobsEmailAddressValidator extends BaseStringValidator implements Va */ private ContactSessionBeanRemote contactBean; + /** + * Cached list of all email addresses + */ + private List emailAddresses; + /** * Default constructor */ @@ -90,6 +96,9 @@ public class JobsEmailAddressValidator extends BaseStringValidator implements Va // Try to lookup this.contactBean = (ContactSessionBeanRemote) initialContext.lookup("java:global/jjobs-ejb/contact!org.mxchange.jcontacts.contact.ContactSessionBeanRemote"); //NOI18N + + // Get whole list of email addresses + this.emailAddresses = this.contactBean.getEmailAddressList(); } catch (final NamingException ex) { // Continue to throw it throw new ConverterException(MessageFormat.format("initialContext.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N @@ -101,13 +110,13 @@ public class JobsEmailAddressValidator extends BaseStringValidator implements Va String clientId = component.getClientId(); // Is the email address already registered? - if ((!clientId.endsWith("resendEmailAddress")) && (this.contactBean.isEmailAddressRegistered(emailAddress))) { //NOI18N + if ((!clientId.endsWith("resendEmailAddress")) && (this.emailAddresses.contains(emailAddress))) { //NOI18N // Generate message String message = MessageFormat.format("Email address {0} is already registered.", emailAddress); //NOI18N // No, then abort here throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_INFO, message, message)); - } else if ((clientId.endsWith("resendEmailAddress")) && (!this.contactBean.isEmailAddressRegistered(emailAddress))) { //NOI18N + } else if ((clientId.endsWith("resendEmailAddress")) && (!this.emailAddresses.contains(emailAddress))) { //NOI18N // Generate message String message = MessageFormat.format("Email address {0} is not registered.", emailAddress); //NOI18N