KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2 @COPYRIGHT@
3 */

4 package demo.tasklist.action;
5
6 import demo.tasklist.common.Constants;
7 import demo.tasklist.form.DeleteFromListForm;
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  * DeleteFromListAction processes the request to delete one or more items from
20  * the task list. Task list is fetched from the HttpSession object,
21  * items indicated in the DeleteFromListForm are deleted from the list, and
22  * the modified list is loaded back into the HttpSession object.
23  */

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