From ebd9e5807a98b0b0631c0d039984ba0008c56545 Mon Sep 17 00:00:00 2001 From: Jeremy Grelle Date: Fri, 23 May 2008 15:28:16 +0000 Subject: [PATCH] Adding sort functionality on the reviewHotels view to exercise SWF-692 and SWF-700 --- .../webflow/samples/booking/JpaBookingService.java | 5 +++-- .../webflow/samples/booking/SearchCriteria.java | 11 +++++++++++ .../src/main/webapp/WEB-INF/flows/main/main.xml | 4 ++++ .../webapp/WEB-INF/flows/main/reviewHotels.xhtml | 14 ++++++++++++-- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java b/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java index 13d7618d..52993c7a 100755 --- a/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java +++ b/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java @@ -43,8 +43,9 @@ public class JpaBookingService implements BookingService { String pattern = getSearchPattern(criteria); return em.createQuery( "select h from Hotel h where lower(h.name) like " + pattern + " or lower(h.city) like " + pattern - + " or lower(h.zip) like " + pattern + " or lower(h.address) like " + pattern).setMaxResults( - criteria.getPageSize()).setFirstResult(criteria.getPage() * criteria.getPageSize()).getResultList(); + + " or lower(h.zip) like " + pattern + " or lower(h.address) like " + pattern + " order by h." + + criteria.getSortBy()).setMaxResults(criteria.getPageSize()).setFirstResult( + criteria.getPage() * criteria.getPageSize()).getResultList(); } @Transactional(readOnly = true) diff --git a/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/SearchCriteria.java b/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/SearchCriteria.java index 0a1b92dc..109ded0d 100755 --- a/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/SearchCriteria.java +++ b/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/SearchCriteria.java @@ -24,6 +24,16 @@ public class SearchCriteria implements Serializable { */ private int page; + private String sortBy = "name"; + + public String getSortBy() { + return sortBy; + } + + public void setSortBy(String sortBy) { + this.sortBy = sortBy; + } + public String getSearchString() { return searchString; } @@ -58,6 +68,7 @@ public class SearchCriteria implements Serializable { public void resetPage() { page = 0; + sortBy = "name"; } public String toString() { diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/main.xml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/main.xml index ce14cc19..1952d81b 100755 --- a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/main.xml +++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/main.xml @@ -22,6 +22,10 @@ + + + + diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/reviewHotels.xhtml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/reviewHotels.xhtml index c6544b73..bd10a19f 100644 --- a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/reviewHotels.xhtml +++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/reviewHotels.xhtml @@ -19,7 +19,12 @@ - Name + + + + + + #{h.name} @@ -27,7 +32,12 @@ #{h.address} - City, State + + + + + + #{h.city}, #{h.state}, #{h.country}