From cd9647f91b4e3aeba8dc55b3b969c36f662a07f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Thu, 6 Jul 2017 23:14:10 +0200 Subject: [PATCH] If this is a generic method in a general mailer class, then *do always* check all arguments deeply. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../jmailee/model/delivery/BaseMailer.java | 63 +++++++++++++++---- 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/src/org/mxchange/jmailee/model/delivery/BaseMailer.java b/src/org/mxchange/jmailee/model/delivery/BaseMailer.java index 2e677f7..c9283f8 100644 --- a/src/org/mxchange/jmailee/model/delivery/BaseMailer.java +++ b/src/org/mxchange/jmailee/model/delivery/BaseMailer.java @@ -136,10 +136,43 @@ public abstract class BaseMailer implements DeliverableEmail { // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("sendMail: emailWrapper={0},body={1},mailSession={2} - CALLED!", emailWrapper, writer, mailSession)); //NOI18N - // Are the additional properties set? + // Are the additional properties and all parameter set? if (null == this.properties) { // Nothing set throw new NullPointerException("this.properties is null"); //NOI18N + } else if (null == emailWrapper) { + // Throw NPE + throw new NullPointerException("emailWrapper is null"); //NOI18N + } else if (emailWrapper.getLocale() == null) { + // Throw it again + throw new NullPointerException("emailWrapper.locale is null"); //NOI18N + } else if (emailWrapper.getRecipient() == null) { + // Throw it again + throw new NullPointerException("emailWrapper.recipient is null"); //NOI18N + } else if (emailWrapper.getTemplateName() == null) { + // Throw it again + throw new NullPointerException("emailWrapper.templateName is null"); //NOI18N + } else if (emailWrapper.getTemplateName().isEmpty()) { + // Throw IAE + throw new IllegalArgumentException("emailWrapper.templateName is empty"); //NOI18N + } else if (emailWrapper.getTemplateVariables() == null) { + // Throw NPE again + throw new NullPointerException("emailWrapper.templateVariables is null"); //NOI18N + } else if (emailWrapper.getTemplateVariables().isEmpty()) { + // Throw IAE + throw new IllegalArgumentException("emailWrapper.templateVariables is empty"); //NOI18N + } else if (!emailWrapper.getTemplateVariables().containsKey("baseUrl")) { //NOI18N + // Not set + throw new IllegalArgumentException("emailWrapper.templateVariables.baseUrl is not set"); //NOI18N + } else if (null == writer) { + // Throw NPE + throw new NullPointerException("writer is null"); //NOI18N + } else if (writer.toString().isEmpty()) { + // Throw IAE + throw new IllegalArgumentException("writer.string is empty"); //NOI18N + } else if (null == mailSession) { + // Throw NPE + throw new NullPointerException("mailSession is null"); //NOI18N } // Get MIME message instance @@ -209,24 +242,30 @@ public abstract class BaseMailer implements DeliverableEmail { } else if (null == emailWrapper) { // Throw NPE throw new NullPointerException("emailWrapper is null"); //NOI18N + } else if (emailWrapper.getLocale() == null) { + // Throw it again + throw new NullPointerException("emailWrapper.locale is null"); //NOI18N } else if (emailWrapper.getRecipient() == null) { - // Throw NPE again + // Throw it again throw new NullPointerException("emailWrapper.recipient is null"); //NOI18N - } else if (emailWrapper.getSubjectLine() == null) { - // ... and again - throw new NullPointerException("emailWrapper.subjectLine is null"); //NOI18N - } else if (emailWrapper.getSubjectLine().isEmpty()) { - // Is empty - throw new IllegalArgumentException("emailWrapper.subjectLine is empty"); //NOI18N } else if (emailWrapper.getTemplateName() == null) { - // ... and again + // Throw it again throw new NullPointerException("emailWrapper.templateName is null"); //NOI18N } else if (emailWrapper.getTemplateName().isEmpty()) { - // Is empty + // Throw IAE throw new IllegalArgumentException("emailWrapper.templateName is empty"); //NOI18N - } else if (emailWrapper.getLocale() == null) { + } else if (emailWrapper.getTemplateVariables() == null) { // Throw NPE again - throw new NullPointerException("emailWrapper.locale is null"); //NOI18N + throw new NullPointerException("emailWrapper.templateVariables is null"); //NOI18N + } else if (emailWrapper.getTemplateVariables().isEmpty()) { + // Throw IAE + throw new IllegalArgumentException("emailWrapper.templateVariables is empty"); //NOI18N + } else if (!emailWrapper.getTemplateVariables().containsKey("baseUrl")) { //NOI18N + // Not set + throw new IllegalArgumentException("emailWrapper.templateVariables.baseUrl is not set"); //NOI18N + } else if (null == mailSession) { + // Throw NPE + throw new NullPointerException("mailSession is null"); //NOI18N } // Get writer instance -- 2.39.5