This commit is contained in:
Keith Donald
2008-04-01 20:20:28 +00:00
parent 9945f47f40
commit 4df670ae70
2 changed files with 22 additions and 1 deletions

View File

@@ -16,6 +16,9 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import org.springframework.binding.message.MessageBuilder;
import org.springframework.binding.message.MessageContext;
/**
* A Hotel Booking made by a User.
*/
@@ -173,6 +176,22 @@ public class Booking implements Serializable {
this.creditCardExpiryYear = creditCardExpiryYear;
}
public boolean validate(MessageContext context) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, -1);
boolean valid = true;
if (checkinDate.before(calendar.getTime())) {
context.addMessage(new MessageBuilder().error().source("checkinDate").defaultText(
"Check in date must be a future date").build());
valid = false;
} else if (!checkinDate.before(checkoutDate)) {
context.addMessage(new MessageBuilder().error().source("checkoutDate").defaultText(
"Check out date must be later than check in date").build());
valid = false;
}
return valid;
}
@Override
public String toString() {
return "Booking(" + user + "," + hotel + ")";

View File

@@ -14,7 +14,9 @@
</on-start>
<view-state id="enterBookingDetails" model="booking">
<transition on="proceed" to="reviewBooking" />
<transition on="proceed" to="reviewBooking">
<evaluate expression="booking.validate(messageContext)"/>
</transition>
<transition on="cancel" to="cancel" bind="false" />
</view-state>