KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > communication > DeleteAccountAction


1 /*
2  * ChangePasswordAction.java
3  *
4  * Created on 16. Dezember 2003, 22:25
5  */

6
7 package org.contineo.actions.communication;
8
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10 import javax.servlet.http.HttpServletResponse JavaDoc;
11 import javax.servlet.http.HttpSession JavaDoc;
12 import org.apache.log4j.Level;
13 import org.apache.log4j.Logger;
14 import org.apache.struts.action.Action;
15 import org.apache.struts.action.ActionError;
16 import org.apache.struts.action.ActionErrors;
17 import org.apache.struts.action.ActionForm;
18 import org.apache.struts.action.ActionForward;
19 import org.apache.struts.action.ActionMapping;
20 import org.apache.struts.action.ActionMessage;
21 import org.apache.struts.action.ActionMessages;
22 import org.contineo.communication.EMailAccount;
23 import org.contineo.communication.dao.EMailAccountDAO;
24 import org.contineo.core.LoggingManager;
25 import org.contineo.core.SessionManagement;
26
27 /**
28  *
29  * @author Michael Scholz
30  * @version 1.0
31  */

32 public class DeleteAccountAction extends Action {
33
34     /**
35      * @uml.property name="logger"
36      * @uml.associationEnd
37      */

38     private Logger logger;
39
40     
41     /** Creates a new instance of ChangePasswordAction */
42     public DeleteAccountAction() {
43         logger = LoggingManager.getLogger(this.getClass());
44     }
45     
46     public ActionForward execute(ActionMapping mapping,
47     ActionForm form, HttpServletRequest JavaDoc request,
48     HttpServletResponse JavaDoc response) {
49         ActionForward actionForward = new ActionForward();
50         ActionErrors errors = new ActionErrors();
51         ActionMessages messages = new ActionMessages();
52         HttpSession JavaDoc session = request.getSession();
53         if (SessionManagement.isValid(session)) {
54             try {
55                 String JavaDoc username = (String JavaDoc)session.getAttribute("authuser");
56                 String JavaDoc accountid = request.getParameter("accountid");
57                 int accountId = Integer.parseInt(accountid);
58                 EMailAccountDAO accountDao = new EMailAccountDAO();
59                 EMailAccount account = accountDao.findByPrimaryKey(accountId);
60                 if (username.equals(account.getUserName())) {
61                     boolean deleted = accountDao.delete(accountId);
62                     if (deleted)
63                         messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.deleteaccount"));
64                     else
65                         errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.deleteaccount"));
66                     actionForward.setPath("/ShowAccounts.do");
67                 } else
68                     actionForward = mapping.findForward("noaccess");
69             } catch (Exception JavaDoc e) {
70                 if (logger.isEnabledFor(Level.ERROR))
71                     logger.error(e.getMessage());
72                 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.deleteaccount"));
73                 actionForward.setPath("/ShowAccounts.do");
74             }
75             saveErrors(request, errors);
76             saveMessages(request, messages);
77         } else
78             actionForward = mapping.findForward("invalid");
79         return actionForward;
80     }
81 }
82
Popular Tags