[jboss-cvs] jboss-seam/examples/icefaces/src/org/jboss/seam/example/booking ...

Gavin King gavin.king at jboss.com
Mon Nov 20 03:57:11 EST 2006


  User: gavin   
  Date: 06/11/20 03:57:11

  Modified:    examples/icefaces/src/org/jboss/seam/example/booking  
                        HotelSearching.java HotelSearchingAction.java
  Log:
  improve demo of ice
  
  Revision  Changes    Path
  1.2       +7 -1      jboss-seam/examples/icefaces/src/org/jboss/seam/example/booking/HotelSearching.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: HotelSearching.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/icefaces/src/org/jboss/seam/example/booking/HotelSearching.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- HotelSearching.java	20 Nov 2006 05:19:01 -0000	1.1
  +++ HotelSearching.java	20 Nov 2006 08:57:11 -0000	1.2
  @@ -1,8 +1,11 @@
  -//$Id: HotelSearching.java,v 1.1 2006/11/20 05:19:01 gavin Exp $
  +//$Id: HotelSearching.java,v 1.2 2006/11/20 08:57:11 gavin Exp $
   package org.jboss.seam.example.booking;
   
  +import java.util.List;
  +
   import javax.ejb.Local;
   import javax.faces.event.ValueChangeEvent;
  +import javax.faces.model.SelectItem;
   
   @Local
   public interface HotelSearching
  @@ -13,6 +16,9 @@
      public String getSearchString();
      public void setSearchString(String searchString);
      public void handleSearchStringChange(ValueChangeEvent e);
  +   public void handlePageSizeChange(ValueChangeEvent e);
  +   public SelectItem[] getPageSizes();
  +   public List<SelectItem> getCities();
      
      public String find();
      public String nextPage();
  
  
  
  1.2       +29 -5     jboss-seam/examples/icefaces/src/org/jboss/seam/example/booking/HotelSearchingAction.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: HotelSearchingAction.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/icefaces/src/org/jboss/seam/example/booking/HotelSearchingAction.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- HotelSearchingAction.java	20 Nov 2006 05:19:01 -0000	1.1
  +++ HotelSearchingAction.java	20 Nov 2006 08:57:11 -0000	1.2
  @@ -1,4 +1,4 @@
  -//$Id: HotelSearchingAction.java,v 1.1 2006/11/20 05:19:01 gavin Exp $
  +//$Id: HotelSearchingAction.java,v 1.2 2006/11/20 08:57:11 gavin Exp $
   package org.jboss.seam.example.booking;
   
   import java.util.List;
  @@ -15,6 +15,7 @@
   import org.jboss.seam.annotations.datamodel.DataModel;
   
   import javax.faces.event.ValueChangeEvent;
  +import javax.faces.model.SelectItem;
   
   @Stateful
   @Name("hotelSearch")
  @@ -49,19 +50,31 @@
         
      private void queryHotels()
      {
  -      String searchPattern = searchString==null ? "%" : '%' + searchString.toLowerCase().replace('*', '%') + '%';
         hotels = em.createQuery("select h from Hotel h where lower(h.name) like :search or lower(h.city) like :search or lower(h.zip) like :search or lower(h.address) like :search")
  -            .setParameter("search", searchPattern)
  +            .setParameter( "search", getSearchPattern() )
               .setMaxResults(pageSize)
               .setFirstResult( page * pageSize )
               .getResultList();
      }
      
  +   private String getSearchPattern()
  +   {
  +      return searchString==null ? "%" : '%' + searchString.toLowerCase().replace('*', '%') + '%';
  +   }
  +   
      public boolean isNextPageAvailable()
      {
         return hotels!=null && hotels.size()==pageSize;
      }
      
  +   public SelectItem[] getPageSizes() {
  +      return new SelectItem[] { 
  +            new SelectItem(5, "5"), 
  +            new SelectItem(10, "10"), 
  +            new SelectItem(20, "20") 
  +         };
  +   }
  +   
      public int getPageSize() {
         return pageSize;
      }
  @@ -82,7 +95,18 @@
   
      public void handleSearchStringChange(ValueChangeEvent e)  {
         page = 0;
  -      searchString = String.valueOf(e.getNewValue());
  +      searchString = (String) e.getNewValue();
  +      queryHotels();
  +   }
  +   
  +   public List<SelectItem> getCities() {
  +      return em.createQuery("select distinct new javax.faces.model.SelectItem(h.city) from Hotel h where lower(h.city) like :search order by h.city")
  +            .setParameter("search", getSearchPattern())
  +            .getResultList();
  +   }
  +   
  +   public void handlePageSizeChange(ValueChangeEvent e)  {
  +      pageSize = ( (Long) e.getNewValue() ).intValue();
         queryHotels();
      }
      
  
  
  



More information about the jboss-cvs-commits mailing list