]> git.mxchange.org Git - jfinancials-ejb.git/commitdiff
Please cherry-pick:
authorRoland Häder <roland@mxchange.org>
Fri, 7 Jul 2017 22:27:02 +0000 (00:27 +0200)
committerRoland Häder <roland@mxchange.org>
Fri, 7 Jul 2017 22:27:02 +0000 (00:27 +0200)
- rewrote email delivery as EmailDeliveryWrapper() has now a constructor with all required fields
- also saved one parameter (one lesser = easier code)

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/jfinancials/database/BaseFinancialsDatabaseBean.java
src/java/org/mxchange/jfinancials/mailer/model/delivery/FinancialsEmailDeliveryMessageBean.java
src/java/org/mxchange/jusercore/model/user/FinancialsAdminUserSessionBean.java
src/java/org/mxchange/jusercore/model/user/FinancialsUserSessionBean.java
src/java/org/mxchange/jusercore/model/user/email_address/FinancialsUserEmailChangeSessionBean.java
src/java/org/mxchange/jusercore/model/user/register/FinancialsUserRegistrationSessionBean.java
src/java/org/mxchange/jusercore/model/user/resendlink/FinancialsResendLinkSessionBean.java

index 0140d61b8867ade5372b2839a8f516233059944c..4498e6bbe6437b60a848cc3b43d78537385aad2a 100644 (file)
@@ -24,6 +24,8 @@ import javax.ejb.EJBException;
 import javax.jms.JMSException;
 import javax.jms.ObjectMessage;
 import javax.mail.Address;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
 import org.mxchange.jcontacts.contact.Contact;
 import org.mxchange.jcontacts.contact.ContactUtils;
 import org.mxchange.jcoreee.database.BaseDatabaseBean;
