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) {