]> git.mxchange.org Git - jjobs-ejb.git/commitdiff
Continued a bit:
authorRoland Häder <roland@mxchange.org>
Wed, 18 May 2016 09:01:48 +0000 (11:01 +0200)
committerRoland Haeder <roland@mxchange.org>
Thu, 26 May 2016 13:19:36 +0000 (15:19 +0200)
- Fixed mail delivery (opps)

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/jmailee/model/delivery/JobsEmailDeliveryMessageBean.java

index 1f32581d64fee28c3b0fd69a4aa8133199d2fce4..48c4ec978991cdc4ad512b6c373e040eababab25 100644 (file)
@@ -27,9 +27,11 @@ import javax.jms.JMSException;
 import javax.jms.Message;
 import javax.jms.MessageListener;
 import javax.jms.ObjectMessage;
+import javax.mail.MessagingException;
 import org.mxchange.jjobs.database.BaseJobsDatabaseBean;
 import org.mxchange.jjobsmailer.model.delivery.DeliverableJobsEmail;
 import org.mxchange.jjobsmailer.model.delivery.JobsMailer;
+import org.mxchange.jmailee.model.delivery.wrapper.WrapableEmailDelivery;
 
 /**
  * A message queue for sending out emails
@@ -51,14 +53,14 @@ public class JobsEmailDeliveryMessageBean extends BaseJobsDatabaseBean implement
        private static final long serialVersionUID = 75_638_176_619_024L;
 
        /**
-        * Mailer instance
+        * Configuration file
         */
-       private final DeliverableJobsEmail mailer;
+       private final String configFile = "org.mxchange.jmailer.config"; //NOI18N
 
        /**
-        * Configuration file
+        * Mailer instance
         */
-       private final String configFile = "org.mxchange.jmailer.config"; //NOI18N
+       private final DeliverableJobsEmail mailer;
 
        /**
         * Default constructor
@@ -68,41 +70,6 @@ public class JobsEmailDeliveryMessageBean extends BaseJobsDatabaseBean implement
                this.mailer = new JobsMailer();
        }
 
-       @Override
-       public void onMessage (final Message message) {
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("onMessage: message={0} - CALLED!", message)); //NOI18N
-               // The parameter should be valid
-               if (null == message) {
-                       // Throw NPE
-                       throw new NullPointerException("message is null"); //NOI18N
-               } else if (!(message instanceof ObjectMessage)) {
-                       // Not implementing right interface
-                       throw new IllegalArgumentException(MessageFormat.format("message={0} does not implemented ObjectMessage", message)); //NOI18N
-               }
-
-               // Securely cast it
-               ObjectMessage objectMessage = (ObjectMessage) message;
-
-               // Init variable
-               Serializable serializable;
-
-               try {
-                       // Get object from message
-                       serializable = objectMessage.getObject();
-               } catch (final JMSException ex) {
-                       // Log it and don't continue any further
-                       this.getLoggerBeanLocal().logException(ex);
-                       return;
-               }
-
-               // Debug message
-               this.getLoggerBeanLocal().logDebug(MessageFormat.format("onMessage: serializable={0}", serializable)); //NOI18N
-
-               // Trace message
-               this.getLoggerBeanLocal().logTrace("onMessage - EXIT!"); //NOI18N
-       }
-
        /**
         * Post-construction
         */
@@ -144,4 +111,83 @@ public class JobsEmailDeliveryMessageBean extends BaseJobsDatabaseBean implement
                // Trace message
                this.getLoggerBeanLocal().logTrace("init: EXIT!"); //NOI18N
        }
+
+       @Override
+       public void onMessage (final Message message) {
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("onMessage: message={0} - CALLED!", message)); //NOI18N
+
+               // The parameter should be valid
+               if (null == message) {
+                       // Throw NPE
+                       throw new NullPointerException("message is null"); //NOI18N
+               } else if (!(message instanceof ObjectMessage)) {
+                       // Not implementing right interface
+                       throw new IllegalArgumentException(MessageFormat.format("message={0} does not implemented ObjectMessage", message)); //NOI18N
+               }
+
+               // Securely cast it
+               ObjectMessage objectMessage = (ObjectMessage) message;
+
+               // Init variable
+               Serializable serializable;
+
+               try {
+                       // Get object from message
+                       serializable = objectMessage.getObject();
+               } catch (final JMSException ex) {
+                       // Log it and don't continue any further
+                       this.getLoggerBeanLocal().logException(ex);
+                       return;
+               }
+
+               // Debug message
+               this.getLoggerBeanLocal().logDebug(MessageFormat.format("onMessage: serializable={0}", serializable)); //NOI18N
+
+               // Okay, is it the right interface?
+               if (null == serializable) {
+                       // Throw NPE
+                       throw new NullPointerException("serializable is null"); //NOI18N
+               } else if (!(serializable instanceof WrapableEmailDelivery)) {
+                       // Not correct object send
+                       throw new IllegalArgumentException(MessageFormat.format("serializable={0} does not implement WrapableEmailDelivery", serializable)); //NOI18N
+               }
+
+               // Securely cast it
+               WrapableEmailDelivery wrapper = (WrapableEmailDelivery) serializable;
+
+               // Is all required set?
+               if (wrapper.getLocale() == null) {
+                       // Throw NPE
+                       throw new NullPointerException("wrapper.locale is null"); //NOI18N
+               } else if (wrapper.getRecipient() == null) {
+                       // Throw again ...
+                       throw new NullPointerException("wrapper.recipient is null"); //NOI18N
+               } else if (wrapper.getSubjectLine() == null) {
+                       // ... and again
+                       throw new NullPointerException("wrapper.subjectLine is null"); //NOI18N
+               } else if (wrapper.getSubjectLine().isEmpty()) {
+                       // Is empty
+                       throw new IllegalArgumentException("wrapper.subjectLine is empty"); //NOI18N
+               } else if (wrapper.getTemplateName() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("wrapper.templateName is null"); //NOI18N
+               } else if (wrapper.getTemplateName().isEmpty()) {
+                       // Is empty
+                       throw new IllegalArgumentException("wrapper.templateName is empty"); //NOI18N
+               }
+
+               try {
+                       // Send email out
+                       this.mailer.sendDeliverableMail(wrapper);
+               } catch (final MessagingException ex) {
+                       // Opps, something went wrong
+                       this.getLoggerBeanLocal().logException(ex);
+                       return;
+               }
+
+               // Trace message
+               this.getLoggerBeanLocal().logTrace("onMessage - EXIT!"); //NOI18N
+       }
+
 }