Author: adrianc
Date: Sat Jan 3 20:39:18 2015
New Revision: 1649246
URL: http://svn.apache.org/r1649246
Log:
Fixed a bug in tree rendering - https://issues.apache.org/jira/browse/OFBIZ-5313
Also reverted rev 1646969.
Modified:
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
Modified:
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java?rev=1649246&r1=1649245&r2=1649246&view=diff
==============================================================================
---
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
(original)
+++
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
Sat Jan 3 20:39:18 2015
@@ -33,7 +33,6 @@ import javax.xml.parsers.ParserConfigura
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.GeneralException;
-import org.ofbiz.base.util.StringUtil;
import org.ofbiz.base.util.UtilCodec;
import org.ofbiz.base.util.UtilGenerics;
import org.ofbiz.base.util.UtilXml;
@@ -1041,16 +1040,7 @@ public abstract class ModelScreenWidget
Debug.logError(e, errMsg, module);
throw new RuntimeException(errMsg);
}
- 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/release14.12/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java?rev=1649246&r1=1649245&r2=1649246&view=diff
==============================================================================
---
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
(original)
+++
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
Sat Jan 3 20:39:18 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/release14.12/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java?rev=1649246&r1=1649245&r2=1649246&view=diff
==============================================================================
---
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
(original)
+++
ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
Sat Jan 3 20:39:18 2015
@@ -227,7 +227,7 @@ public class ModelTree extends ModelWidg
* use the same tree definitions for many types of tree UIs
*/
@SuppressWarnings("rawtypes")
- 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);
@@ -250,10 +250,8 @@ public class ModelTree extends ModelWidg
}
context.put("targetNodeTrail", trail);
context.put("currentNodeTrail", new LinkedList());
- 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 [" +
getName() + "] : " + e2.toString();
Debug.logError(e2, errMsg, module);
@@ -856,24 +854,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);