KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.contineo.actions.admin.user;
2
3 import java.util.Collection JavaDoc;
4 import javax.servlet.http.HttpServletRequest JavaDoc;
5 import javax.servlet.http.HttpServletResponse JavaDoc;
6 import javax.servlet.http.HttpSession JavaDoc;
7 import org.apache.log4j.Level;
8 import org.apache.log4j.Logger;
9 import org.apache.struts.action.Action;
10 import org.apache.struts.action.ActionError;
11 import org.apache.struts.action.ActionErrors;
12 import org.apache.struts.action.ActionForm;
13 import org.apache.struts.action.ActionForward;
14 import org.apache.struts.action.ActionMapping;
15 import org.apache.struts.action.ActionMessage;
16 import org.apache.struts.action.ActionMessages;
17 import org.contineo.admin.User;
18 import org.contineo.admin.dao.GroupDAO;
19 import org.contineo.admin.dao.UserDAO;
20 import org.contineo.admin.dao.UserGroupDAO;
21 import org.contineo.core.LoggingManager;
22 import org.contineo.core.SessionManagement;
23
24 /**
25  * Gets the change user form and stores the changed user data.
26  * Created on 25. August 2003, 23:26
27  * @author Michael Scholz
28  */

29 public class ChangeUserAction extends Action {
30
31     /**
32      * @uml.property name="logger"
33      * @uml.associationEnd
34      */

35     private Logger logger;
36
37     
38     /** Creates a new instance of ChangeUserAction */
39     public ChangeUserAction() {
40         logger = LoggingManager.getLogger(this.getClass());
41     }
42
43     public ActionForward execute(ActionMapping mapping,
44                     ActionForm form, HttpServletRequest JavaDoc request,
45                     HttpServletResponse JavaDoc response) {
46         ActionForward actionForward = new ActionForward();
47         ActionErrors errors = new ActionErrors();
48         ActionMessages messages = new ActionMessages();
49         HttpSession JavaDoc session = request.getSession();
50         if (SessionManagement.isValid(session)) {
51             try {
52                 User user = (User)form;
53                 UserDAO dao = new UserDAO();
54                 UserGroupDAO ugDao = new UserGroupDAO();
55                 ugDao.delete(user.getUserName());
56                 User tempuser = dao.findByPrimaryKey(user.getUserName());
57                 String JavaDoc newPasswd = user.getPassword();
58                 String JavaDoc newRePasswd = user.getRepass();
59                 
60                 // if the form contains a password, we will reset the user password to this new password;
61
// otherwise we will use the old password by copying it from the old user record
62
if (newPasswd != null && !newPasswd.equals("") && newRePasswd != null && newPasswd.equals(newRePasswd)) {
63                     user.copyPassword(newPasswd);
64                 } else {
65                     user.copyPassword(tempuser.getPassword());
66                 }
67                 boolean stored = dao.store(user);
68                 if (!stored)
69                     errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.saveuser.notstored"));
70                 else
71                     messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.changeuser"));
72                 //form.reset(mapping, request);
73
user.initGroups();
74                 request.setAttribute("user", user);
75                 GroupDAO gdao = new GroupDAO();
76                 Collection JavaDoc coll = gdao.findAll();
77                 request.setAttribute("allgroups", coll);
78             } catch (Exception JavaDoc e) {
79                 if (logger.isEnabledFor(Level.ERROR))
80                     logger.error(e.getMessage());
81                 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.saveuser.notstored"));
82             }
83             saveErrors(request, errors);
84             saveMessages(request, messages);
85             actionForward = mapping.findForward("edituser");
86         } else
87             actionForward = mapping.findForward("invalid");
88         return actionForward;
89     }
90 }
91
Popular Tags