Author: adrianc
Date: Sat Jan 3 20:19:14 2015
New Revision: 1649244
URL: http://svn.apache.org/r1649244
Log:
Fixed a bug in tree rendering - https://issues.apache.org/jira/browse/OFBIZ-5313
Also reverted rev 1646970.
Modified:
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
Modified:
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java?rev=1649244&r1=1649243&r2=1649244&view=diff
==============================================================================
---
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
(original)
+++
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
Sat Jan 3 20:19:14 2015
@@ -930,17 +930,7 @@ public abstract class ModelScreenWidget
if (treeStringRenderer == null) {
throw new IllegalArgumentException("Could not find a
treeStringRenderer in the context");
}
-
- StringBuffer renderBuffer = new StringBuffer();
- modelTree.renderTreeString(renderBuffer, context,
treeStringRenderer);
- try {
- writer.append(renderBuffer.toString());
- } catch (IOException e) {
- String errMsg = "Error rendering included tree named [" + name
+ "] at location [" + location + "]: " + e.toString();
- Debug.logError(e, errMsg, module);
- throw new RuntimeException(errMsg);
- }
-
+ modelTree.renderTreeString(writer, context, treeStringRenderer);
if (protectScope) {
UtilGenerics.<MapStack<String>>cast(context).pop();
}
Modified:
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java?rev=1649244&r1=1649243&r2=1649244&view=diff
==============================================================================
---
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
(original)
+++
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
Sat Jan 3 20:19:14 2015
@@ -162,19 +162,9 @@ public class MacroTreeRenderer implement
}
boolean hasChildren = node.hasChildren(context);
- ModelTree.ModelNode.Link expandCollapseLink;
- if (node.link == null) {
- expandCollapseLink = new ModelTree.ModelNode.Link();
- } else {
- expandCollapseLink = new ModelTree.ModelNode.Link(node.link);
- }
- if (expandCollapseLink.getName(context).isEmpty()) {
- String linkName = currentNodeTrail.get(currentNodeTrail.size()-1);
- expandCollapseLink.setName(linkName);
- expandCollapseLink.setText(linkName);
- }
+ ModelTree.ModelNode.Link expandCollapseLink = new
ModelTree.ModelNode.Link();
// check to see if this node needs to be expanded.
- if (hasChildren) {
+ if (hasChildren && node.isExpandCollapse()) {
String targetEntityId = null;
List<String> targetNodeTrail =
UtilGenerics.toList(context.get("targetNodeTrail"));
if (depth < targetNodeTrail.size()) {
Modified:
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java?rev=1649244&r1=1649243&r2=1649244&view=diff
==============================================================================
---
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
(original)
+++
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
Sat Jan 3 20:19:14 2015
@@ -229,7 +229,7 @@ public class ModelTree extends ModelWidg
* different tree elements; implementing your own makes it possible to
* use the same tree definitions for many types of tree UIs
*/
- public void renderTreeString(StringBuffer buf, Map<String, Object>
context, TreeStringRenderer treeStringRenderer) throws GeneralException {
+ public void renderTreeString(Appendable writer, Map<String, Object>
context, TreeStringRenderer treeStringRenderer) throws GeneralException {
Map<String, Object> parameters =
UtilGenerics.checkMap(context.get("parameters"));
ModelNode node = nodeMap.get(rootNodeName);
@@ -252,10 +252,8 @@ public class ModelTree extends ModelWidg
}
context.put("targetNodeTrail", trail);
context.put("currentNodeTrail", FastList.newInstance());
- StringWriter writer = new StringWriter();
try {
node.renderNodeString(writer, context, treeStringRenderer, 0);
- buf.append(writer.toString());
} catch (IOException e2) {
String errMsg = "Error rendering included label with name [" +
name + "] : " + e2.toString();
Debug.logError(e2, errMsg, module);
@@ -857,24 +855,6 @@ public class ModelTree extends ModelWidg
}
}
- public Link(ModelTree.ModelNode.Link linkElement) {
- this.textExdr = linkElement.textExdr;
- this.idExdr = linkElement.idExdr;
- this.styleExdr = linkElement.styleExdr;
- this.targetExdr = linkElement.targetExdr;
- this.targetWindowExdr = linkElement.targetWindowExdr;
- this.prefixExdr = linkElement.prefixExdr;
- this.urlMode = linkElement.urlMode;
- this.fullPath = linkElement.fullPath;
- this.secure = linkElement.secure;
- this.encode = linkElement.encode;
- this.nameExdr = linkElement.nameExdr;
- this.titleExdr = linkElement.titleExdr;
- this.linkType = linkElement.linkType;
- this.parameterList = new
ArrayList<WidgetWorker.Parameter>(linkElement.parameterList.size());
- Collections.copy(this.parameterList,
linkElement.parameterList);
- }
-
public void renderLinkString(Appendable writer, Map<String,
Object> context, TreeStringRenderer treeStringRenderer) {
try {
treeStringRenderer.renderLink(writer, context, this);