[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