1 package com.raptus.owxv3.api.usermgr.mmry; 2 3 import com.raptus.owxv3.*; 4 import com.raptus.owxv3.api.usermgr.*; 5 import java.util.*; 6 7 public class MmryUserMgr implements UserMgr 8 { 9 10 13 Vector users = null; 14 Hashtable roles = null; 15 16 Hashtable userroles = null; 17 18 public MmryUserMgr() 19 { 20 LoggingManager.log("Created user manager!", this); 21 users = new Vector(); 22 roles = new Hashtable(); 23 userroles = new Hashtable(); 24 } 25 26 38 public boolean addUser(String name, String password,String username,String email,String locale, User addedby) 39 { 40 MmryUser user = new MmryUser(name, username, password, email, locale); 41 if(users == null) 42 { 43 LoggingManager.log("Cannot addUser() since user is null.", this); 44 } 45 users.add(user); 46 return true; 47 } 48 49 56 public boolean existUser(String name) 57 { 58 Iterator it = users.iterator(); 59 while(it.hasNext()) 60 { 61 User u = (User)it.next(); 62 if(u.getName().equals(name)) 63 { 64 return true; 65 } 66 } 67 68 return false; 69 } 70 71 79 public User getUser(String name,String password) 80 { 81 Iterator it = users.iterator(); 82 while(it.hasNext()) 83 { 84 User u = (User)it.next(); 85 if(u.getName().equals(name) && u.getPassword().equals(password)) 86 { 87 return u; 88 } 89 } 90 91 return null; 92 } 93 94 99 public Iterator getUsers() 100 { 101 return users.iterator(); 102 } 103 104 109 public int getUsersCount() 110 { 111 return users.size(); 112 } 113 114 122 public synchronized boolean removeUser(User user, User removedby) 123 { 124 143 155 return users.removeElement(user); 156 157 } 158 159 166 public User getUser(String name) 167 { 168 Iterator it = users.iterator(); 169 while(it.hasNext()) 170 { 171 User u = (User)it.next(); 172 if(u.getUsername().equals(name)) 173 { 174 return u; 175 } 176 } 177 178 return null; 179 } 180 181 193 public boolean updateUser(String name, String password, String username, String email, String locale, User addedby) 194 { 195 User u = getUser(username); 196 if(u ==null) 197 { 198 LoggingManager.log("User not found!", this); 199 return false; 200 } 201 removeUser(u, addedby); 202 LoggingManager.log("User removed!", this); 203 addUser(name, password, username, email, locale, addedby); 204 return true; 205 } 206 207 215 public boolean addRole(String role, String description) 216 { 217 if(roles.get(role)!=null) 218 { 219 LoggingManager.log("Role "+role+" already exists!", this); 220 return false; 221 } 222 Role r = (Role)new MmryRole(role, description); 223 roles.put(role, r); 224 225 return true; 226 } 227 228 236 public boolean updateRole(String role, String description) 237 { 238 MmryRole r = (MmryRole)roles.get(role); 239 if(r == null) 240 { 241 LoggingManager.log("Role not found in usermgr!", this); 242 return false; 243 } 244 r.setDescription(description); 245 return true; 246 } 247 248 255 public Role getRole(String name) 256 { 257 return (Role)roles.get(name); 258 } 259 260 267 public boolean removeRole(Role role) 268 { 269 Role r = (Role)roles.get(role.getName()); 270 if(r == null) 271 { 272 return false; 273 } 274 roles.remove(r.getName()); 275 return true; 276 } 277 278 283 public Iterator getAllRolesAsString() 284 { 285 List l = new ArrayList(); 286 Iterator it = roles.values().iterator(); 287 while(it.hasNext()) 288 { 289 Role r = (Role)it.next(); 290 l.add(r.getName()); 291 } 292 293 return l.iterator(); 294 } 295 296 301 public Iterator getAllRoles() 302 { 303 return roles.values().iterator(); 304 } 305 306 313 public Iterator getRolesForUser(User u) 314 { 315 LoggingManager.log("Retrieving roles for "+u.getUsername(), this); 316 Vector v = (Vector)this.userroles.get(u.getUsername()); 317 if(v == null) 318 { 319 return new ArrayList().iterator(); 320 } 321 else 322 { 323 return v.iterator(); 324 } 325 } 326 327 334 public Iterator getRolesAsStringForUser(User u) 335 { 336 LoggingManager.log("Retrieving roles as string for user "+u.getUsername(), this); 337 Vector v = new Vector(); 338 Iterator it = getRolesForUser(u); 339 while(it.hasNext()) 340 { 341 Role r = (Role)it.next(); 342 v.add(r.getName()); 343 } 344 return v.iterator(); 345 } 347 348 354 public void setRolesForUser(User u, String [] roles) 355 { 356 LoggingManager.log("Setting "+roles.length+" roles for "+u.getUsername(), this); 357 Vector v = new Vector(); 358 for(int i=0;i<roles.length;i++) 359 { 360 Role r = getRole(roles[i]); 361 if(r !=null) 362 { 363 v.add(r); 364 } 365 } 366 userroles.put(u.getUsername(), v); 367 } 368 369 375 public void setRolesForUser(User u, List roles) 376 { 377 LoggingManager.log("Setting "+roles.size()+" roles for "+u.getUsername(), this); 378 Vector v = new Vector(); 379 for(int i=0;i<roles.size();i++) 380 { 381 Role r = getRole((String )roles.get(i)); 382 if(r !=null) 383 { 384 v.add(r); 385 } 386 } 387 userroles.put(u.getUsername(), v); 388 } 389 390 } | Popular Tags |