public void onBookingComplete( @Observes(during = TransactionPhase.AFTER_SUCCESS) @Confirmed final Booking booking) { log.bookingConfirmed(booking.getHotel().getName(), booking.getUser().getName()); messages .info(new DefaultBundleKey("booking_confirmed")) .defaults("You're booked to stay at the {0} {1}.") .params( booking.getHotel().getName(), new PrettyTime(locale).format(booking.getCheckinDate())); }
public void bookHotel() { booking = new Booking(hotelSelection, user, 7, 2); hotelSelection = null; // for demo convenience booking.setCreditCardNumber("1111222233334444"); log.bookingInitiated(user.getName(), booking.getHotel().getName()); messages .info(new DefaultBundleKey("booking_initiated")) .defaults("You've initiated a booking at the {0}.") .params(booking.getHotel().getName()); }
@Begin public void selectHotel(final Long id) { conversation.setTimeout(600000); // 10 * 60 * 1000 (10 minutes) // NOTE get a fresh reference that's managed by the extended persistence context hotelSelection = em.find(Hotel.class, id); if (hotelSelection != null) { log.hotelSelected( user != null ? user.getName() : "Anonymous", hotelSelection.getName(), hotelSelection.getCity()); } }
public void validate() { log.hotelEntityInPersistenceContext(em.contains(booking.getHotel())); // if we got here, all validations passed bookingValid = true; }