1 5 6 package com.raptus.owxv3.modules.usermgr; 7 8 import java.util.*; 9 10 import javax.servlet.http.HttpServletRequest ; 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 41 public class EAUserMgrEditAction extends VModuleRoleAction 43 { 44 47 public String dispatchVModuleElement(HttpServletRequest request, 48 String 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 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 List roles = new ArrayList(); 91 Iterator it = UserMgrFactory.getInstance().createUserManager(null).getRolesAsStringForUser(u); 92 while(it.hasNext()) 93 { 94 String nr = (String )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 [] s = new String [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 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 String [] uroles = request.getParameterValues(UserMgrConstants.HTTPGET_PARAM_ROLES); 155 if(uroles == null) 156 { 157 uroles = new String []{}; 158 } 159 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 | Popular Tags |