KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  * SaveUserAction.java
3  *
4  * Created on 23. August 2003, 19:04
5  */

6
7 package org.contineo.actions.admin.user;
8
9 import java.util.Collection JavaDoc;
10 import javax.servlet.http.HttpServletRequest JavaDoc;
11 import javax.servlet.http.HttpServletResponse JavaDoc;
12 import javax.servlet.http.HttpSession JavaDoc;
13 import org.apache.log4j.Level;
14 import org.apache.log4j.Logger;
15 import org.apache.struts.action.Action;
16 import org.apache.struts.action.ActionError;
17 import org.apache.struts.action.ActionErrors;
18 import org.apache.struts.action.ActionForm;
19 import org.apache.struts.action.ActionForward;
20 import org.apache.struts.action.ActionMapping;
21 import org.apache.struts.action.ActionMessage;
22 import org.apache.struts.action.ActionMessages;
23 import org.contineo.admin.User;
24 import org.contineo.admin.dao.GroupDAO;
25 import org.contineo.admin.dao.UserDAO;
26 import org.contineo.core.FileBean;
27 import org.contineo.core.LoggingManager;
28 import org.contineo.core.SessionManagement;
29 import org.contineo.core.config.SettingConfigurator;
30 /**
31  *
32  * @author Michael Scholz
33  */

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

40     private Logger logger;
41
42     
43     /** Creates a new instance of SaveUserAction */
44     public SaveUserAction() {
45         logger = LoggingManager.getLogger(this.getClass());
46     }
47
48     public ActionForward execute(ActionMapping mapping,
49                     ActionForm form, HttpServletRequest JavaDoc request,
50                     HttpServletResponse JavaDoc response) {
51         ActionForward actionForward = new ActionForward();
52         ActionErrors errors = new ActionErrors();
53         ActionMessages messages = new ActionMessages();
54         HttpSession JavaDoc session = request.getSession();
55         if (SessionManagement.isValid(session)) {
56             try {
57                 User user = (User)form;
58                 UserDAO dao = new UserDAO();
59                 if (dao.existsUser(user.getUserName())) {
60                     errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.userexists"));
61                 } else {
62                     boolean stored = dao.store(user);
63                     if (!stored)
64                         errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.saveuser.notstored"));
65                     else {
66                         messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.saveuser"));
67                         SettingConfigurator conf = new SettingConfigurator();
68                         String JavaDoc userdir = conf.getValue("userdir") + "/" + user.getUserName();
69                         FileBean.createDir(userdir);
70                         FileBean.createDir(userdir + "/mails");
71                     }
72                 }
73                 form.reset(mapping, request);
74                 GroupDAO gdao = new GroupDAO();
75                 Collection JavaDoc coll = gdao.findAll();
76                 request.setAttribute("groups", coll);
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.saveuser.notstored"));
81             }
82             saveErrors(request, errors);
83             saveMessages(request, messages);
84             actionForward = mapping.findForward("adduser");
85         } else
86             actionForward = mapping.findForward("invalid");
87         return actionForward;
88     }
89 }
90
Popular Tags