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 11:26:25 UTC

svn commit: r1731366 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer: fo/ScreenFopViewHandler.java macro/MacroScreenRenderer.java

Author: deepak
Date: Sat Feb 20 10:26:25 2016
New Revision: 1731366

URL: http://svn.apache.org/viewvc?rev=1731366&view=rev
Log:
(OFBIZ-6281) Replace html widget rendering with Macro widget rendering in framework/widget files.

Modified:
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/fo/ScreenFopViewHandler.java
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroScreenRenderer.java

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/fo/ScreenFopViewHandler.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/fo/ScreenFopViewHandler.java?rev=1731366&r1=1731365&r2=1731366&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/fo/ScreenFopViewHandler.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/fo/ScreenFopViewHandler.java Sat Feb 20 10:26:25 2016
@@ -47,7 +47,6 @@ import org.ofbiz.webapp.view.ViewHandler
 import org.ofbiz.widget.renderer.FormStringRenderer;
 import org.ofbiz.widget.renderer.ScreenRenderer;
 import org.ofbiz.widget.renderer.ScreenStringRenderer;
-import org.ofbiz.widget.renderer.html.HtmlScreenRenderer;
 import org.ofbiz.widget.renderer.macro.MacroFormRenderer;
 import org.ofbiz.widget.renderer.macro.MacroScreenRenderer;
 
@@ -170,8 +169,12 @@ public class ScreenFopViewHandler extend
     protected void renderError(String msg, Exception e, String screenOutString, HttpServletRequest request, HttpServletResponse response) throws ViewHandlerException {
         Debug.logError(msg + ": " + e + "; Screen XSL:FO text was:\n" + screenOutString, module);
         try {
+            Delegator delegator = (Delegator) request.getAttribute("delegator");
             Writer writer = new StringWriter();
-            ScreenRenderer screens = new ScreenRenderer(writer, null, new HtmlScreenRenderer());
+            ScreenStringRenderer screenStringRenderer = new MacroScreenRenderer(EntityUtilProperties.getPropertyValue("widget", "screen.name", delegator),
+                    EntityUtilProperties.getPropertyValue("widget", "screen.screenrenderer", delegator));
+
+            ScreenRenderer screens = new ScreenRenderer(writer, null, screenStringRenderer);
             screens.populateContextForRequest(request, response, servletContext);
             screens.getContext().put("errorMessage", msg + ": " + e);
             screens.render(DEFAULT_ERROR_TEMPLATE);

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroScreenRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroScreenRenderer.java?rev=1731366&r1=1731365&r2=1731366&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroScreenRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroScreenRenderer.java Sat Feb 20 10:26:25 2016
@@ -45,6 +45,7 @@ import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.base.util.template.FreeMarkerWorker;
 import org.ofbiz.entity.Delegator;
 import org.ofbiz.entity.GenericValue;
+import org.ofbiz.entity.util.EntityUtilProperties;
 import org.ofbiz.service.LocalDispatcher;
 import org.ofbiz.webapp.control.RequestHandler;
 import org.ofbiz.webapp.taglib.ContentUrlTag;
@@ -62,7 +63,6 @@ import org.ofbiz.widget.renderer.FormStr
 import org.ofbiz.widget.renderer.MenuStringRenderer;
 import org.ofbiz.widget.renderer.Paginator;
 import org.ofbiz.widget.renderer.ScreenStringRenderer;
-import org.ofbiz.widget.renderer.html.HtmlScreenRenderer.ScreenletMenuRenderer;
 import org.xml.sax.SAXException;
 
 import freemarker.core.Environment;
@@ -620,10 +620,16 @@ public class MacroScreenRenderer impleme
             StringWriter sb = new StringWriter();
             if (navMenu != null) {
                 MenuStringRenderer savedRenderer = (MenuStringRenderer) context.get("menuStringRenderer");
-                MenuStringRenderer renderer = new ScreenletMenuRenderer(request, response);
-                context.put("menuStringRenderer", renderer);
-                navMenu.renderWidgetString(sb, context, this);
-                context.put("menuStringRenderer", savedRenderer);
+                MenuStringRenderer renderer;
+                try {
+                    renderer = new MacroMenuRenderer(EntityUtilProperties.getPropertyValue("widget", "screen.menurenderer", (Delegator) request.getAttribute("delegator")),
+                            request, response);
+                    context.put("menuStringRenderer", renderer);
+                    navMenu.renderWidgetString(sb, context, this);
+                    context.put("menuStringRenderer", savedRenderer);
+                } catch (TemplateException e) {
+                    Debug.logError(e, module); 
+                }
             } else if (navForm != null) {
                 renderScreenletPaginateMenu(sb, context, navForm);
             }