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 10:09:50 UTC

svn commit: r1731353 - /ofbiz/trunk/specialpurpose/example/src/org/ofbiz/example/ExamplePrintServices.java

Author: deepak
Date: Sat Feb 20 09:09:50 2016
New Revision: 1731353

URL: http://svn.apache.org/viewvc?rev=1731353&view=rev
Log:
(OFBIZ-6288) Replace html widget rendering with Macro widget rendering in ExamplePrintServices.java file.

Modified:
    ofbiz/trunk/specialpurpose/example/src/org/ofbiz/example/ExamplePrintServices.java

Modified: ofbiz/trunk/specialpurpose/example/src/org/ofbiz/example/ExamplePrintServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/example/src/org/ofbiz/example/ExamplePrintServices.java?rev=1731353&r1=1731352&r2=1731353&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/example/src/org/ofbiz/example/ExamplePrintServices.java (original)
+++ ofbiz/trunk/specialpurpose/example/src/org/ofbiz/example/ExamplePrintServices.java Sat Feb 20 09:09:50 2016
@@ -45,18 +45,20 @@ import org.apache.fop.apps.Fop;
 import org.apache.fop.apps.MimeConstants;
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.GeneralException;
+import org.ofbiz.entity.util.EntityUtilProperties;
 import org.ofbiz.service.DispatchContext;
 import org.ofbiz.service.ServiceUtil;
 import org.ofbiz.webapp.view.ApacheFopWorker;
 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 ExamplePrintServices {
     public static final String module = ExamplePrintServices.class.getName();
 
-    private static HtmlScreenRenderer htmlScreenRenderer = new HtmlScreenRenderer();
-
     public static Map<String, Object> printReportPdf(DispatchContext dctx, Map<String, ? extends Object> context) {
         String screenLocation = "component://example/widget/example/ExampleReportScreens.xml";
         String reportScreenName = "ExampleReport";
@@ -65,7 +67,21 @@ public class ExamplePrintServices {
 
         // render a screen to get the XML document
         Writer reportWriter = new StringWriter();
-        ScreenRenderer reportScreenRenderer = new ScreenRenderer(reportWriter, null, 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) {
+            String errMsg = "General error rendering screen [" + screenLocation + "]: " + e.toString();
+            Debug.logError(e, errMsg, module);
+            return ServiceUtil.returnError(errMsg);
+        } catch (IOException e) {
+            String errMsg = "IO error rendering screen [" + screenLocation + "]: " + e.toString();
+            Debug.logError(e, errMsg, module);
+            return ServiceUtil.returnError(errMsg);
+        }
+
+        ScreenRenderer reportScreenRenderer = new ScreenRenderer(reportWriter, null, screenStringRenderer);
         reportScreenRenderer.populateContextForService(dctx, workContext);
 
         // put the exampleId in the screen context, is a parameter coming into the service