1 6 7 package org.contineo.actions.communication; 8 9 import javax.servlet.http.HttpServletRequest ; 10 import javax.servlet.http.HttpServletResponse ; 11 import javax.servlet.http.HttpSession ; 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 32 public class DeleteAccountAction extends Action { 33 34 38 private Logger logger; 39 40 41 42 public DeleteAccountAction() { 43 logger = LoggingManager.getLogger(this.getClass()); 44 } 45 46 public ActionForward execute(ActionMapping mapping, 47 ActionForm form, HttpServletRequest request, 48 HttpServletResponse response) { 49 ActionForward actionForward = new ActionForward(); 50 ActionErrors errors = new ActionErrors(); 51 ActionMessages messages = new ActionMessages(); 52 HttpSession session = request.getSession(); 53 if (SessionManagement.isValid(session)) { 54 try { 55 String username = (String )session.getAttribute("authuser"); 56 String 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 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 |