UIXShowOne SKIP_UNRENDERED implementation does not match renderer logic
-----------------------------------------------------------------------
Key: TRINIDAD-2081
URL: https://issues.apache.org/jira/browse/TRINIDAD-2081
Project: MyFaces Trinidad
Issue Type: Bug
Components: Components
Affects Versions: 2.0.0-beta-2
Reporter: Andy Schwartz
Assignee: Andy Schwartz
UIXShowOne.visitTree() attempts to provide SKIP_UNRENDERED support by only
visiting the disclosed showDetail child. However, the current implementation
is insufficient. There are two problems:
1. UIXShowOne.visitTree() does not handle the case where no showDetail child
is explicitly disclosed. In this case, the renderer typically forces the first
rendered/enabled showDetail child to be disclosed. UIXShowOne.visitTree() has
no such fallback logic, and thus does not visit any child even though some
child will be rendered.
2. More generally, UIXShowOne.visitTree() does not match renderer logic for
determining which child will be rendered. For example, UIXShowOne.visitTree()
only looks at the disclosed attribute. On the other hand, PanelTabbedRenderer
checks the rendered and disabled attributes in addition to the disclosed
attributes. (Other renderers may check other attributes.)
We need some way to ensure that UIXShowOne's SKIP_UNRENDERED implementation and
any associated renderers use the same logic to determine which child is in fact
rendered.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira