KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2 @COPYRIGHT@
3 */

4 package demo.tasklist.action;
5
6 import demo.tasklist.common.Constants;
7 import demo.tasklist.form.AddToListForm;
8 import demo.tasklist.service.DataKeeper;
9 import demo.tasklist.service.ErrorKeeper;
10 import javax.servlet.http.HttpServletRequest JavaDoc;
11 import javax.servlet.http.HttpServletResponse JavaDoc;
12 import javax.servlet.http.HttpSession JavaDoc;
13 import org.apache.struts.action.Action;
14 import org.apache.struts.action.ActionForm;
15 import org.apache.struts.action.ActionForward;
16 import org.apache.struts.action.ActionMapping;
17
18 /**
19  * AddToListAction processes the request to add an item to the task list.
20  * Task list is fetched from the HttpSession object, the item indicated in
21  * the AddToListForm is added to the list, and the modified list is loaded back
22  * into the HttpSession object.
23  */

24 public class AddToListAction extends Action {
25   public ActionForward execute(ActionMapping mapping,
26                                ActionForm form,
27                                HttpServletRequest JavaDoc request,
28                                HttpServletResponse JavaDoc response)
29     throws Exception JavaDoc {
30     HttpSession JavaDoc session = (HttpSession JavaDoc)request.getSession();
31
32     AddToListForm addToListForm = (AddToListForm) form;
33     String JavaDoc newListItem = addToListForm.getNewListItem();
34     String JavaDoc errorMsg = addToListForm.getErrorMsg();
35
36     if(errorMsg != null) {
37       session.setAttribute(Constants.ERROR_KEY, new ErrorKeeper(errorMsg));
38     } else {
39       session.removeAttribute(Constants.ERROR_KEY);
40     }
41       
42     DataKeeper dkeeper = (DataKeeper)session.getAttribute( Constants.DATA_KEY);
43     if (dkeeper == null) {
44       dkeeper = new DataKeeper();
45     }
46     dkeeper.addListItem(newListItem);
47       
48     session.setAttribute( Constants.DATA_KEY, dkeeper );
49           
50     return mapping.findForward(Constants.SUCCESS_KEY );
51   }
52 }
53
Popular Tags