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); |
Free forum by Nabble | Edit this page |