KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > samples > jpetstore > web > struts > AddItemToCartAction


1 package org.springframework.samples.jpetstore.web.struts;
2
3 import javax.servlet.http.HttpServletRequest JavaDoc;
4 import javax.servlet.http.HttpServletResponse JavaDoc;
5
6 import org.apache.struts.action.ActionForm;
7 import org.apache.struts.action.ActionForward;
8 import org.apache.struts.action.ActionMapping;
9
10 import org.springframework.samples.jpetstore.domain.Cart;
11 import org.springframework.samples.jpetstore.domain.Item;
12
13 public class AddItemToCartAction extends BaseAction {
14
15   public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws Exception JavaDoc {
16     CartActionForm cartForm = (CartActionForm) form;
17     Cart cart = cartForm.getCart();
18     String JavaDoc workingItemId = cartForm.getWorkingItemId();
19     if (cart.containsItemId(workingItemId)) {
20       cart.incrementQuantityByItemId(workingItemId);
21     }
22         else {
23       // isInStock is a "real-time" property that must be updated
24
// every time an item is added to the cart, even if other
25
// item details are cached.
26
boolean isInStock = getPetStore().isItemInStock(workingItemId);
27       Item item = getPetStore().getItem(workingItemId);
28       cartForm.getCart().addItem(item, isInStock);
29     }
30     return mapping.findForward("success");
31   }
32
33 }
34
Popular Tags