Author: mbrohl
Date: Mon Dec 18 12:21:16 2017 New Revision: 1818557 URL: http://svn.apache.org/viewvc?rev=1818557&view=rev Log: Improved: General refactoring and code improvements, package org.apache.ofbiz.common.email. (OFBIZ-9876) Thanks Julian Leichert for reporting and providing the patches. Modified: ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/EmailServices.java ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/NotificationServices.java Modified: ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/EmailServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/EmailServices.java?rev=1818557&r1=1818556&r2=1818557&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/EmailServices.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/EmailServices.java Mon Dec 18 12:21:16 2017 @@ -139,8 +139,12 @@ public class EmailServices { if (UtilValidate.isNotEmpty(redirectAddress)) { StringBuilder sb = new StringBuilder(); sb.append(" [To: ").append(sendTo); - if (UtilValidate.isNotEmpty(sendCc)) sb.append(", Cc: ").append(sendCc); - if (UtilValidate.isNotEmpty(sendBcc)) sb.append(", Bcc: ").append(sendBcc); + if (UtilValidate.isNotEmpty(sendCc)) { + sb.append(", Cc: ").append(sendCc); + } + if (UtilValidate.isNotEmpty(sendBcc)) { + sb.append(", Bcc: ").append(sendBcc); + } sb.append("]"); subject += sb.toString(); sendTo = redirectAddress; @@ -305,10 +309,6 @@ public class EmailServices { Debug.logError(e, "MessagingException when creating message to [" + sendTo + "] from [" + sendFrom + "] cc [" + sendCc + "] bcc [" + sendBcc + "] subject [" + subject + "]", module); Debug.logError("Email message that could not be created to [" + sendTo + "] had context: " + context, module); return ServiceUtil.returnError(UtilProperties.getMessage(resource, "CommonEmailSendMessagingException", UtilMisc.toMap("sendTo", sendTo, "sendFrom", sendFrom, "sendCc", sendCc, "sendBcc", sendBcc, "subject", subject), locale)); - } catch (IOException e) { - Debug.logError(e, "IOExcepton when creating message to [" + sendTo + "] from [" + sendFrom + "] cc [" + sendCc + "] bcc [" + sendBcc + "] subject [" + subject + "]", module); - Debug.logError("Email message that could not be created to [" + sendTo + "] had context: " + context, module); - return ServiceUtil.returnError(UtilProperties.getMessage(resource, "CommonEmailSendIOException", UtilMisc.toMap("sendTo", sendTo, "sendFrom", sendFrom, "sendCc", sendCc, "sendBcc", sendBcc, "subject", subject), locale)); } // check to see if sending mail is enabled @@ -432,20 +432,34 @@ public class EmailServices { List<String> xslfoAttachScreenLocationListParam = UtilGenerics.checkList(serviceContext.remove("xslfoAttachScreenLocationList")); List<String> attachmentNameListParam = UtilGenerics.checkList(serviceContext.remove("attachmentNameList")); VisualTheme visualTheme = (VisualTheme) rServiceContext.get("visualTheme"); - if (visualTheme == null) visualTheme = ThemeFactory.resolveVisualTheme(null); + if (visualTheme == null) { + visualTheme = ThemeFactory.resolveVisualTheme(null); + } List<String> xslfoAttachScreenLocationList = new LinkedList<>(); List<String> attachmentNameList = new LinkedList<>(); - if (UtilValidate.isNotEmpty(xslfoAttachScreenLocationParam)) xslfoAttachScreenLocationList.add(xslfoAttachScreenLocationParam); - if (UtilValidate.isNotEmpty(attachmentNameParam)) attachmentNameList.add(attachmentNameParam); - if (UtilValidate.isNotEmpty(xslfoAttachScreenLocationListParam)) xslfoAttachScreenLocationList.addAll(xslfoAttachScreenLocationListParam); - if (UtilValidate.isNotEmpty(attachmentNameListParam)) attachmentNameList.addAll(attachmentNameListParam); + if (UtilValidate.isNotEmpty(xslfoAttachScreenLocationParam)) { + xslfoAttachScreenLocationList.add(xslfoAttachScreenLocationParam); + } + if (UtilValidate.isNotEmpty(attachmentNameParam)) { + attachmentNameList.add(attachmentNameParam); + } + if (UtilValidate.isNotEmpty(xslfoAttachScreenLocationListParam)) { + xslfoAttachScreenLocationList.addAll(xslfoAttachScreenLocationListParam); + } + if (UtilValidate.isNotEmpty(attachmentNameListParam)) { + attachmentNameList.addAll(attachmentNameListParam); + } List<String> attachmentTypeList = new LinkedList<>(); String attachmentTypeParam = (String) serviceContext.remove("attachmentType"); List<String> attachmentTypeListParam = UtilGenerics.checkList(serviceContext.remove("attachmentTypeList")); - if (UtilValidate.isNotEmpty(attachmentTypeParam)) attachmentTypeList.add(attachmentTypeParam); - if (UtilValidate.isNotEmpty(attachmentTypeListParam)) attachmentTypeList.addAll(attachmentTypeListParam); + if (UtilValidate.isNotEmpty(attachmentTypeParam)) { + attachmentTypeList.add(attachmentTypeParam); + } + if (UtilValidate.isNotEmpty(attachmentTypeListParam)) { + attachmentTypeList.addAll(attachmentTypeListParam); + } Locale locale = (Locale) serviceContext.get("locale"); Map<String, Object> bodyParameters = UtilGenerics.checkMap(serviceContext.remove("bodyParameters")); @@ -476,10 +490,7 @@ public class EmailServices { ScreenStringRenderer screenStringRenderer = null; try { screenStringRenderer = new MacroScreenRenderer("screen", visualTheme.getModelTheme().getScreenRendererLocation("screen")); - } catch (TemplateException e) { - Debug.logError(e, "Error rendering screen for email: " + e.toString(), module); - return ServiceUtil.returnError(UtilProperties.getMessage(resource, "CommonEmailSendRenderingScreenEmailError", UtilMisc.toMap("errorString", e.toString()), locale)); - } catch (IOException e) { + } catch (TemplateException | IOException e) { Debug.logError(e, "Error rendering screen for email: " + e.toString(), module); return ServiceUtil.returnError(UtilProperties.getMessage(resource, "CommonEmailSendRenderingScreenEmailError", UtilMisc.toMap("errorString", e.toString()), locale)); } @@ -490,16 +501,7 @@ public class EmailServices { if (bodyScreenUri != null) { try { screens.render(bodyScreenUri); - } catch (GeneralException e) { - Debug.logError(e, "Error rendering screen for email: " + e.toString(), module); - return ServiceUtil.returnError(UtilProperties.getMessage(resource, "CommonEmailSendRenderingScreenEmailError", UtilMisc.toMap("errorString", e.toString()), locale)); - } catch (IOException e) { - Debug.logError(e, "Error rendering screen for email: " + e.toString(), module); - return ServiceUtil.returnError(UtilProperties.getMessage(resource, "CommonEmailSendRenderingScreenEmailError", UtilMisc.toMap("errorString", e.toString()), locale)); - } catch (SAXException e) { - Debug.logError(e, "Error rendering screen for email: " + e.toString(), module); - return ServiceUtil.returnError(UtilProperties.getMessage(resource, "CommonEmailSendRenderingScreenEmailError", UtilMisc.toMap("errorString", e.toString()), locale)); - } catch (ParserConfigurationException e) { + } catch (GeneralException | IOException | SAXException | ParserConfigurationException e) { Debug.logError(e, "Error rendering screen for email: " + e.toString(), module); return ServiceUtil.returnError(UtilProperties.getMessage(resource, "CommonEmailSendRenderingScreenEmailError", UtilMisc.toMap("errorString", e.toString()), locale)); } @@ -592,7 +594,9 @@ public class EmailServices { // also expand the subject at this point, just in case it has the FlexibleStringExpander syntax in it... String subject = (String) serviceContext.remove("subject"); subject = FlexibleStringExpander.expandString(subject, screenContext, locale); - Debug.logInfo("Expanded email subject to: " + subject, module); + if (Debug.infoOn()) { + Debug.logInfo("Expanded email subject to: " + subject, module); + } serviceContext.put("subject", subject); serviceContext.put("partyId", partyId); if (UtilValidate.isNotEmpty(orderId)) { @@ -602,7 +606,9 @@ public class EmailServices { serviceContext.put("custRequestId", custRequestId); } - if (Debug.verboseOn()) Debug.logVerbose("sendMailFromScreen sendMail context: " + serviceContext, module); + if (Debug.verboseOn()) { + Debug.logVerbose("sendMailFromScreen sendMail context: " + serviceContext, module); + } Map<String, Object> result = ServiceUtil.returnSuccess(); Map<String, Object> sendMailResult; @@ -724,7 +730,7 @@ public class EmailServices { private String contentType; private byte[] contentArray; - public ByteArrayDataSource(byte[] content, String contentType) throws IOException { + public ByteArrayDataSource(byte[] content, String contentType) { this.contentType = contentType; this.contentArray = content.clone(); } @@ -733,7 +739,7 @@ public class EmailServices { return contentType == null ? "application/octet-stream" : contentType; } - public InputStream getInputStream() throws IOException { + public InputStream getInputStream() { return new ByteArrayInputStream(contentArray); } Modified: ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/NotificationServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/NotificationServices.java?rev=1818557&r1=1818556&r2=1818557&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/NotificationServices.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/email/NotificationServices.java Mon Dec 18 12:21:16 2017 @@ -146,7 +146,7 @@ public class NotificationServices { // make sure we have a valid body before sending if (body != null) { // retain only the required attributes for the sendMail service - Map<String, Object> emailContext = new LinkedHashMap<String, Object>(); + Map<String, Object> emailContext = new LinkedHashMap<>(); emailContext.put("sendTo", context.get("sendTo")); emailContext.put("body", body); emailContext.put("sendCc", context.get("sendCc")); @@ -194,7 +194,7 @@ public class NotificationServices { Locale locale = (Locale) context.get("locale"); Map<String, Object> result = null; if (templateData == null) { - templateData = new LinkedHashMap<String, Object>(); + templateData = new LinkedHashMap<>(); } try { |
Free forum by Nabble | Edit this page |