[jboss-cvs] jboss-seam/ui/src/main/java/org/jboss/seam/ui/component ...

Peter Muir peter at bleepbleep.org.uk
Fri Jan 4 14:57:51 EST 2008


  User: pmuir   
  Date: 08/01/04 14:57:51

  Modified:    ui/src/main/java/org/jboss/seam/ui/component 
                        UISelectItems.java
  Log:
  partial solution to JBSEAM-2346
  
  Revision  Changes    Path
  1.12      +12 -8     jboss-seam/ui/src/main/java/org/jboss/seam/ui/component/UISelectItems.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UISelectItems.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/ui/src/main/java/org/jboss/seam/ui/component/UISelectItems.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -r1.11 -r1.12
  --- UISelectItems.java	4 Jan 2008 18:58:47 -0000	1.11
  +++ UISelectItems.java	4 Jan 2008 19:57:51 -0000	1.12
  @@ -145,15 +145,17 @@
      @Override
      public Object getValue()
      {
  -      if (selectItems == null || originalValue == null || !originalValue.equals(super.getValue()))
  -      {
  -         originalValue = super.getValue();
  -         selectItems = new ArrayList<javax.faces.model.SelectItem>();
  +      List<javax.faces.model.SelectItem> temporarySelectItems = new ArrayList<javax.faces.model.SelectItem>();
            javax.faces.model.SelectItem noSelectionLabel = noSelectionLabel();
            if (noSelectionLabel != null) 
            {
  -            selectItems.add(noSelectionLabel);
  +         temporarySelectItems.add(noSelectionLabel);
            }
  +      if (selectItems == null || originalValue == null || !originalValue.equals(super.getValue()))
  +      {  
  +         originalValue = super.getValue();
  +         selectItems = new ArrayList<javax.faces.model.SelectItem>();
  +         
            if (originalValue instanceof Iterable)
            {
               selectItems.addAll(asSelectItems((Iterable) originalValue));
  @@ -170,12 +172,14 @@
            {
               selectItems.addAll(asSelectItems(arrayAsList(originalValue)));
            }
  -         else if (selectItems.size() == 0)
  +         else if (temporarySelectItems.size() == 0)
            {
               return originalValue;
            }
  +         
         }
  -      return selectItems;      
  +      temporarySelectItems.addAll(selectItems);
  +      return temporarySelectItems;
      }   
      
      private List<javax.faces.model.SelectItem> asSelectItems(Iterable iterable) 
  
  
  



More information about the jboss-cvs-commits mailing list