KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jmanage > webui > actions > auth > EditUserAction


1 /**
2  * Copyright 2004-2005 jManage.org
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.jmanage.webui.actions.auth;
17
18 import org.jmanage.webui.actions.BaseAction;
19 import org.jmanage.webui.util.WebContext;
20 import org.jmanage.webui.util.Forwards;
21 import org.jmanage.webui.forms.UserForm;
22 import org.jmanage.core.auth.UserManager;
23 import org.jmanage.core.auth.User;
24 import org.jmanage.core.auth.Role;
25 import org.jmanage.core.services.AccessController;
26 import org.jmanage.core.crypto.Crypto;
27 import org.jmanage.core.util.UserActivityLogger;
28 import org.apache.struts.action.ActionForward;
29 import org.apache.struts.action.ActionMapping;
30 import org.apache.struts.action.ActionForm;
31
32 import javax.servlet.http.HttpServletRequest JavaDoc;
33 import javax.servlet.http.HttpServletResponse JavaDoc;
34 import java.util.ArrayList JavaDoc;
35 import java.util.List JavaDoc;
36
37 /**
38  * Date : Jul 28, 2004 1:14:51 AM
39  * @author Shashank
40  */

41 public class EditUserAction extends BaseAction{
42
43     /**
44      * Edit user info.
45      *
46      * @param context
47      * @param mapping
48      * @param actionForm
49      * @param request
50      * @param response
51      * @return
52      * @throws Exception
53      */

54     public ActionForward execute(WebContext context,
55                                  ActionMapping mapping,
56                                  ActionForm actionForm,
57                                  HttpServletRequest JavaDoc request,
58                                  HttpServletResponse JavaDoc response)
59             throws Exception JavaDoc {
60         AccessController.checkAccess(context.getServiceContext(), ACL_EDIT_USERS);
61         User user = buildUser(actionForm);
62         UserManager.getInstance().updateUser(user);
63         UserActivityLogger.getInstance().logActivity(
64                 context.getUser().getUsername(),
65                 "Edited user "+user.getName());
66         return mapping.findForward(Forwards.SUCCESS);
67     }
68
69     /**
70      * Build User object from Action form.
71      *
72      * @param form
73      * @return
74      */

75     private User buildUser(ActionForm form){
76         UserForm userForm = (UserForm)form;
77         User user = UserManager.getInstance().getUser(userForm.getUsername());
78         assert user != null;
79
80         List JavaDoc roles = new ArrayList JavaDoc(1);
81         roles.add(new Role(userForm.getRole()));
82         user.setRoles(roles);
83         if(!userForm.getPassword().equals(UserForm.FORM_PASSWORD)){
84             String JavaDoc hashedPassword = Crypto.hash(userForm.getPassword());
85             user.setPassword(hashedPassword);
86         }
87         user.setStatus(userForm.getStatus());
88         return user;
89     }
90 }
91
Popular Tags