KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  * ChangeAccountAction.java
3  *
4  * Created on 29. April 2004, 16:11
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  */

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

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