/** Return the MBean Names of all roles defined in this database. */ public String[] getRoles() { UserDatabase database = (UserDatabase) this.resource; ArrayList<String> results = new ArrayList<String>(); Iterator<Role> roles = database.getRoles(); while (roles.hasNext()) { Role role = roles.next(); results.add(findRole(role.getRolename())); } return results.toArray(new String[results.size()]); }
/** * Create the MBeans for the specified UserDatabase and its contents. * * @param name Complete resource name of this UserDatabase * @param database The UserDatabase to be processed * @exception Exception if an exception occurs while creating MBeans */ protected void createMBeans(String name, UserDatabase database) throws Exception { // Create the MBean for the UserDatabase itself if (debug >= 2) { log("Creating UserDatabase MBeans for resource " + name); log("Database=" + database); } if (org.apache.catalina.mbeans.MBeanUtils.createMBean(database) == null) { throw new IllegalArgumentException("Cannot create UserDatabase MBean for resource " + name); } // Create the MBeans for each defined Role Iterator roles = database.getRoles(); while (roles.hasNext()) { Role role = (Role) roles.next(); if (debug >= 3) { log(" Creating Role MBean for role " + role); } if (org.apache.catalina.mbeans.MBeanUtils.createMBean(role) == null) { throw new IllegalArgumentException("Cannot create Role MBean for role " + role); } } // Create the MBeans for each defined Group Iterator groups = database.getGroups(); while (groups.hasNext()) { Group group = (Group) groups.next(); if (debug >= 3) { log(" Creating Group MBean for group " + group); } if (org.apache.catalina.mbeans.MBeanUtils.createMBean(group) == null) { throw new IllegalArgumentException("Cannot create Group MBean for group " + group); } } // Create the MBeans for each defined User Iterator users = database.getUsers(); while (users.hasNext()) { User user = (User) users.next(); if (debug >= 3) { log(" Creating User MBean for user " + user); } if (org.apache.catalina.mbeans.MBeanUtils.createMBean(user) == null) { throw new IllegalArgumentException("Cannot create User MBean for user " + user); } } }