Cart cart = (Cart) WebUtils.getOrCreateSessionAttribute(request, "sessionCart", Cart.class);
String workingItemId = request.getParameter("workingItemId");
if (cart.containsItemId(workingItemId)) {
cart.incrementQuantityByItemId(workingItemId);
}
else {
// isInStock is a "real-time" property that must be updated
// every time an item is added to the cart, even if other
// item details are cached.
boolean isInStock = this.petStore.isItemInStock(workingItemId);
Item item = this.petStore.getItem(workingItemId);
cart.addItem(item, isInStock);
}
return new ModelAndView("Cart", "cart", cart);