1 17 18 package org.apache.geronimo.console.util; 19 20 import java.util.Hashtable ; 21 22 import org.apache.geronimo.kernel.Kernel; 23 import org.apache.geronimo.kernel.KernelRegistry; 24 25 public class SERealmUserHelper extends RealmHelper { 26 27 private static final String GET_USERS_FUNCTION = "getUsers"; 28 29 private static final String ADD_USER_FUNCTION = "addUserPrincipal"; 30 31 private static final String USER_EXISTS_FUNCTION = "userExists"; 32 33 private static final String UPDATE_USER_FUNCTION = "updateUserPrincipal"; 34 35 private static final String DELETE_USER_FUNCTION = "removeUserPrincipal"; 36 37 private static final String GET_PASSWORD_FUNCTION = "getPassword"; 38 39 private static final String [] STRING = { "java.lang.String" }; 40 41 private static final String [] HASHTABLE = { "java.util.Hashtable" }; 42 43 private static final Kernel kernel = KernelRegistry.getSingleKernel(); 44 45 public static String [] getUsers() throws Exception { 46 return (String []) invoke(ObjectNameConstants.SE_REALM_MBEAN_NAME, GET_USERS_FUNCTION); 47 } 48 49 private static void refresh() { 50 try { 51 52 kernel.stopGBean(ObjectNameConstants.SE_REALM_MBEAN_NAME); 53 kernel.startGBean(ObjectNameConstants.SE_REALM_MBEAN_NAME); 54 57 } catch (Exception e) { 58 } 59 } 60 61 public static String getPassword(String username) throws Exception { 62 Object ret; 63 String [] arg = {username}; 64 ret = invoke(ObjectNameConstants.SE_REALM_MBEAN_NAME, GET_PASSWORD_FUNCTION, arg, STRING); 65 return (ret != null) ? ret.toString() : ""; 66 } 67 68 public static boolean userExists(String username) throws Exception { 69 Boolean ret; 70 String [] arg = {username}; 71 ret = (Boolean ) invoke(ObjectNameConstants.SE_REALM_MBEAN_NAME, USER_EXISTS_FUNCTION, arg, STRING); 72 return ret.booleanValue(); 73 } 74 75 public static void addUser(String username, String password) 76 throws Exception { 77 Hashtable props = new Hashtable (); 78 props.put("UserName", username); 79 props.put("Password", password); 80 Object [] args = {props}; 81 invoke(ObjectNameConstants.SE_REALM_MBEAN_NAME, ADD_USER_FUNCTION, args, HASHTABLE); 82 refresh(); 83 } 84 85 public static void updateUser(String username, String password) 86 throws Exception { 87 Hashtable props = new Hashtable (); 88 props.put("UserName", username); 89 props.put("Password", password); 90 Object [] args = {props}; 91 invoke(ObjectNameConstants.SE_REALM_MBEAN_NAME, UPDATE_USER_FUNCTION, args, HASHTABLE); 92 refresh(); 93 } 94 95 public static void deleteUser(String username) throws Exception { 96 String [] args = {username}; 97 invoke(ObjectNameConstants.SE_REALM_MBEAN_NAME, DELETE_USER_FUNCTION, args, STRING); 98 refresh(); 99 } 100 101 102 } | Popular Tags |