Author: deepak Date: Sat Feb 20 08:55:27 2016 New Revision: 1731346 URL: http://svn.apache.org/viewvc?rev=1731346&view=rev Log: (OFBIZ-6287) Replace html widget rendering with Macro widget rendering in BirtEmailServices.java file.
Modified: ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/email/BirtEmailServices.java Modified: ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/email/BirtEmailServices.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/email/BirtEmailServices.java?rev=1731346&r1=1731345&r2=1731346&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/email/BirtEmailServices.java (original) +++ ofbiz/trunk/specialpurpose/birt/src/org/ofbiz/birt/email/BirtEmailServices.java Sat Feb 20 08:55:27 2016 @@ -46,20 +46,22 @@ import org.ofbiz.birt.BirtFactory; import org.ofbiz.birt.BirtWorker; import org.ofbiz.common.email.NotificationServices; import org.ofbiz.entity.Delegator; +import org.ofbiz.entity.util.EntityUtilProperties; import org.ofbiz.security.Security; import org.ofbiz.service.DispatchContext; import org.ofbiz.service.LocalDispatcher; import org.ofbiz.service.ServiceUtil; import org.ofbiz.widget.renderer.ScreenRenderer; -import org.ofbiz.widget.renderer.html.HtmlScreenRenderer; +import org.ofbiz.widget.renderer.ScreenStringRenderer; +import org.ofbiz.widget.renderer.macro.MacroScreenRenderer; import org.xml.sax.SAXException; +import freemarker.template.TemplateException; + public class BirtEmailServices { public static final String module = BirtEmailServices.class.getName(); - protected static final HtmlScreenRenderer htmlScreenRenderer = new HtmlScreenRenderer(); - /** * send birt mail * @@ -105,7 +107,20 @@ public class BirtEmailServices { 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", delegator), + EntityUtilProperties.getPropertyValue("widget", "screen.screenrenderer", delegator)); + } catch (TemplateException e) { + String errMsg = "Error rendering screen for email: " + e.toString(); + Debug.logError(e, errMsg, module); + return ServiceUtil.returnError(errMsg); + } catch (IOException e) { + String errMsg = "Error rendering screen for email: " + e.toString(); + Debug.logError(e, errMsg, module); + return ServiceUtil.returnError(errMsg); + } + ScreenRenderer screens = new ScreenRenderer(bodyWriter, screenContext, screenStringRenderer); screens.populateContextForService(ctx, bodyParameters); screenContext.putAll(bodyParameters);