package org.mxchange.addressbook.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;
*/
private ContactSessionBeanRemote contactBean;
+ /**
+ * Cached list of all email addresses
+ */
+ private List<String> emailAddresses;
+
/**
* Default constructor
*/
// Try to lookup
this.contactBean = (ContactSessionBeanRemote) initialContext.lookup("java:global/addressbook-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
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