@@ -63,8 +65,8 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean {
        /**
         * Constructor with queue factory JNDI and queue JNDI names
         * <p>
-        * @param factoryJndi    JNDI name for queue factory
-        * @param queueJndi JNDI name for email queue
+        * @param factoryJndi JNDI name for queue factory
+        * @param queueJndi   JNDI name for email queue
         */
        protected BaseFinancialsDatabaseBean (final String factoryJndi, final String queueJndi) {
                // Call super constructor
@@ -466,15 +468,14 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean {
         * <p>
         * @param subjectLine    Subject line
         * @param templateName   Template name
-        * @param emailAddress   Recipient's email address
         * @param user           User instance
         * @param baseUrl        Base URL
         * @param randomPassword A randomly-generated password or NULL if user had
         *                       to enter it.
         */
-       protected void sendEmail (final String subjectLine, final String templateName, final Address emailAddress, final User user, final String baseUrl, final String randomPassword) {
+       protected void sendEmail (final String subjectLine, final String templateName, final User user, final String baseUrl, final String randomPassword) {
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("sendEmail: subjectLine={0},templateName={1},emailAddress={2},user={3},baseUrl={4} - CALLED!", subjectLine, templateName, emailAddress, user, baseUrl)); //NOI18N
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("sendEmail: subjectLine={0},templateName={1},user={2},baseUrl={3} - CALLED!", subjectLine, templateName, user, baseUrl)); //NOI18N
 
                // All should be set
                if (null == subjectLine) {
@@ -489,9 +490,6 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean {
                } else if (templateName.isEmpty()) {
                        // No template name
                        throw new IllegalArgumentException("templateName is empty"); //NOI18N
-               } else if (null == emailAddress) {
-                       // Throw NPE
-                       throw new NullPointerException("emailAddress is null"); //NOI18N
                } else if (null == user) {
                        // Throw NPE
                        throw new NullPointerException("user is null"); //NOI18N
@@ -530,9 +528,6 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean {
                        throw new NullPointerException("this.session is not set. Have you forgotten to call super(String, String) and called only super() ?"); //NOI18N
                }
 
-               // Prepare mail wrapper
-               WrapableEmailDelivery emailWrapper = new EmailDeliveryWrapper();
-
                // Set all values
                Properties variables = UserUtils.getAllUserFields(user);
 
@@ -545,13 +540,20 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean {
                        variables.put("randomPassword", randomPassword); //NOI18N
                }
 
-               // Set all
+               // Init addresss
+               Address recipientAddress;
+
+               try {
+                       // Create email address and set
+                       recipientAddress = new InternetAddress(user.getUserContact().getContactEmailAddress());
+               } catch (final AddressException ex) {
+                       // Throw again
+                       throw new EJBException(ex);
+               }
+
+               // Prepare mail wrapper
                // @TODO Language from message bundle
-               emailWrapper.setRecipient(emailAddress);
-               emailWrapper.setLocale(user.getUserLocale());
-               emailWrapper.setSubjectLine(subjectLine);
-               emailWrapper.setTemplateName(templateName);
-               emailWrapper.setTemplateVariables(variables);
+               WrapableEmailDelivery emailWrapper = new EmailDeliveryWrapper(recipientAddress, subjectLine, templateName, variables, user.getUserLocale());
 
                try {
                        // Send out email change
index 12913dbf81c8f50db49b13f160be0e9718ac8751..ac98876e43d7d754919510dcd12a1fcb1d21ab25 100644 (file)
@@ -28,6 +28,7 @@ import javax.jms.Message;
 import javax.jms.MessageListener;
 import javax.jms.ObjectMessage;
 import javax.mail.MessagingException;
+import javax.naming.NamingException;
 import org.mxchange.jfinancials.database.BaseFinancialsDatabaseBean;
 import org.mxchange.jmailee.model.delivery.wrapper.WrapableEmailDelivery;
 
@@ -62,8 +63,10 @@ public class FinancialsEmailDeliveryMessageBean extends BaseFinancialsDatabaseBe
 
        /**
         * Default constructor
+        * <p>
+        * @throws javax.naming.NamingException If a JNDI name could not be found
         */
-       public FinancialsEmailDeliveryMessageBean () {
+       public FinancialsEmailDeliveryMessageBean () throws NamingException {
                // Call super constructor
                super();
 
@@ -161,9 +164,9 @@ public class FinancialsEmailDeliveryMessageBean extends BaseFinancialsDatabaseBe
                if (wrapper.getLocale() == null) {
                        // Throw NPE
                        throw new NullPointerException("wrapper.locale is null"); //NOI18N
-               } else if (wrapper.getRecipient() == null) {
+               } else if (wrapper.getRecipientAddress()== null) {
                        // Throw again ...
-                       throw new NullPointerException("wrapper.recipient is null"); //NOI18N
+                       throw new NullPointerException("wrapper.recipientAddress is null"); //NOI18N
                } else if (wrapper.getSubjectLine() == null) {
                        // ... and again
                        throw new NullPointerException("wrapper.subjectLine is null"); //NOI18N
index 48d5157e88f81e9493fc72aaee8177c544383b6a..90ec2d0c77929f1314631e750a4311cf52f3272a 100644 (file)
@@ -19,11 +19,7 @@ package org.mxchange.jusercore.model.user;
 import java.text.MessageFormat;
 import java.util.GregorianCalendar;
 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 org.mxchange.jcontacts.contact.Contact;
 import org.mxchange.jfinancials.database.BaseFinancialsDatabaseBean;
 import org.mxchange.jusercore.exceptions.EmailAddressAlreadyRegisteredException;
@@ -263,20 +259,10 @@ public class FinancialsAdminUserSessionBean extends BaseFinancialsDatabaseBean i
                User updatedUser = this.userBean.updateUserData(user);
 
                // @TODO Create user lock history entry
-               // Init variable
-               Address emailAddress;
-
-               try {
-                       // Create email address and set
-                       emailAddress = new InternetAddress(updatedUser.getUserContact().getContactEmailAddress());
-               } catch (final AddressException ex) {
-                       // Throw again
-                       throw new EJBException(ex);
-               }
 
                // Send out email
                // @TODO externalize subject line
-               this.sendEmail("User account locked", "user_account_locked", emailAddress, updatedUser, baseUrl, null); //NOI18N
+               this.sendEmail("User account locked", "user_account_locked", updatedUser, baseUrl, null); //NOI18N
 
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.lockUserAccount: updatedUser={1} - EXIT!", this.getClass().getSimpleName(), updatedUser)); //NOI18N
@@ -333,20 +319,10 @@ public class FinancialsAdminUserSessionBean extends BaseFinancialsDatabaseBean i
                User updatedUser = this.userBean.updateUserData(user);
 
                // @TODO Create user lock history entry
-               // Init variable
-               Address emailAddress;
-
-               try {
-                       // Create email address and set
-                       emailAddress = new InternetAddress(updatedUser.getUserContact().getContactEmailAddress());
-               } catch (final AddressException ex) {
-                       // Throw again
-                       throw new EJBException(ex);
-               }
 
                // Send out email
                // @TODO externalize subject line
-               this.sendEmail("User account unlocked", "user_account_unlocked", emailAddress, updatedUser, baseUrl, null); //NOI18N
+               this.sendEmail("User account unlocked", "user_account_unlocked", updatedUser, baseUrl, null); //NOI18N
 
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.lockUserAccount: updatedUser={1} - EXIT!", this.getClass().getSimpleName(), updatedUser)); //NOI18N
index a90fd6c29cbe8f9c200e1f67aa5396273bd4c6a5..bcb495174a1b0f76b44b4f41326f45d4411f7977 100644 (file)
@@ -22,9 +22,6 @@ import java.util.List;
 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.PersistenceException;
 import javax.persistence.Query;
@@ -174,19 +171,8 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem
                // Update user account
                User updatedUser = this.updateUserData(user);
 
-               // Init variable
-               Address emailAddress;
-
-               try {
-                       // Create email address and set
-                       emailAddress = new InternetAddress(updatedUser.getUserContact().getContactEmailAddress());
-               } catch (final AddressException ex) {
-                       // Throw again
-                       throw new EJBException(ex);
-               }
-
                // Send out email
-               this.sendEmail("User account confirmed", "user_account_confirmed", emailAddress, updatedUser, baseUrl, null); //NOI18N
+               this.sendEmail("User account confirmed", "user_account_confirmed", updatedUser, baseUrl, null); //NOI18N
 
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.confirmAccount: updatedUser={1} - EXIT!", this.getClass().getSimpleName(), updatedUser)); //NOI18N
index 3fc67d447de667285a34b591480c52aaa3140b52..f75539118d1eebed08a4420aca74ff540dde6fd6 100644 (file)
@@ -22,9 +22,6 @@ import java.util.List;
 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.jfinancials.database.BaseFinancialsDatabaseBean;
@@ -114,19 +111,9 @@ public class FinancialsUserEmailChangeSessionBean extends BaseFinancialsDatabase
 
                // Persist it
                //@TODO Fix email delivery then allow this: this.getEntityManager().persist(emailChange);
-               // Init variable
-               Address emailAddress;
-
-               try {
-                       // Create email address and set
-                       emailAddress = new InternetAddress(emailChange.getEmailAddress());
-               } catch (final AddressException ex) {
-                       // Throw again
-                       throw new EJBException(ex);
-               }
 
                // Send email
-               this.sendEmail("User email change", "user_email_change", emailAddress, emailChange.getEmailChangeUser(), baseUrl, null); //NOI18N
+               this.sendEmail("User email change", "user_email_change", emailChange.getEmailChangeUser(), baseUrl, null); //NOI18N
 
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.enqueueEmailAddressForChange - EXIT!", this.getClass().getSimpleName())); //NOI18N
index 7a52540ed80c2728faf6c89d227ad5aa50870a3e..efe97c84b7e514c94d0d03256ddda03fdf1c7a42 100644 (file)
@@ -19,11 +19,7 @@ package org.mxchange.jusercore.model.user.register;
 import java.text.MessageFormat;
 import java.util.Objects;
 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;
@@ -183,17 +179,6 @@ public class FinancialsUserRegistrationSessionBean extends BaseFinancialsDatabas
                // Call other EJB
                User addedUser = this.adminUserBean.addUser(user);
 
-               // Init variable
-               Address emailAddress;
-
-               try {
-                       // Create email address and set
-                       emailAddress = new InternetAddress(addedUser.getUserContact().getContactEmailAddress());
-               } catch (final AddressException ex) {
-                       // Throw again
-                       throw new EJBException(ex);
-               }
-
                // Default template is with no random password
                String templateName = "user_registration"; //NOI18N
 
@@ -205,7 +190,7 @@ public class FinancialsUserRegistrationSessionBean extends BaseFinancialsDatabas
 
                // Send email
                // @TODO: Internationlize the subject line somehow
-               this.sendEmail("Registration", templateName, emailAddress, addedUser, baseUrl, randomPassword); //NOI18N
+               this.sendEmail("Registration", templateName, addedUser, baseUrl, randomPassword); //NOI18N
 
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.registerUser: addedUser={1},addedUser.userId={2} - EXIT!", this.getClass().getSimpleName(), addedUser, addedUser.getUserId())); //NOI18N
index fa9a07d565e6e21bc13e71fcd7af7ededa90b0b4..7a470b5c7358333a83867e5a79d962d16014d539 100644 (file)
@@ -19,11 +19,7 @@ package org.mxchange.jusercore.model.user.resendlink;
 import java.text.MessageFormat;
 import java.util.Locale;
 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 org.mxchange.jfinancials.database.BaseFinancialsDatabaseBean;
 import org.mxchange.jusercore.exceptions.UserNotFoundException;
 import org.mxchange.jusercore.exceptions.UserStatusConfirmedException;
@@ -107,20 +103,9 @@ public class FinancialsResendLinkSessionBean extends BaseFinancialsDatabaseBean
                // Set it in user
                managedUser.setUserConfirmKey(confirmationKey);
 
-               // Init variable
-               Address emailAddress;
-
-               try {
-                       // Create email address and set
-                       emailAddress = new InternetAddress(managedUser.getUserContact().getContactEmailAddress());
-               } catch (final AddressException ex) {
-                       // Throw again
-                       throw new EJBException(ex);
-               }
-
                // Send email
                // @TODO: Internationlize the subject line somehow
-               this.sendEmail("Resend user confirmation link", "user_resend_confirmation_link", emailAddress, user, baseUrl, null); //NOI18N
+               this.sendEmail("Resend user confirmation link", "user_resend_confirmation_link",  user, baseUrl, null); //NOI18N
 
                // Log trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.resendConfirmationLink: EXIT!", this.getClass().getSimpleName())); //NOI18N