KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > demo > townsend > action > AddToListAction


1 /*
2 @COPYRIGHT@
3 */

4 package demo.townsend.action;
5
6 import demo.townsend.common.Constants;
7 import demo.townsend.form.AddToListForm;
8 import demo.townsend.service.DataKeeper;
9 import demo.townsend.service.Product;
10 import demo.townsend.service.ProductCatalog;
11 import java.util.ArrayList JavaDoc;
12 import java.util.Iterator JavaDoc;
13 import javax.servlet.http.HttpServletRequest JavaDoc;
14 import javax.servlet.http.HttpServletResponse JavaDoc;
15 import javax.servlet.http.HttpSession JavaDoc;
16 import org.apache.struts.action.Action;
17 import org.apache.struts.action.ActionForm;
18 import org.apache.struts.action.ActionForward;
19 import org.apache.struts.action.ActionMapping;
20
21 /**
22  * AddToListAction processes the request to add an item to the user's list.
23  * User's list is fetched from the HttpSession object, the item indicated in
24  * the AddToListForm is added to the list, and the modified list is loaded back
25  * into the HttpSession object.
26  */

27 public class AddToListAction extends Action {
28    public ActionForward execute( ActionMapping mapping,
29                                  ActionForm form,
30                                  HttpServletRequest JavaDoc request,
31                                  HttpServletResponse JavaDoc response)
32     throws Exception JavaDoc {
33
34       String JavaDoc newProdId = ((AddToListForm)form).getId();
35       Product newProd = null;
36       ArrayList JavaDoc catalog = new ProductCatalog().getCatalog();
37       for (Iterator JavaDoc iter = catalog.iterator(); iter.hasNext(); ) {
38         Product p = (Product) iter.next();
39         if (p.getId().equals(newProdId)) {
40           newProd = p;
41         }
42       }
43       
44       HttpSession JavaDoc session = (HttpSession JavaDoc)request.getSession();
45       
46       DataKeeper dkeeper = (DataKeeper)session.getAttribute( Constants.DATA_KEY);
47       if (dkeeper == null) {
48         dkeeper = new DataKeeper();
49       }
50       
51       dkeeper.addListItem(newProd);
52       
53       session.setAttribute( Constants.DATA_KEY, dkeeper );
54           
55       return mapping.findForward(Constants.SUCCESS_KEY );
56   }
57 }
58
Popular Tags