1 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.EMail; 23 import org.contineo.communication.dao.EMailDAO; 24 import org.contineo.core.FileBean; 25 import org.contineo.core.LoggingManager; 26 import org.contineo.core.SessionManagement; 27 import org.contineo.core.config.SettingConfigurator; 28 29 35 public class DeleteEMailAction extends Action { 36 37 41 private Logger logger; 42 43 44 47 public DeleteEMailAction() { 48 logger = LoggingManager.getLogger(this.getClass()); 49 } 50 51 public ActionForward execute(ActionMapping mapping, 52 ActionForm form, HttpServletRequest request, 53 HttpServletResponse response) { 54 ActionForward actionForward = new ActionForward(); 55 ActionErrors errors = new ActionErrors(); 56 ActionMessages messages = new ActionMessages(); 57 HttpSession session = request.getSession(); 58 if (SessionManagement.isValid(session)) { 59 String folder = ""; 60 try { 61 String messageid = request.getParameter("messageid"); 62 int messageId = Integer.parseInt(messageid); 63 String username = (String )session.getAttribute("authuser"); 64 EMailDAO emailDao = new EMailDAO(); 65 EMail email = emailDao.findByPrimaryKey(messageId); 66 if (email.getUserName().equals(username)) { 67 SettingConfigurator conf = new SettingConfigurator(); 68 String dir = conf.getValue("userdir") + "/" + username + "/mails/" + String.valueOf(email.getMessageId()); 69 FileBean.deleteDir(dir); 70 folder = email.getFolder(); 71 boolean deleted = emailDao.delete(messageId); 72 if (deleted) 73 messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.deleteemail")); 74 else 75 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.deleteemail")); 76 actionForward.setPath("/ShowEmails.do?folder=" + folder); 77 } else { 78 actionForward = mapping.findForward("noaccess"); 79 } 80 } catch (Exception e) { 81 if (logger.isEnabledFor(Level.ERROR)) 82 logger.error(e.getMessage()); 83 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.deleteemail")); 84 actionForward = mapping.findForward("error"); 85 } 86 saveErrors(request, errors); 87 saveMessages(request, messages); 88 } else 89 actionForward = mapping.findForward("invalid"); 90 return actionForward; 91 } 92 } 93
| Popular Tags
|