UISelectItems.asSelectItem(items) should not wrap item if already instanceof 
SelectItem
---------------------------------------------------------------------------------------

                 Key: JBSEAM-4695
                 URL: https://jira.jboss.org/browse/JBSEAM-4695
             Project: Seam
          Issue Type: Bug
    Affects Versions: 2.1.2.GA
            Reporter: Gergely Nagy


We already had logic to prepare SelectItems with custom labels in the business 
layer, and wanted to make use of seam.UISelectItems' noSelectionLabel feature 
when the following issue came up:

org.jboss.seam.ui.component.UISelectItems.asSelectItems(Iterable) method should 
not wrap elements if they are already SelectItems. Proposed solution:

   private List<javax.faces.model.SelectItem> asSelectItems(Iterable iterable) 
   {
      List<javax.faces.model.SelectItem> selectItems =  new 
ArrayList<javax.faces.model.SelectItem>();
      for (final Object o : iterable)
      {
         selectItems.add(o instanceof SelectItem ? o : new 
ContextualSelectItem(o) {...});
...


it is also very unfortunate that non-public features of this class are private 
instead of protected, so we couldn't work around this issue by subclassing 
UISelectItems.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues

Reply via email to