You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2007/12/08 20:02:35 UTC

svn commit: r602531 - /ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java

Author: jleroux
Date: Sat Dec  8 11:02:26 2007
New Revision: 602531

URL: http://svn.apache.org/viewvc?rev=602531&view=rev
Log:
Applied fix from trunk for revision: 602515

Modified:
    ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java

Modified: ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java?rev=602531&r1=602530&r2=602531&view=diff
==============================================================================
--- ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java (original)
+++ ofbiz/branches/release4.0/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java Sat Dec  8 11:02:26 2007
@@ -21,6 +21,7 @@
 import java.io.IOException;
 import java.io.Writer;
 import java.net.MalformedURLException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -38,23 +39,22 @@
 import freemarker.template.TemplateException;
 
 /**
- * Widget Library - Screen model HTML class
+ * Widget Library - Screen model HTML class.
  */
+@SuppressWarnings("serial")
 public class HtmlWidget extends ModelScreenWidget {
     public static final String module = HtmlWidget.class.getName();
 
-    protected ModelScreenWidget childWidget;
+    protected List<ModelScreenWidget> subWidgets = new ArrayList<ModelScreenWidget>();
 
     public HtmlWidget(ModelScreen modelScreen, Element htmlElement) {
         super(modelScreen, htmlElement);
-        List childElementList = UtilXml.childElementList(htmlElement);
-        Iterator childElementIter = childElementList.iterator();
-        while (childElementIter.hasNext()) {
-            Element childElement = (Element) childElementIter.next();
+        List<? extends Element> childElementList = UtilXml.childElementList(htmlElement);
+        for (Element childElement : childElementList) {
             if ("html-template".equals(childElement.getNodeName())) {
-                this.childWidget = new HtmlTemplate(modelScreen, childElement);
+                this.subWidgets.add(new HtmlTemplate(modelScreen, childElement));
             } else if ("html-template-decorator".equals(childElement.getNodeName())) {
-                this.childWidget = new HtmlTemplateDecorator(modelScreen, childElement);
+                this.subWidgets.add(new HtmlTemplateDecorator(modelScreen, childElement));
             } else {
                 throw new IllegalArgumentException("Tag not supported under the platform-specific -> html tag with name: " + childElement.getNodeName());
             }
@@ -62,11 +62,18 @@
     }
 
     public void renderWidgetString(Writer writer, Map context, ScreenStringRenderer screenStringRenderer) throws GeneralException {
-        childWidget.renderWidgetString(writer, context, screenStringRenderer);
+        for (ModelScreenWidget subWidget : subWidgets) {
+            subWidget.renderWidgetString(writer, context, screenStringRenderer);
+        }
     }
 
     public String rawString() {
-        return "<html-widget>" + (this.childWidget==null?"":this.childWidget.rawString());
+        StringBuffer buffer = new StringBuffer("<html-widget>");
+        for (ModelScreenWidget subWidget : subWidgets) {
+            buffer.append(subWidget.rawString());
+        }
+        buffer.append("</html-widget>");
+        return buffer.toString();
     }
 
     public static void renderHtmlTemplate(Writer writer, FlexibleStringExpander locationExdr, Map context) {