DeleteFromListAction.java
01 /*
02  *
03  * All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
04  *
05 */
06 package demo.tasklist.action;
07 
08 import demo.tasklist.common.Constants;
09 import demo.tasklist.form.DeleteFromListForm;
10 import demo.tasklist.service.DataKeeper;
11 import demo.tasklist.service.ErrorKeeper;
12 import javax.servlet.http.HttpServletRequest;
13 import javax.servlet.http.HttpServletResponse;
14 import javax.servlet.http.HttpSession;
15 import org.apache.struts.action.Action;
16 import org.apache.struts.action.ActionForm;
17 import org.apache.struts.action.ActionForward;
18 import org.apache.struts.action.ActionMapping;
19 
20 /**
21  * DeleteFromListAction processes the request to delete one or more items from
22  * the task list.  Task list is fetched from the HttpSession object, 
23  * items indicated in the DeleteFromListForm are deleted from the list, and
24  * the modified list is loaded back into the HttpSession object.
25  */
26 public class DeleteFromListAction extends Action {
27    public ActionForward executeActionMapping mapping,
28                                  ActionForm form,
29                                  HttpServletRequest request,
30                                  HttpServletResponse response)
31     throws Exception {
32 
33      HttpSession session = (HttpSession)request.getSession();
34      
35      DeleteFromListForm deleteFromListForm = (DeleteFromListForm)form;
36      String[] itemsForDelete = deleteFromListForm.getItemsForDelete();
37      String errorMsg = deleteFromListForm.getErrorMsg();
38      
39      if(errorMsg != null) {
40        session.setAttribute(Constants.ERROR_KEY, new ErrorKeeper(errorMsg));
41      }
42      else {
43        session.removeAttribute(Constants.ERROR_KEY);
44      }
45       
46       DataKeeper dkeeper = (DataKeeper)session.getAttributeConstants.DATA_KEY);
47       if (dkeeper == null) {
48         dkeeper = new DataKeeper();
49       }
50       dkeeper.deleteListItems(itemsForDelete);
51       
52       session.setAttributeConstants.DATA_KEY, dkeeper );
53   
54       return mapping.findForward(Constants.SUCCESS_KEY )
55   }
56 }