You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by le...@apache.org on 2010/04/09 01:14:08 UTC

svn commit: r932170 - in /ofbiz/trunk/applications/content/src/org/ofbiz/content: cms/CmsEvents.java data/DataResourceWorker.java

Author: lektran
Date: Thu Apr  8 23:14:07 2010
New Revision: 932170

URL: http://svn.apache.org/viewvc?rev=932170&view=rev
Log:
Applied patch from Jacopo Cappellato, switched the content rendering logic over to using the macro renderers rather than the soon to be deprecated html renderers

Modified:
    ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java?rev=932170&r1=932169&r2=932170&view=diff
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java Thu Apr  8 23:14:07 2010
@@ -39,6 +39,7 @@ import org.ofbiz.base.util.GeneralRuntim
 import org.ofbiz.base.util.UtilHttp;
 import org.ofbiz.base.util.UtilJ2eeCompat;
 import org.ofbiz.base.util.UtilMisc;
+import org.ofbiz.base.util.UtilProperties;
 import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.base.util.collections.MapStack;
 import org.ofbiz.content.content.ContentWorker;
@@ -49,9 +50,12 @@ import org.ofbiz.entity.util.EntityUtil;
 import org.ofbiz.service.LocalDispatcher;
 import org.ofbiz.webapp.control.RequestHandler;
 import org.ofbiz.webapp.website.WebSiteWorker;
-import org.ofbiz.widget.html.HtmlFormRenderer;
+import org.ofbiz.widget.form.FormStringRenderer;
+import org.ofbiz.widget.form.MacroFormRenderer;
 import org.ofbiz.widget.screen.ScreenRenderer;
 
+import freemarker.template.TemplateException;
+
 
 /**
  * CmsEvents
@@ -249,7 +253,6 @@ public class CmsEvents {
                 // create the template map
                 MapStack<String> templateMap = MapStack.create();
                 ScreenRenderer.populateContextForRequest(templateMap, null, request, response, servletContext);
-                templateMap.put("formStringRenderer", new HtmlFormRenderer(request, response));
                 templateMap.put("statusCode", statusCode);
 
                 // make the link prefix
@@ -276,7 +279,9 @@ public class CmsEvents {
                     } else {
                         writer = response.getWriter();
                     }
-
+                    // TODO: replace "screen" to support dynamic rendering of different output
+                    FormStringRenderer formStringRenderer = new MacroFormRenderer(UtilProperties.getPropertyValue("widget", "screen.formrenderer"), writer, request, response);
+                    templateMap.put("formStringRenderer", formStringRenderer);
                     // render
                     if (UtilValidate.isEmpty(mapKey)) {
                         ContentWorker.renderContentAsText(dispatcher, delegator, contentId, writer, templateMap, locale, "text/html", null, null, true);
@@ -284,6 +289,8 @@ public class CmsEvents {
                         ContentWorker.renderSubContentAsText(dispatcher, delegator, contentId, writer, mapKey, templateMap, locale, "text/html", true);
                     }
 
+                } catch (TemplateException e) {
+                    throw new GeneralRuntimeException("Error creating form renderer", e);
                 } catch (IOException e) {
                     throw new GeneralRuntimeException("Error in the response writer/output stream: " + e.toString(), e);
                 } catch (GeneralException e) {

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java?rev=932170&r1=932169&r2=932170&view=diff
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java Thu Apr  8 23:14:07 2010
@@ -70,7 +70,7 @@ import org.ofbiz.entity.GenericEntityExc
 import org.ofbiz.entity.GenericValue;
 import org.ofbiz.service.GenericServiceException;
 import org.ofbiz.service.LocalDispatcher;
-import org.ofbiz.widget.html.HtmlScreenRenderer;
+import org.ofbiz.widget.screen.MacroScreenRenderer;
 import org.ofbiz.widget.screen.ModelScreen;
 import org.ofbiz.widget.screen.ScreenFactory;
 import org.ofbiz.widget.screen.ScreenRenderer;
@@ -690,7 +690,9 @@ public class DataResourceWorker  impleme
                     // get the screen renderer; or create a new one
                     ScreenRenderer screens = (ScreenRenderer) context.get("screens");
                     if (screens == null) {
-                        screens = new ScreenRenderer(out, context, new HtmlScreenRenderer());
+                     // TODO: replace "screen" to support dynamic rendering of different output
+                        ScreenStringRenderer screenStringRenderer = new MacroScreenRenderer(UtilProperties.getPropertyValue("widget", "screen.name"), UtilProperties.getPropertyValue("widget", "screen.screenrenderer"), out);
+                        screens = new ScreenRenderer(out, context, screenStringRenderer);
                         screens.getContext().put("screens", screens);
                     }
                     // render the screen
@@ -716,6 +718,8 @@ public class DataResourceWorker  impleme
                     throw new GeneralException("Error rendering Screen template", e);
                 } catch (ParserConfigurationException e) {
                     throw new GeneralException("Error rendering Screen template", e);
+                } catch (TemplateException e) {
+                    throw new GeneralException("Error creating Screen renderer", e);
                 }
             } else {
                 throw new GeneralException("The dataTemplateTypeId [" + dataTemplateTypeId + "] is not yet supported");