You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by de...@apache.org on 2016/02/20 09:48:31 UTC
svn commit: r1731343 -
/ofbiz/trunk/framework/common/src/org/ofbiz/common/email/EmailServices.java
Author: deepak
Date: Sat Feb 20 08:48:31 2016
New Revision: 1731343
URL: http://svn.apache.org/viewvc?rev=1731343&view=rev
Log:
(OFBIZ-6282) Replace html widget rendering with Macro widget rendering in EmailServices.java file.
Modified:
ofbiz/trunk/framework/common/src/org/ofbiz/common/email/EmailServices.java
Modified: ofbiz/trunk/framework/common/src/org/ofbiz/common/email/EmailServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/src/org/ofbiz/common/email/EmailServices.java?rev=1731343&r1=1731342&r2=1731343&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/src/org/ofbiz/common/email/EmailServices.java (original)
+++ ofbiz/trunk/framework/common/src/org/ofbiz/common/email/EmailServices.java Sat Feb 20 08:48:31 2016
@@ -73,13 +73,15 @@ import org.ofbiz.service.LocalDispatcher
import org.ofbiz.service.ServiceUtil;
import org.ofbiz.service.mail.MimeMessageWrapper;
import org.ofbiz.webapp.view.ApacheFopWorker;
-import org.ofbiz.widget.renderer.fo.FoScreenRenderer;
-import org.ofbiz.widget.renderer.html.HtmlScreenRenderer;
+import org.ofbiz.widget.renderer.macro.MacroScreenRenderer;
import org.ofbiz.widget.renderer.ScreenRenderer;
+import org.ofbiz.widget.renderer.ScreenStringRenderer;
import org.xml.sax.SAXException;
import com.sun.mail.smtp.SMTPAddressFailedException;
+import freemarker.template.TemplateException;
+
/**
* Email Services
*/
@@ -87,8 +89,6 @@ public class EmailServices {
public final static String module = EmailServices.class.getName();
- protected static final HtmlScreenRenderer htmlScreenRenderer = new HtmlScreenRenderer();
- protected static final FoScreenRenderer foScreenRenderer = new FoScreenRenderer();
public static final String resource = "CommonUiLabels";
/**
@@ -461,7 +461,19 @@ public class EmailServices {
MapStack<String> screenContext = MapStack.create();
screenContext.put("locale", locale);
- ScreenRenderer screens = new ScreenRenderer(bodyWriter, screenContext, htmlScreenRenderer);
+
+ ScreenStringRenderer screenStringRenderer = null;
+ try {
+ screenStringRenderer = new MacroScreenRenderer(EntityUtilProperties.getPropertyValue("widget", "screen.name", dctx.getDelegator()),
+ EntityUtilProperties.getPropertyValue("widget", "screen.screenrenderer", dctx.getDelegator()));
+ } 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) {
+ Debug.logError(e, "Error rendering screen for email: " + e.toString(), module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource, "CommonEmailSendRenderingScreenEmailError", UtilMisc.toMap("errorString", e.toString()), locale));
+ }
+ ScreenRenderer screens = new ScreenRenderer(bodyWriter, screenContext, screenStringRenderer);
screens.populateContextForService(dctx, bodyParameters);
screenContext.putAll(bodyParameters);
@@ -507,7 +519,9 @@ public class EmailServices {
Writer writer = new StringWriter();
MapStack<String> screenContextAtt = MapStack.create();
// substitute the freemarker variables...
- ScreenRenderer screensAtt = new ScreenRenderer(writer, screenContext, foScreenRenderer);
+ ScreenStringRenderer foScreenStringRenderer = new MacroScreenRenderer(EntityUtilProperties.getPropertyValue("widget", "screenfop.name", dctx.getDelegator()),
+ EntityUtilProperties.getPropertyValue("widget", "screenfop.screenrenderer", dctx.getDelegator()));
+ ScreenRenderer screensAtt = new ScreenRenderer(writer, screenContext, foScreenStringRenderer);
screensAtt.populateContextForService(dctx, bodyParameters);
screenContextAtt.putAll(bodyParameters);
screensAtt.render(xslfoAttachScreenLocation);