You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "Carlin Rogers (JIRA)" <ji...@apache.org> on 2007/04/17 22:13:15 UTC

[jira] Commented: (BEEHIVE-1162) Resetting the value of TreeElement attribute using TreeHtmlAttributeInfo is not handled correctly.

    [ https://issues.apache.org/jira/browse/BEEHIVE-1162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489531 ] 

Carlin Rogers commented on BEEHIVE-1162:
----------------------------------------

I've changed the fix for this bug in SVN revision 529746. The original change in SVN revision 483829 made the _attribute field a LinkedHashMap instead of an ArrayList for the set of attributes. However, the _attribute field is declared public, implying an API change. If anyone used the field directly rather than through the access methods this would break back compat.

In this revision I've changed this field back to an ArrayList and added code in addAttribute() method to check if an attribute is being reset. The test case for this bug still passes.

> Resetting the value of TreeElement attribute using TreeHtmlAttributeInfo is not handled correctly.
> --------------------------------------------------------------------------------------------------
>
>                 Key: BEEHIVE-1162
>                 URL: https://issues.apache.org/jira/browse/BEEHIVE-1162
>             Project: Beehive
>          Issue Type: Bug
>          Components: NetUI
>    Affects Versions: 1.0.1, 1.0.2, V.Next
>            Reporter: Carlin Rogers
>         Assigned To: Julie Zhuo
>            Priority: Minor
>             Fix For: V.Next
>
>
> When resetting the value of TreeElement attribute using TreeHtmlAttributeInfo, the AttributeRenderer still maintains the original attribute in a list and then it is applied to the markup of subsequent tree items. This is an issue between the TreeElement set of attributes and the AttributeRenderer.
> For example, if an attribute is applied to a tree item when the item is selected (via a selectNode() action) and reset to a different value when a different node is selected, the nodes that follow will have the old attribute applied to them.
> The TreeElement stores the attributes in a List. So trying to reset the attribute value in another operation using TreeElement.addAttribute() just adds a second entry to the list. For example, if a "style" attribute has already been set on a tree item and then addAttribute() is used to to change the value of the attribute on the node, it just adds it to the list. Now there's two attributes in the TreeElement attribute list with the same name ("style"). This makes the AttributeRenderer behave incorrectly, thinking that the first attribute exists and needs to be saved for other elements.
> There is a workaround for this issue. A page flow developer could call the public TreeElement.getAttributeList() method and search through the list to see if it contains a TreeHtmlAttributeInfo with the same attribute name and then reset the value of that attribute.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.