1 package com.raptus.owxv3.api.usermgr; 2 3 import com.raptus.owxv3.*; 4 7 public class UserMgrFactory implements UserMgrFactoryIF 8 { 9 12 private static UserMgrFactoryIF _instance=null; 13 14 public static void initialize() 15 { 16 LoggingManager.log("Initialising User manager!"); 17 18 XMLConfigManager cm = XMLConfigManager.getInstance(); 19 20 String clazz=cm.getPropertyByTree("/virtualhost/globalconfig/usermanager/managerfactory","class"); 21 LoggingManager.log("User manager factory class is "+clazz); 22 23 try 24 { 25 Class c = Class.forName(clazz); 26 _instance = (UserMgrFactoryIF) c.newInstance(); 27 28 UserMgr um = _instance.createUserManager(null); 29 30 String [] roles=cm.getStringArrayByTree( 32 "/virtualhost/vmodules/vmodule?name=usermgr/initial_roles","roles"); 33 if(roles == null) 34 { 35 LoggingManager.log("No initial roles!"); 36 } 37 else 38 { 39 for(int i=0;i<roles.length;i++) 40 { 41 if(um.getRole(roles[i])==null) 42 { 43 LoggingManager.log("Creating role "+roles[i]); 44 String description=cm.getPropertyByTree( 45 "/virtualhost/vmodules/vmodule?name=usermgr/initial_roles/role?name="+roles[i],"description"); 46 um.addRole(roles[i], ""+description); 47 } 48 else 49 { 50 LoggingManager.log("Role "+roles[i]+"already exist!"); 51 } 52 } 53 } 54 55 String [] users=cm.getStringArrayByTree( 57 "/virtualhost/vmodules/vmodule?name=usermgr/initial_users","usernames"); 58 if(users == null) 59 { 60 LoggingManager.log("No initial users!"); 61 } 62 else 63 { 64 for(int i=0;i<users.length;i++) 65 { 66 if(um.getUser(users[i])==null) 67 { 68 LoggingManager.log("Creating user "+users[i]); 69 String name=cm.getPropertyByTree( 70 "/virtualhost/vmodules/vmodule?name=usermgr/initial_users/user?username="+users[i],"name"); 71 String password=cm.getPropertyByTree( 72 "/virtualhost/vmodules/vmodule?name=usermgr/initial_users/user?username="+users[i],"password"); 73 String email=cm.getPropertyByTree( 74 "/virtualhost/vmodules/vmodule?name=usermgr/initial_users/user?username="+users[i],"email"); 75 String locale=cm.getPropertyByTree( 76 "/virtualhost/vmodules/vmodule?name=usermgr/initial_users/user?username="+users[i],"locale"); 77 78 if(!um.addUser(name, password, users[i], email, locale, null)) 79 { 80 LoggingManager.log("Error adding user "+users[i]); 81 continue; 82 } 83 84 roles=cm.getStringArrayByTree( 86 "/virtualhost/vmodules/vmodule?name=usermgr/initial_users/user?username="+users[i],"roles"); 87 88 User u = um.getUser(users[i]); 89 um.setRolesForUser(u,roles); 90 } 91 else 92 { 93 LoggingManager.log("User "+users[i]+" already exists!"); 94 } 95 } 96 } 97 98 } 99 catch(Exception ex) 100 { 101 _instance =null; 102 LoggingManager.log("Can't initialize user manager :"+ex.getMessage()); 103 } 104 } 105 106 107 111 public UserMgr createUserManager(Object param) 112 { 113 return _instance.createUserManager(param); 114 } 115 116 public static UserMgrFactoryIF getInstance() 117 { 118 if(_instance == null) 119 { 120 initialize(); 121 } 123 124 return _instance; 125 } 126 127 } 128 129 | Popular Tags |