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