KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > admin > user > SavePasswordAction


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

6
7 package org.contineo.actions.admin.user;
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.admin.User;
23 import org.contineo.admin.dao.UserDAO;
24 import org.contineo.core.CryptBean;
25 import org.contineo.core.LoggingManager;
26 import org.contineo.core.SessionManagement;
27 import org.contineo.forms.PasswordForm;
28 /**
29  *
30  * @author Michael Scholz
31  * @version 1.0
32  */

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

39     private Logger logger;
40
41     
42     /** Creates a new instance of ChangePasswordAction */
43     public SavePasswordAction() {
44         logger = LoggingManager.getLogger(this.getClass());
45     }
46     
47     public ActionForward execute(ActionMapping mapping,
48             ActionForm form, HttpServletRequest JavaDoc request,
49             HttpServletResponse JavaDoc response) {
50         ActionForward actionForward = new ActionForward();
51         ActionErrors errors = new ActionErrors();
52         ActionMessages messages = new ActionMessages();
53         HttpSession JavaDoc session = request.getSession();
54         if (SessionManagement.isValid(session)) {
55             try {
56                 PasswordForm pform = (PasswordForm)form;
57                 if (pform.getNewPassword() != null && !pform.getNewPassword().equals("") && pform.getOldPassword() != null &&
58                         !pform.getOldPassword().equals("") && pform.getRetyped() != null && !pform.getRetyped().equals("")) {
59                     if (pform.getNewPassword().equals(pform.getRetyped())) {
60                         String JavaDoc username = (String JavaDoc)session.getAttribute("authuser");
61                         UserDAO udao = new UserDAO();
62                         User user = udao.findByPrimaryKey(username);
63                         String JavaDoc opwd = CryptBean.cryptString(pform.getOldPassword());
64                         if (opwd.equals(user.getPassword())) {
65                             user.setPassword(pform.getNewPassword());
66                             udao.store(user);
67                             messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.passwordchanged"));
68                         } else {
69                             errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.password.mismatch"));
70                         }
71                     } else {
72                         errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.val.password"));
73                     }
74                 } else {
75                     errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.required"));
76                 }
77             } catch (Exception JavaDoc e) {
78                 if (logger.isEnabledFor(Level.ERROR))
79                     logger.error(e.getMessage());
80                 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.changepassword"));
81             }
82             saveErrors(request, errors);
83             saveMessages(request, messages);
84             actionForward.setPath("/ChangePassword.do");
85         } else
86             actionForward = mapping.findForward("invalid");
87         return actionForward;
88     }
89 }
90
Popular Tags