From 548ae759ee45adf5227a8e7b682a828a65c94102 Mon Sep 17 00:00:00 2001 From: Jeremy Grelle Date: Tue, 7 Aug 2007 23:20:50 +0000 Subject: [PATCH] Cleaning up view templates. --- .../samples/booking/BookingService.java | 2 + .../samples/booking/JpaBookingService.java | 8 + .../main/webapp/WEB-INF/flows/login-flow.xml | 19 -- .../main/webapp/WEB-INF/webflow-config.xml | 5 +- .../src/main/webapp/conversations.xhtml | 34 ---- .../booking-jsf/src/main/webapp/css/date.css | 185 ------------------ .../src/main/webapp/css/screen.css | 37 +--- .../src/main/webapp/css/template.xhtml | 27 --- .../src/main/webapp/css/trailblazer_main.css | 148 -------------- .../webapp/{ => flows/booking}/book.xhtml | 69 ++----- .../booking}/bookHotel-flow.xml | 8 +- .../webapp/{ => flows/booking}/confirm.xhtml | 21 +- .../webapp/{ => flows/booking}/hotel.xhtml | 26 +-- .../flows => flows/main}/main-flow.xml | 18 +- .../main/webapp/{ => flows/main}/main.xhtml | 58 ++---- .../booking-jsf/src/main/webapp/home.xhtml | 59 ------ .../src/main/webapp/{img => images}/bg.gif | Bin .../main/webapp/{img => images}/btn.bg.gif | Bin .../main/webapp/{img => images}/hdr.bg.gif | Bin .../main/webapp/{img => images}/input.bg.gif | Bin .../src/main/webapp/{img => images}/th.bg.gif | Bin .../src/main/webapp/img/cal-next.png | Bin 202 -> 0 bytes .../src/main/webapp/img/cal-prev.png | Bin 204 -> 0 bytes .../src/main/webapp/img/cnt.bg.gif | Bin 110 -> 0 bytes .../src/main/webapp/img/dtpick.gif | Bin 127 -> 0 bytes .../src/main/webapp/img/hdr.ad.jpg | Bin 47234 -> 0 bytes .../src/main/webapp/img/hdr.bar.jpg | Bin 25326 -> 0 bytes .../src/main/webapp/img/hdr.title.gif | Bin 1601 -> 0 bytes .../src/main/webapp/img/header_line.gif | Bin 571 -> 0 bytes .../src/main/webapp/img/sdb.bg.gif | Bin 618 -> 0 bytes .../src/main/webapp/img/spinner.gif | Bin 1553 -> 0 bytes .../booking-jsf/src/main/webapp/intro.xhtml | 18 +- .../src/main/webapp/password.xhtml | 81 -------- .../src/main/webapp/register.xhtml | 119 ----------- .../booking-jsf/src/main/webapp/style.css | 58 ------ .../src/main/webapp/template.xhtml | 4 +- 36 files changed, 79 insertions(+), 925 deletions(-) delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/login-flow.xml delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/conversations.xhtml delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/css/date.css delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/css/template.xhtml delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/css/trailblazer_main.css rename spring-webflow-samples/booking-jsf/src/main/webapp/{ => flows/booking}/book.xhtml (79%) rename spring-webflow-samples/booking-jsf/src/main/webapp/{WEB-INF/flows => flows/booking}/bookHotel-flow.xml (86%) rename spring-webflow-samples/booking-jsf/src/main/webapp/{ => flows/booking}/confirm.xhtml (73%) rename spring-webflow-samples/booking-jsf/src/main/webapp/{ => flows/booking}/hotel.xhtml (60%) rename spring-webflow-samples/booking-jsf/src/main/webapp/{WEB-INF/flows => flows/main}/main-flow.xml (64%) rename spring-webflow-samples/booking-jsf/src/main/webapp/{ => flows/main}/main.xhtml (66%) delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/home.xhtml rename spring-webflow-samples/booking-jsf/src/main/webapp/{img => images}/bg.gif (100%) rename spring-webflow-samples/booking-jsf/src/main/webapp/{img => images}/btn.bg.gif (100%) rename spring-webflow-samples/booking-jsf/src/main/webapp/{img => images}/hdr.bg.gif (100%) rename spring-webflow-samples/booking-jsf/src/main/webapp/{img => images}/input.bg.gif (100%) rename spring-webflow-samples/booking-jsf/src/main/webapp/{img => images}/th.bg.gif (100%) delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/cal-next.png delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/cal-prev.png delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/cnt.bg.gif delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/dtpick.gif delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/hdr.ad.jpg delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/hdr.bar.jpg delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/hdr.title.gif delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/header_line.gif delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/sdb.bg.gif delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/img/spinner.gif delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/password.xhtml delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/register.xhtml delete mode 100755 spring-webflow-samples/booking-jsf/src/main/webapp/style.css diff --git a/spring-webflow-samples/booking-jsf/src/main/java/org/springframework/webflow/samples/booking/BookingService.java b/spring-webflow-samples/booking-jsf/src/main/java/org/springframework/webflow/samples/booking/BookingService.java index 363182ec..5fc793d7 100755 --- a/spring-webflow-samples/booking-jsf/src/main/java/org/springframework/webflow/samples/booking/BookingService.java +++ b/spring-webflow-samples/booking-jsf/src/main/java/org/springframework/webflow/samples/booking/BookingService.java @@ -11,4 +11,6 @@ public interface BookingService { public Hotel readHotelById(Long id); public Booking bookHotel(Hotel hotel, User user); + + public void cancelBooking(Long id); } diff --git a/spring-webflow-samples/booking-jsf/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java b/spring-webflow-samples/booking-jsf/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java index f8b8e5ae..6cb99058 100755 --- a/spring-webflow-samples/booking-jsf/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java +++ b/spring-webflow-samples/booking-jsf/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java @@ -44,6 +44,14 @@ public class JpaBookingService implements BookingService { return booking; } + @Transactional + public void cancelBooking(Long id) { + Booking booking = em.find(Booking.class, id); + if (booking != null) { + em.remove(booking); + } + } + @PersistenceContext public void setEntityManager(EntityManager em) { this.em = em; diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/login-flow.xml b/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/login-flow.xml deleted file mode 100755 index a658e268..00000000 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/login-flow.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/webflow-config.xml b/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/webflow-config.xml index 42b66fad..6829c8e9 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/webflow-config.xml +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/webflow-config.xml @@ -38,9 +38,8 @@ - /WEB-INF/flows/login-flow.xml - /WEB-INF/flows/main-flow.xml - /WEB-INF/flows/bookHotel-flow.xml + /flows/main/main-flow.xml + /flows/booking/bookHotel-flow.xml diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/conversations.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/conversations.xhtml deleted file mode 100755 index b4e23523..00000000 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/conversations.xhtml +++ /dev/null @@ -1,34 +0,0 @@ - -
- -
-

-
- -
- - - - -   - - - - - - - - - - - - - - -
- -
\ No newline at end of file diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/css/date.css b/spring-webflow-samples/booking-jsf/src/main/webapp/css/date.css deleted file mode 100755 index 39096d91..00000000 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/css/date.css +++ /dev/null @@ -1,185 +0,0 @@ -div.seam-date -{ - margin-top: 5px; - border: 1px solid #AAAAAA; - background: #fff url(../img/input.bg.gif) 0 0 repeat-x; - background-color: #FFFFFF; - color: #505050; - font-family: Tahoma, Arial, Helvetica, sans-serif; - font-size: 12px; -} - -table.seam-date td { - font-family: Tahoma, Arial, Helvetica, sans-serif; - font-weight: 11px; -} - -.seam-date-monthNames -{ - width: 70px; - border: 1px solid #dddddd; - border-right: 3px solid #444444; - border-bottom: 3px solid #444444; - background-color: #ffffff; - font-size: 12px; - cursor: pointer; - font-family: Tahoma, Arial, Helvetica, sans-serif; - font-weight: normal; -} - -a.seam-date-monthNameLink, a.seam-date-monthNameLink:visited -{ - text-align: center; - display: block; - color: #555555; -} - -a.seam-date-monthNameLink:hover -{ - background-color: #CCCCCC; - color: red; -} - -.seam-date-years -{ - height: 10em; - overflow: auto; - width: 60px; - border: 1px solid #dddddd; - border-right: 3px solid #444444; - border-bottom: 3px solid #444444; - background-color: #ffffff; - font-size: 12px; - cursor: pointer; - font-family: Tahoma, Arial, Helvetica, sans-serif; - font-weight: normal; -} - -a.seam-date-yearLink, a.seam-date-yearLink:visited -{ - text-align: center; - display: block; - color: #555555; -} - -a.seam-date-yearLink:hover -{ - background-color: #CCCCCC; - color: red; -} - -tr.seam-date-header -{ - padding: 2px 0px 2px 0px; -} - -td.seam-date-header -{ - padding: 0px 8px 0px 8px; - text-align: center; - color: gray; - font-family: Tahoma, Arial, Helvetica, sans-serif; - font-weight: bold; - font-size: 12px; -} - -td.seam-date-header-prevMonth -{ - background-image: url("../img/cal-prev.png"); - background-repeat: no-repeat; - background-position: center; - padding: 0px 2px 0px 2px; - width: 17px; - height: 16px; - margin-left: 2px; -} - -td.seam-date-header-nextMonth -{ - background-image: url("../img/cal-next.png"); - background-repeat: no-repeat; - background-position: center; - padding: 0px 2px 0px 2px; - width: 17px; - height: 16px; - margin-right: 2px; -} - -tr.seam-date-headerDays -{ - color: white; - font-weight: normal; -} - -tr.seam-date-headerDays > td -{ - background-color: #CCCCCC; - border: 1px solid #AAAAAA; - color: white; - text-align: center; - width: 26px; -} - -tr.seam-date-footer -{ - background-color: white; - color: #505050; - font-weight: bold; -} - -tr.seam-date-footer > td -{ - text-align: center; -} - -td.seam-date-inMonth -{ - background-color: white; - color: black; - font-weight: normal; - cursor: pointer; - border: 1px solid #ece9d8; -} - -td.seam-date-outMonth -{ - background-color: white; - color: #999999; - font-weight: normal; - cursor: pointer; - border: 1px solid #ece9d8; -} - -td.seam-date-selected -{ - background-color: #CCCCCC; - border: 1px solid #AAAAAA; - color: black; - font-weight: normal; -} - -td.seam-date-dayOff-inMonth -{ - background-color: #efefef; - color: black; - font-weight: normal; - cursor: pointer; - border: 1px solid #ece9d8; -} - -td.seam-date-dayOff-outMonth -{ - background-color: #efefef; - color: #999999; - font-weight: normal; - cursor: pointer; - border: 1px solid #ece9d8; -} - -td.seam-date-hover -{ - background-color: #CCCCCC; - border: 1px solid #AAAAAA; - cursor: pointer; - color: red; -} \ No newline at end of file diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/css/screen.css b/spring-webflow-samples/booking-jsf/src/main/webapp/css/screen.css index f00c7ae9..5c18b0b6 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/css/screen.css +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/css/screen.css @@ -32,13 +32,13 @@ input { border: 1px solid #C3BBB6; padding: 4px; margin: 5px 0; - background: #fff url(../img/input.bg.gif) 0 0 repeat-x; + background: #fff url(../images/input.bg.gif) 0 0 repeat-x; } select { border: 1px solid #C3BBB6; padding: 4px; margin: 5px 0; - background: #fff url(../img/input.bg.gif) 0 0 repeat-x; + background: #fff url(../images/input.bg.gif) 0 0 repeat-x; }ol, ul { margin: 10px 0px 10px 6px; } @@ -52,27 +52,20 @@ fieldset { ----------------------------------------------- */ #document { padding: 0 1px; - background: #fff url(../img/bg.gif) 0 0 repeat-y; + background: #fff url(../images/bg.gif) 0 0 repeat-y; float: left; border-bottom: 1px solid #C3BBB6; } #header { float: left; width: 758px; - height: 46px; - background: url(../img/hdr.bg.gif) 0 0 repeat-x; + height:76px; + background: url(../images/hdr.bg.gif) 0 0 repeat-x; } #container { float: left; width: 758px; - background: url(../img/hdr.bar.jpg) 0 0 repeat-x; -} -#sidebar { - float: left; - width: 190px; - margin-top: 96px; - padding: 20px 10px 0 10px; - background: url(../img/sdb.bg.gif) 0 0 no-repeat; + background: url(../images/spring-logo.jpg) 0 0 repeat-x; } #content { float: left; @@ -98,7 +91,7 @@ input[type="submit"], input[type="button"] { color: #fff; border: 1px solid #5D1414; height: 26px; - background: #fff url(../img/btn.bg.gif) 0 0 repeat-x; + background: #fff url(../images/btn.bg.gif) 0 0 repeat-x; border-style: none; } .center { @@ -202,7 +195,7 @@ input[type="submit"], input[type="button"] { } #content table thead th { border-left: 1px solid #D2C9C4; - background: #fff url(../img/th.bg.gif) 0 100% repeat-x; + background: #fff url(../images/th.bg.gif) 0 100% repeat-x; border-bottom: 1px solid #D2C9C4; padding: 6px; text-align: left; @@ -252,17 +245,3 @@ input[type="submit"], input[type="button"] { color: #C7B299; text-decoration: none; } -/* Homepage Modifications ------------------------------------------------ */ -#pgHome #container { - background: url(../img/hdr.ad.jpg) 0 0 repeat-x; -} -#pgHome #sidebar { - margin-top: 207px; -} -#pgHome #content { - margin-top: 183px; -} -#pgHome input[type="submit"] { - height: 30px; -} diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/css/template.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/css/template.xhtml deleted file mode 100755 index 501a9494..00000000 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/css/template.xhtml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - Spring Web Stack: SWF + JSF Booking Sample - - - - -
- -
-
- -
-
- -
- - diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/css/trailblazer_main.css b/spring-webflow-samples/booking-jsf/src/main/webapp/css/trailblazer_main.css deleted file mode 100755 index 8700dcb5..00000000 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/css/trailblazer_main.css +++ /dev/null @@ -1,148 +0,0 @@ -* { - margin: 0px; - padding: 0px; - border: none; -} - -body { - font: 1em verdana, arial, sans-serif; - background: #CCCCCC; -} - -div#main { - margin-left: 0px; - width: 751px; - background: #ecefdf; -} - -div#top,div#pictures{ -} - -div#pictures img { - float:left; -} - -img#head1 { - margin-right: 3px; -} - -img#head2 { - margin-right: 4px; -} - -div.trail { - clear:both; - margin-left: 50px; - margin-top: 0px; - margin-right: 50px -} - -div.foot { - margin-left: 50px; - margin-right: 50px; - margin-top: 50px; - text-align: center; - font-size: .5em; - height: 36px; -} - -div.trail h1 { - margin-top: -30px; - margin-left: -50px; - font-size: 1.2em; - font-weight: bold; - padding-left: .4em; -} - -div.trail h2 { - float: left; - font-size: 1em; - font-weight: bold; - padding-left: .4em; -} - -div.trail h3 { - float: left; - font-size: .8em; - font-weight: bold; - margin-left: -1.4em; - margin-bottom: 1em; -} - - -div.trail p { - clear: both; - margin-top: 20px; - font-size: .8em; - text-decoration: none; -} - -div#next_trail { - margin-left: 36px; -} - -div.numbox { - border: thin solid black; - margin-left: -.8em; - float: left; - background: #ffffff; - padding: .2em .35em .3em; - font-style: normal; - font-weight: bold; - font-size: 1.4em; -} - -div.figure { - text-align: center; - font-size: .6em; - margin-top: 30px; -} - -div.figure img { - display: block; - margin-right: auto; - margin-left: auto; -} - -code { - font: 1.1em "Courier New", Courier, mono; -} - -code.block { - white-space: pre; - font: 10pt "Courier New", Courier, mono; - display: block; - border-style: dashed; - border-width: thin; - padding: .5em; - background: #ffffff; - margin: 20px; -} - -div.foot_image { - float: left; - height: 86px; -} - -a:active { - color : #666666; - text-decoration: none; -} - -a:hover { - color : #000000; - background-color : #D6E0FE; - text-decoration: none; -} - -a:link { - color : #005EB6; - text-decoration: none; -} - -a:visited { - color : #888888; - text-decoration: none; -} - - diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/book.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/book.xhtml similarity index 79% rename from spring-webflow-samples/booking-jsf/src/main/webapp/book.xhtml rename to spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/book.xhtml index b3aab3be..15e4c7ee 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/book.xhtml +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/book.xhtml @@ -3,9 +3,8 @@ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" - xmlns:s="http://jboss.com/products/seam/taglib" xmlns:a="https://ajax4jsf.dev.java.net/ajax" - template="template.xhtml"> + template="/template.xhtml"> @@ -45,99 +44,88 @@ - - - - - - - - - - -
Check In Date:
- + - + - - + +
Check Out Date:
- + - + - - + +
Room Preference:
- + - +
Smoking Preference:
- + - +
Credit Card #:
- + - +
Credit Card Name:
- + - +
Credit Card Expiry:
- + @@ -159,11 +147,9 @@ - +
- -
@@ -181,21 +167,4 @@
- - - -

Workspace management

-

- As you can see, Seam makes it easy to work in multiple windows or multiple browser - tabs. But you can even switch between multiple tasks inside a single browser tab! - The "Workspaces" section showcases this advanced feature. -

-

- - How does the workspace list work? - -

- -
- diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/bookHotel-flow.xml b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/bookHotel-flow.xml similarity index 86% rename from spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/bookHotel-flow.xml rename to spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/bookHotel-flow.xml index 13d7bb94..43ef378f 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/bookHotel-flow.xml +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/bookHotel-flow.xml @@ -12,9 +12,7 @@ - - - + @@ -38,7 +36,7 @@ - + @@ -49,7 +47,7 @@ - + diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/confirm.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/confirm.xhtml similarity index 73% rename from spring-webflow-samples/booking-jsf/src/main/webapp/confirm.xhtml rename to spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/confirm.xhtml index ece888fd..c5077513 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/confirm.xhtml +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/confirm.xhtml @@ -3,8 +3,7 @@ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" - xmlns:s="http://jboss.com/products/seam/taglib" - template="template.xhtml"> + template="/template.xhtml"> @@ -68,22 +67,4 @@ - - -

Back button navigation

-

- When you click "Confirm", the new booking is written to the database, the - conversation ends, and state associated with the conversation is automatically - destroyed by Seam. After you confirm your booking, try hitting the back button - on your web browser and clicking "Confirm" again. Seam makes it easy implement - applications that behave elegantly in response to the back, forward and refresh - buttons. -

-

- - What happens when the conversation ends? - -

-
- diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/hotel.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/hotel.xhtml similarity index 60% rename from spring-webflow-samples/booking-jsf/src/main/webapp/hotel.xhtml rename to spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/hotel.xhtml index efe8471b..c57e1dc1 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/hotel.xhtml +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/booking/hotel.xhtml @@ -3,7 +3,7 @@ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" - template="template.xhtml"> + template="/template.xhtml"> @@ -55,28 +55,4 @@ - - - -

Don't kill your database

-

- Keeping conversational state in memory in the middle tier is a great way to - improve your application's scalability. It saves hitting the database every - time we refresh a page, to re-read the data we were just looking at five - seconds ago. By using Seam's conversation context, we get a natural cache - of data associated with the what the user is currently doing. By nature, - this cache has a more efficient eviction policy than the MRU-type algorithms - used by a typical second-level data cache in an O/R mapping engine like - Hibernate (at least for some kinds of data). Of course, you should use - a clever combination of second-level caching and conversational data - caching to achieve the best performance for your application. -

-

- - How does the hotel booking wizard work? - -

- -
- diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/main-flow.xml b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/main/main-flow.xml similarity index 64% rename from spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/main-flow.xml rename to spring-webflow-samples/booking-jsf/src/main/webapp/flows/main/main-flow.xml index 7bfd4d2f..f950199c 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/WEB-INF/flows/main-flow.xml +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/main/main-flow.xml @@ -11,12 +11,13 @@ - + - + + @@ -27,12 +28,21 @@ - + - + + + + + + + + + + \ No newline at end of file diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/main.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/main/main.xhtml similarity index 66% rename from spring-webflow-samples/booking-jsf/src/main/webapp/main.xhtml rename to spring-webflow-samples/booking-jsf/src/main/webapp/flows/main/main.xhtml index 47cc453e..cb430a79 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/main.xhtml +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/flows/main/main.xhtml @@ -2,10 +2,9 @@ + template="/template.xhtml"> @@ -42,27 +41,27 @@
- + Name - #{hot.name} + #{hotel.name} Address - #{hot.address} + #{hotel.address} City, State - #{hot.city}, #{hot.state}, #{hot.country} + #{hotel.city}, #{hotel.state}, #{hotel.country} Zip - #{hot.zip} + #{hotel.zip} Action - + @@ -78,34 +77,36 @@
- + Name - #{book.hotel.name} + #{booking.hotel.name} Address - #{book.hotel.address} + #{booking.hotel.address} City, State - #{book.hotel.city}, #{book.hotel.state} + #{booking.hotel.city}, #{booking.hotel.state} Check in date - + Check out date - + Confirmation number - #{book.id} + #{booking.id} Action - + + +
@@ -114,27 +115,4 @@ - - - -

State management in Seam

-

- State in Seam is contextual. When you click "Find Hotels", the application - retrieves a list of hotels from the database and caches it in the session context. When you - navigate to one of the hotel records by clicking the "View Hotel" link, a conversation - begins. The conversation is attached to a particular tab, in a particular browser window. You can - navigate to multiple hotels using "open in new tab" or "open in new window" in your web browser. - Each window will execute in the context of a different conversation. The application keeps state - associated with your hotel booking in the conversation context, which ensures that the concurrent - conversations do not interfere with each other. -

- -

- - How does the search page work? - -

- -
- diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/home.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/home.xhtml deleted file mode 100755 index c17a858e..00000000 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/home.xhtml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - Spring Web Stack: Spring Web Flow + JSF - - - - -
- -
- -
-
- -

About this example application

- -

- This sample application demonstrates how easy it is to develop stateful web - applications using Spring Web Flow. Just register, login, and book a room to see - SWF in action. -

- -

- Note: Please do NOT enter personal information or your credit card number in - this sample application. -

-
-
-
- -
-
- - diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/img/bg.gif b/spring-webflow-samples/booking-jsf/src/main/webapp/images/bg.gif similarity index 100% rename from spring-webflow-samples/booking-jsf/src/main/webapp/img/bg.gif rename to spring-webflow-samples/booking-jsf/src/main/webapp/images/bg.gif diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/img/btn.bg.gif b/spring-webflow-samples/booking-jsf/src/main/webapp/images/btn.bg.gif similarity index 100% rename from spring-webflow-samples/booking-jsf/src/main/webapp/img/btn.bg.gif rename to spring-webflow-samples/booking-jsf/src/main/webapp/images/btn.bg.gif diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/img/hdr.bg.gif b/spring-webflow-samples/booking-jsf/src/main/webapp/images/hdr.bg.gif similarity index 100% rename from spring-webflow-samples/booking-jsf/src/main/webapp/img/hdr.bg.gif rename to spring-webflow-samples/booking-jsf/src/main/webapp/images/hdr.bg.gif diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/img/input.bg.gif b/spring-webflow-samples/booking-jsf/src/main/webapp/images/input.bg.gif similarity index 100% rename from spring-webflow-samples/booking-jsf/src/main/webapp/img/input.bg.gif rename to spring-webflow-samples/booking-jsf/src/main/webapp/images/input.bg.gif diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/img/th.bg.gif b/spring-webflow-samples/booking-jsf/src/main/webapp/images/th.bg.gif similarity index 100% rename from spring-webflow-samples/booking-jsf/src/main/webapp/img/th.bg.gif rename to spring-webflow-samples/booking-jsf/src/main/webapp/images/th.bg.gif diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/img/cal-next.png b/spring-webflow-samples/booking-jsf/src/main/webapp/img/cal-next.png deleted file mode 100755 index ef993543b170877f094685f6448cda7bd2414874..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 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 diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/img/hdr.title.gif b/spring-webflow-samples/booking-jsf/src/main/webapp/img/hdr.title.gif deleted file mode 100755 index 60a47957fc40b55c7cff8b93bdb00799348ad04f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1601 zcmV-H2EO@6Nk%w1VHyD>0K^>tx3jU($;76GVOCB`o|u)7b5~(nR?p4MZDwO}YG=c| zx1XDte0Fn)f`4gYT#}54OhZ6KJUQFh+2`iw^YilO;M?2O&y|pktEQv#?dNxJZM~Li zJTx)?006_lzyJOFA^8LW0012TEC2ui02%=#000I5U?+}bX`X1Ru54>=ZYNdyWenMd`_>g z1oph1j^F$LWqp8ygja%vh>1*xij6Z47a|P-Ul$HV1!WHt9}9C22Qml;2uJ}R8XXHC zUK$^iM44l*7#f#xt1_;sN01`9UX~&b070^17!!8DF1t?5V$eIsUk9Oe(klrc2}qM7 z1Rnzc86OG*Bn+n+0O%qN79SN2!wMf67$)%Y^c?~H9UKI>^{)el3acKp;Vb3>AQWz>ol526PSv`(>LUK;Z`^5)*E~_5*qpz?@9Sya}@kY!dX{2*$o8zi5LNuG}@?JgAcCw+DCfDNkRoB z21x<{6?A}rId_3*K`AEec}|9xiLfW29>Ujwl?))@C^_3@@MjAtq9Buwyy1r12U;4? zKuXuRx#b9=?r7ry>X86}ZvdbLji|t6swt-(6xj_19xRY5tpFf7!i=jFx5`;w-s!7} z-7u=@MKo$RYO|b)W2~GQiVy(*CDl^MSvdiOWB@`H6e|h0A!&FhjfG+uj!*1939h&% zzJi~vDsC61s$1u>g2a|Sh=3o^QLYKy|n zIj0~m3I_BPW2rkz009RaTugF?0k?Ikje9l#^|=ZgH*(b@0B}H&8&MEcsve|TA63w- zVt{<`qDlhS|5EL>-Q*Q#5Czo!%+Z3i0xm)Xbe2$B39bNY!r`YCBZ=RMj!+~oL;H=w zT`fR(S=uL91~ms=0UdPzhlOJ7aX6n_SxU7UCdl~-Rz5&gb7?c!vX@0dR&8EnI$c7` zcZE|*k!+RFddZjNF7pJlrz~kH16Ytj1R^Mq0X+j)j}8JcMqq&jBJt8H^&@cKf%o7y z_cHK+9S~3)gd8LS4Pe9_u#rG1BABY(!6$$v7(l_$p#e?+N+$Gk$MFay0{LK1 zJ_v#j0sc`Ad3Y%Tt@23)096_x#>f>uxt`(J6)uh-#D|b86ybb=jtJO;UGzZWJvwFr z%v}y6K3Pf!JjgD-B#|*A7)W3RDOdsrI&expp+MqqPa5hRu z95b2FB*6j}@JwjBGMd=TrZ2V0&2EZ-1KtcLHo+;*au$=E=1eCd(5X&Dga80Lmf46O diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/img/header_line.gif b/spring-webflow-samples/booking-jsf/src/main/webapp/img/header_line.gif deleted file mode 100755 index 5638533e834948991e48b40b01b76cf02a2030ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 571 zcmZ?wbhEHb%wl3>c=n&+z<~q*{{8#=_wS!Se}4b|{p;7SpFe;8`0?ZW_wV1nef#?L z>z6NIK7aoF>C>l=A3uKh@ZtUY_wU}ld;9k7n>TM>zkdDd)vK2;U%q(p;`#IE&z?Pd z`t<4J$B!R9di3z&!~6H|-@AA3&Ye5AZ{NOo^XB#I*RNi^dgaQM%a<=-ym;~a`SWMb zo;`Ky)X9@4Pn-mzoHwr$(CZr!?R)259ZH?Cj5e)a0r zD_5>uv0}y2rArqqSTJ|)+&OdR%$PA_+O%m?r%s(TX;N=*Z)ay`dwY9xb8~%tJ;M+I zia%KxK~B{H5ui9>V4u;z;NINQ+ScCD+11_C+t)u~;-tw_rcRqaW9F>cbLP&Q=C*Lr zVmDWpqwaWPR5VId(w0e(JSUY;-9++3VLIXKw={$pch5>s&4kZ_QZ WLy#-t#D;~3+nJa=rbuuwSOWlUWaEqg diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/img/sdb.bg.gif b/spring-webflow-samples/booking-jsf/src/main/webapp/img/sdb.bg.gif deleted file mode 100755 index 9d5d2c053482e3b70b1b92e79ef02dc8811cd2ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 618 zcmV-w0+szoNk%w1VbTC*0J8u9_4D!F*V60fM)j$~k- zXsWJk>%MR-&vb3yw?XWD@BhG{a7Zi~kI1BQ$z&P^(5Q4uty-_xtai)odcWXs*dQpI z&*-#z&2GEj@VIs;jK6uCK7Mva__cwg|Yny1Tr+zQ4f1!o$SH#>dFX$p<9O&d<=% z($me%)YsVA+S}3A+~45g;?ob~=I7|?6y@se?(fp<@bmQb8S?h|`tSJr{{P|n0USt> zT)~3~p8-h7u%U;A4kJpW0CA$lh7~VrESPblM}HmvKZ>jua->OjB~Pk6mvW^`a4lcT z%ocN|O=&f6>TK3vr%!4wr+*Ojq7tRU7dFC+RUq0rhvXb{{r4Ac<{}_hG!y9{Bi(e zn~opLj4atD<;p5AV>YRIv&hb#Jvs<|ay03YrcZxNt$HKt))!yHo=9N!#@e#*ZURuDsxa<_w=hM<{)|bL$7IV+W{xyFUfq2Z9g(Z#?;Z=FjI# zuf87p_VeDuenb99Af5rT)t{mCEg5urg=A(g z{C|6SPb~9Xage|wB`SrZk2FOMYM!buln2sX?5Y+T78iB(Zu9cS7|LZyZ++}u$^oi1 z_j@S}bW9OzU2R+RMy&~OT>X-oZ98$jq#ogNfJ!BM-42wHGZk*6s2KD}U*IA%epmxb zm}|6BK9YoIF;*xSL!+z@<64lB7->LTW2Vi4ostCA(z&2XniwNIv}fFo-`MbG;)u4G z^p@F!)|9HhZprHd_vXjDoxs6WkK-6P0@lfxnGT>*p(QHoUV=u1FAqb@b%*W=a3{`LsH5k^AvQNL>6fPpy#oU(&MuH(*aEX4b35*} zn4n7)`I2U%=+Z=?BVZQ?vjQFW4gD@~XSOO6b{qu81`4&LFuU2(ilxW+1|ZkNMnWe79C$gs zWT?Ele|HR{JGPe)5BTW>0Ey?-Ls6S#GoV0tbt6ku7B&*0 z;i9QM$W1Rj*rRIdceL)rAOSl+sDe3LkB87<%){;ZdHp6|SNlopDXRx< zxBDF9-lTo&v`8$humFygUij@qgT=Qzhj8{ym2-{Xciwqq_Xwk%=O3B-MNAL_6e`3U zyxwmXex4`g0^1RYw~Dth3av3Dl^AAlpO3mG!nLr#&ZZ7c_wUboI+deC+&%TFjK2Lm z!Y&f1h|T_On%RCV&=4bx`!>(YezqGVhl&QpED?N6GV)HmzJ9&rh$x*i?*@o9#6QI< z5ZI_MRX;0+pY8$`j)eF#TlUyG(eE%E7S!rj;mj^M5vhUicPm zVWQ2z+imFyg}SRABmOBY_@osR!>7Ov!ioK`NB6_Rv}7Ud?35ed5Sb@?yND?kv~RCa wqs^a3Sh>&&L4)!LKI?D2&k@))k(LESaga|C278ChSzn3NWVkcuNoY&{0f?~U_5c6? diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/intro.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/intro.xhtml index ee4bd5d1..77deed35 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/intro.xhtml +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/intro.xhtml @@ -15,24 +15,8 @@

-

- This Spring Web Flow sample application is the JSF-based version of the familiar "Sell item" sample. - It illustrates the following concepts: -

-
    -
  • Using Spring Web Flow with JSF
  • -
  • Implementing a wizard using web flows.
  • -
  • Use of conversation scope.
  • -
  • Using expressions to apply dynamic flow navigation rules
  • -
  • Using continuations to make the flow completely stable, no matter how browser navigation buttons are used.
  • -
  • "Always redirect on pause" to benefit from the POST+REDIRECT+GET pattern with no special coding.
  • -
  • - Using "conversation invalidation after completion" to prevent duplicate submits of the same sale - while taking advantage of continuations to allow back button usage while the application transaction is in process. -
  • -

- Book Hotels (launch with a regular anchor tag) + Book Hotels (launch with a regular anchor tag)


diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/password.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/password.xhtml deleted file mode 100755 index 793686c0..00000000 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/password.xhtml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - -
-

Change Your Password

-
-
- - - - - - - - - - - -
- -
-
Password:
-
- - - - - -
-
- -
-
Verify:
-
- - - -
-
- -
- -
- -
-
 
-
-   - -
-
- -
- -
-
-
- - - -

Simple things should be easy

-

- (And so should some complex things.) You shouldn't have to write four different classes - just to change a password. Traditional J2EE architectures require that developers spend - more time writing code to make the frameworks happy, than they ever get to spend writing - code to make the user happy. Seam lets you reduce the size of your code dramatically. - And that reduces bugs. And it makes refactoring easier. And it makes delivering new - functionality quicker. Productivity matters. But with Seam, JSF, EJB 3.0 and jBPM, you - don't need to sacrifice the ability to handle complex problems just to achieve great - productivity. -

-
- -
\ No newline at end of file diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/register.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/register.xhtml deleted file mode 100755 index f40823be..00000000 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/register.xhtml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - JBoss Suites: Seam Framework - - - -
- -
- -
-
-

Register

-
-
- - -
- - - - - - - - - - - - -
-
Username:
-
- - - - - -
-
- -
-
Real Name:
-
- - - - - -
-
- -
-
Password:
-
- - - -
-
- -
-
Verify Password:
-
- - - -
-
- -
- -
- -
- -
-
 
-
-   - -
-
- -
-
- -
-
-
- -
- - diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/style.css b/spring-webflow-samples/booking-jsf/src/main/webapp/style.css deleted file mode 100755 index f4b0a64e..00000000 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/style.css +++ /dev/null @@ -1,58 +0,0 @@ -body { - width: 720px; - margin: 0px; - padding: 0px; -} - -div#logo { - width: 720px; - height: 73px; - background: #86AEA5; -} - -div#navigation { - width: 720px; - height: 15px; - background: #E2F3B8; - text-align: right; -} - -div#content { - width: 720px; - padding: 5px; -} - -div#insert { - width: 120; - float: right; - text-align: right; -} - -.buttonBar { - height: 1.5em; - text-align: right; -} - -div#copyright { - width: 720px; -} - -div#copyright p { - text-align: center; - font-family: Tahoma, sans-serif; - font-size: 75%; - color: div#336633; - margin-left: 5px; - font-weight: bold; - clear: both; -} - -.readOnly { - color: rgb(192, 192, 192); -} - -.error { - color: red; - font-weight: bold; - font-family: Arial, sans-serif; -} \ No newline at end of file diff --git a/spring-webflow-samples/booking-jsf/src/main/webapp/template.xhtml b/spring-webflow-samples/booking-jsf/src/main/webapp/template.xhtml index 501a9494..bb428a88 100755 --- a/spring-webflow-samples/booking-jsf/src/main/webapp/template.xhtml +++ b/spring-webflow-samples/booking-jsf/src/main/webapp/template.xhtml @@ -5,13 +5,13 @@ Spring Web Stack: SWF + JSF Booking Sample - +