You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Adrian Crum <ad...@sandglass-software.com> on 2015/01/02 18:42:14 UTC

Re: svn commit: r1646969 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree: MacroTreeRenderer.java ModelTree.java

This commit breaks tree rendering:

http://demo-stable-ofbiz.apache.org/accounting/control/GlAccountNavigate?trail=null

If I fix the List copying code, then the code breaks somewhere else.

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 12/20/2014 4:37 AM, ashish@apache.org wrote:
> Author: ashish
> Date: Sat Dec 20 12:37:07 2014
> New Revision: 1646969
>
> URL: http://svn.apache.org/r1646969
> Log:
> Applied patch from jira issue OFBIZ-5313 - Tree rendering is missing labels.
> Thanks Sumit for creating the issue and providing the patch for the same. Thanks Arun for verifying the issue.
>
> Modified:
>      ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
>      ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
>
> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java?rev=1646969&r1=1646968&r2=1646969&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java (original)
> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java Sat Dec 20 12:37:07 2014
> @@ -162,9 +162,19 @@ public class MacroTreeRenderer implement
>           }
>           boolean hasChildren = node.hasChildren(context);
>
> -        ModelTree.ModelNode.Link expandCollapseLink = new ModelTree.ModelNode.Link();
> +        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);
> +        }
>           // check to see if this node needs to be expanded.
> -        if (hasChildren && node.isExpandCollapse()) {
> +        if (hasChildren) {
>               String targetEntityId = null;
>               List<String> targetNodeTrail = UtilGenerics.toList(context.get("targetNodeTrail"));
>               if (depth < targetNodeTrail.size()) {
>
> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java?rev=1646969&r1=1646968&r2=1646969&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java (original)
> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java Sat Dec 20 12:37:07 2014
> @@ -856,6 +856,24 @@ 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);
>
>