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

Reply via email to