import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import org.mxchange.jcontacts.contact.Contact;
+import org.mxchange.jcontacts.contact.UserContact;
import org.mxchange.jusercore.events.registration.RegisteredUserEvent;
import org.mxchange.jusercore.events.registration.UserRegisteredEvent;
import org.mxchange.jusercore.exceptions.DataRepeatMismatchException;
// Get user instance
User user = this.userController.createUserInstance();
- // Page 1 has only email address and maybe user name
+ // First check if user is not null and user name is not used + if same email address is entered
if (null == user) {
// user must be set
throw new NullPointerException("user is null after createUserInstance() was called"); //NOI18N
} else if ((this.userController.isUserNameRequired()) && (this.userController.isUserNameRegistered(user))) {
// User name is already used
throw new FaceletException(new UserNameAlreadyRegisteredException(user));
- } else if (this.contactController.isEmailAddressRegistered(user.getUserContact())) {
- // Email address has already been taken
- throw new FaceletException(new EmailAddressAlreadyRegisteredException(user));
} else if (!this.contactController.isSameEmailAddressEntered()) {
// Not same email address entered
throw new FaceletException(new DataRepeatMismatchException(MessageFormat.format("Email addresses not matching: {0} != {1}", this.contactController.getEmailAddress(), this.contactController.getEmailAddressRepeat()))); //NOI18N
}
+ // Create half contact instance with email address
+ Contact contact = new UserContact();
+ contact.setContactEmailAddress(this.contactController.getEmailAddress());
+
+ // Set contact in user
+ user.setUserContact(contact);
+
+ // Check if email address is registered
+ if (this.contactController.isEmailAddressRegistered(user.getUserContact())) {
+ // Email address has already been taken
+ throw new FaceletException(new EmailAddressAlreadyRegisteredException(user));
+ }
+
// Now only redirect to next page as the JSF does it
return "register_page2"; //NOI18N
}