HttpServletRequest request,
HttpServletResponse response) {
String bookId = null;
Book book = null;
String clear = null;
BookDBAO bookDBAO = (BookDBAO) getServletContext()
.getAttribute("bookDBAO");
HttpSession session = request.getSession();
String selectedScreen = request.getServletPath();
ShoppingCart cart = (ShoppingCart) session.getAttribute("cart");
if (cart == null) {
cart = new ShoppingCart();
session.setAttribute("cart", cart);
}
if (selectedScreen.equals("/bookcatalog")) {
bookId = request.getParameter("Add");
if (!bookId.equals("")) {
try {
book = bookDBAO.getBook(bookId);
if (book.getOnSale()) {
double sale = book.getPrice() * .85;
Float salePrice = new Float(sale);
book.setPrice(salePrice.floatValue());
}
cart.add(bookId, book);
} catch (BookNotFoundException ex) {
// not possible
}
}
} else if (selectedScreen.equals("/bookshowcart")) {
bookId = request.getParameter("Remove");
if (bookId != null) {
cart.remove(bookId);
}
clear = request.getParameter("Clear");
if ((clear != null) && clear.equals("clear")) {
cart.clear();
}
} else if (selectedScreen.equals("/bookreceipt")) {
// Update the inventory
try {
utx.begin();
bookDBAO.buyBooks(cart);
utx.commit();
} catch (Exception ex) {
try {
utx.rollback();
request.getRequestDispatcher("/bookordererror.jsp")