From a98c615dee2412f050d8be75e4e931f91e65326c Mon Sep 17 00:00:00 2001
From: =?utf8?q?Roland=20H=C3=A4der?= <roland@mxchange.org>
Date: Wed, 18 May 2016 09:50:46 +0200
Subject: [PATCH] Continued a bit: - added sending out registration email -
 added internal TODO

---
 .../AddressbookResendLinkSessionBean.java     |  1 +
 ...ddressbookUserRegistrationSessionBean.java | 28 ++++++++++++++++++-
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/java/org/mxchange/addressbook/beans/resendlink/AddressbookResendLinkSessionBean.java b/src/java/org/mxchange/addressbook/beans/resendlink/AddressbookResendLinkSessionBean.java
index 825f4ef..036e5d0 100644
--- a/src/java/org/mxchange/addressbook/beans/resendlink/AddressbookResendLinkSessionBean.java
+++ b/src/java/org/mxchange/addressbook/beans/resendlink/AddressbookResendLinkSessionBean.java
@@ -81,6 +81,7 @@ public class AddressbookResendLinkSessionBean extends BaseAddressbookDatabaseBea
 		}
 
 		// Send email
+		// TODO: Internationlize the subject line somehow
 		this.sendEmail("Resend confirmation link", "resend_confirmation_link", emailAddress, user); //NOI18N
 
 		// Log trace message
diff --git a/src/java/org/mxchange/jusercore/model/register/AddressbookUserRegistrationSessionBean.java b/src/java/org/mxchange/jusercore/model/register/AddressbookUserRegistrationSessionBean.java
index 98ce503..30aeb2b 100644
--- a/src/java/org/mxchange/jusercore/model/register/AddressbookUserRegistrationSessionBean.java
+++ b/src/java/org/mxchange/jusercore/model/register/AddressbookUserRegistrationSessionBean.java
@@ -18,7 +18,11 @@ package org.mxchange.jusercore.model.register;
 
 import java.text.MessageFormat;
 import javax.ejb.EJB;
+import javax.ejb.EJBException;
 import javax.ejb.Stateless;
+import javax.mail.Address;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
 import javax.persistence.NoResultException;
 import javax.persistence.Query;
 import org.mxchange.jcontacts.contact.Contact;
@@ -140,6 +144,15 @@ public class AddressbookUserRegistrationSessionBean extends BaseDatabaseBean imp
 		if (null == user) {
 			// Abort here
 			throw new NullPointerException("user is null"); //NOI18N
+		} else if (user.getUserContact() == null) {
+			// Throw NPE again
+			throw new NullPointerException("user.userContact is null"); //NOI18N
+		} else if (user.getUserContact().getContactEmailAddress() == null) {
+			// Throw NPE again
+			throw new NullPointerException("user.userContact.contactEmailAddress is null"); //NOI18N
+		} else if (user.getUserContact().getContactEmailAddress().isEmpty()) {
+			// Is empty
+			throw new IllegalArgumentException("user.userContact.contactEmailAddress is empty"); //NOI18N
 		}
 
 		// Check if user is registered
@@ -154,7 +167,20 @@ public class AddressbookUserRegistrationSessionBean extends BaseDatabaseBean imp
 		// Call other EJB
 		User addedUser = this.userBean.addUser(user);
 
-		// Create email
+		// Init variable
+		Address emailAddress;
+
+		try {
+			// Create email address and set
+			emailAddress = new InternetAddress(user.getUserContact().getContactEmailAddress());
+		} catch (final AddressException ex) {
+			// Throw again
+			throw new EJBException(ex);
+		}
+
+		// Send email
+		// TODO: Internationlize the subject line somehow
+		this.sendEmail("Registration", "registration", emailAddress, user); //NOI18N
 
 		// Trace message
 		this.getLoggerBeanLocal().logTrace(MessageFormat.format("registerUser: addedUser={0},addedUser.userId={1} - EXIT!", addedUser, addedUser.getUserId())); //NOI18N
-- 
2.39.5