KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > raptus > owxv3 > modules > usermgr > EAUserMgrEditAction


1 /*
2  * eAdmin/OWX
3  * Copyright (C) 1996-2003 OWX-Project Team <owx-team@gmx.net>
4  */

5
6 package com.raptus.owxv3.modules.usermgr;
7
8 import java.util.*;
9
10 import javax.servlet.http.HttpServletRequest JavaDoc;
11
12 import org.apache.struts.action.ActionErrors;
13
14 import com.raptus.owxv3.*;
15 import com.raptus.owxv3.api.VModuleRoleAction;
16 import com.raptus.owxv3.api.usermgr.UserMgrFactory;
17
18
19 /**
20  *
21  * <hr>
22  * <table width="100%" border="0">
23  * <tr>
24  * <td width="24%"><b>Filename</b></td><td width="76%">EABaseEditAction.java</td>
25  * </tr>
26  * <tr>
27  * <td width="24%"><b>Author</b></td><td width="76%">Guy Z�rcher (gzuercher@raptus.com)</td>
28  * </tr>
29  * <tr>
30  * <td width="24%"><b>Date</b></td><td width="76%">13th of June 2001</td>
31  * </tr>
32  * </table>
33  * <hr>
34  * <table width="100%" border="0">
35  * <tr>
36  * <td width="24%"><b>Date / Author</b></td><td width="76%"><b>Changes</b></td>
37  * </tr>
38  * </table>
39  * <hr>
40  */

41 //public class EABaseEditAction extends VModuleAuthAction
42
public class EAUserMgrEditAction extends VModuleRoleAction
43 {
44     /**
45      *
46      */

47     public String JavaDoc dispatchVModuleElement(HttpServletRequest JavaDoc request,
48                                          String JavaDoc element,
49                                          org.apache.struts.action.ActionForm form,
50                                          VModule vm,
51                                          com.raptus.owxv3.api.usermgr.User user)
52     {
53         LoggingManager.log("Action="+
54             request.getParameter(UserMgrConstants.HTTPGET_PARAM_ACTION),this);
55         
56         if(element.compareToIgnoreCase(UserMgrConstants.ELEMENT_EDITUSER) == 0 &&
57         request.getParameter(UserMgrConstants.HTTPGET_PARAM_ACTION)!=null)
58         {
59             EAUserMgrEditBean edit=(EAUserMgrEditBean)form;
60             
61             if( request.getParameter(UserMgrConstants.HTTPGET_PARAM_ACTION).equals(
62                     UserMgrConstants.VMODULE_ACTION_NEW))
63             {
64                 edit.reset();
65                 edit.setNewUser(true);
66             }
67             
68             if( request.getParameter(UserMgrConstants.HTTPGET_PARAM_ACTION).equals(
69                     UserMgrConstants.VMODULE_ACTION_EDIT))
70             {
71                 edit.setNewUser(false);
72                 com.raptus.owxv3.api.usermgr.User u = UserMgrFactory.getInstance().createUserManager(null).getUser(
73                     request.getParameter(UserMgrConstants.HTTPGET_PARAM_USERID));
74                 if(u!=null)
75                 {
76                     edit.setUsername(u.getUsername());
77                     edit.setName(u.getName());
78                     edit.setEmail(u.getEmail());
79                     edit.setPassword(u.getPassword());
80                     //
81
if(u.getLocale()!=null)
82                     {
83                         edit.setLocale(u.getLocale().toString());
84                     }
85                     else
86                     {
87                         edit.setLocale(new Locale("en","GB").toString());
88                     }
89                     // set the available roles for this user
90
List roles = new ArrayList();
91                     Iterator it = UserMgrFactory.getInstance().createUserManager(null).getRolesAsStringForUser(u);
92                     while(it.hasNext())
93                     {
94                         String JavaDoc nr = (String JavaDoc)it.next();
95                         LoggingManager.log("New role of user:"+nr,this);
96                         roles.add(nr);
97                     }
98                     LoggingManager.log("Found "+roles.size()+" roles for: "+u.getName()+"!",this);
99                     String JavaDoc[] s = new String JavaDoc[roles.size()];
100                     roles.toArray(s);
101                     edit.setRoles(s);
102                 }
103                 else
104                 {
105                     LoggingManager.log("User "+request.getParameter(UserMgrConstants.HTTPGET_PARAM_USERID)+" not found!",this);
106                 }
107             }
108
109             // set the available roles
110
List roles = new ArrayList();
111             Iterator it = UserMgrFactory.getInstance().createUserManager(null).getAllRolesAsString();
112             while(it.hasNext())
113             {
114                 roles.add(it.next());
115             }
116             LoggingManager.log("Found "+roles.size()+" roles in system!",this);
117             edit.setAllRoles(roles);
118
119             if( request.getParameter(UserMgrConstants.HTTPGET_PARAM_ACTION).equals(
120                 UserMgrConstants.VMODULE_ACTION_SAVE))
121             {
122                 ActionErrors acterrors=edit.validate(request);
123                 if(acterrors!=null)
124                 {
125                     if(acterrors.size()>0)
126                     {
127                         saveErrors(request,acterrors);
128                         LoggingManager.log("Data is not accepted due to errors. " + acterrors, this);
129                         return Constants.SECTION_EADMIN + Constants.DEFAULT_SPACER + element;
130                     }
131                 }
132        
133                 if(edit.isNewUser())
134                 {
135                     UserMgrFactory.getInstance().createUserManager(null).addUser(
136                         edit.getName(),edit.getPassword(), edit.getUsername(),
137                         edit.getEmail(), edit.getLocale(),null);
138                 }
139                 else
140                 {
141                     com.raptus.owxv3.api.usermgr.User u = UserMgrFactory.getInstance().createUserManager(null).getUser(edit.getUsername());
142                     if(u == null)
143                     {
144                         return Constants.SECTION_EADMIN + Constants.DEFAULT_SPACER + element;
145                     }
146                      
147                     System.out.println("When saving:"+edit.getName());
148                     UserMgrFactory.getInstance().createUserManager(null).updateUser(
149                         edit.getName(),edit.getPassword(), edit.getUsername(),
150                         edit.getEmail(), edit.getLocale(),null);
151                 }
152
153                 // get the selected roles
154
String JavaDoc[] uroles = request.getParameterValues(UserMgrConstants.HTTPGET_PARAM_ROLES);
155                 if(uroles == null)
156                 {
157                     uroles = new String JavaDoc[]{};
158                 }
159                 // save user's roles
160
com.raptus.owxv3.api.usermgr.User u = UserMgrFactory.getInstance().createUserManager(null).getUser(edit.getUsername());
161                 UserMgrFactory.getInstance().createUserManager(null).setRolesForUser(u, uroles);
162                 return Constants.SECTION_EADMIN +
163                     Constants.DEFAULT_SPACER +
164                     UserMgrConstants.ELEMENT_LISTUSER;
165                 
166             }
167         }
168         return Constants.SECTION_EADMIN + Constants.DEFAULT_SPACER + element;
169     }
170
171 }
172
173 // eof
174
Popular Tags