use of org.apache.catalina.Group in project tomcat by apache.
the class MemoryUserDatabaseMBean method findGroup.
/**
* Return the MBean Name for the specified group name (if any);
* otherwise return <code>null</code>.
*
* @param groupname Group name to look up
* @return the group object name
*/
public String findGroup(String groupname) {
UserDatabase database = (UserDatabase) this.resource;
Group group = database.findGroup(groupname);
if (group == null) {
return null;
}
try {
ObjectName oname = MBeanUtils.createObjectName(managedGroup.getDomain(), group);
return oname.toString();
} catch (MalformedObjectNameException e) {
IllegalArgumentException iae = new IllegalArgumentException("Cannot create object name for group [" + groupname + "]");
iae.initCause(e);
throw iae;
}
}
use of org.apache.catalina.Group in project tomcat by apache.
the class GroupMBean method addRole.
/**
* Add a new {@link Role} to those this group belongs to.
*
* @param rolename Role name of the new role
*/
public void addRole(String rolename) {
Group group = (Group) this.resource;
if (group == null) {
return;
}
Role role = group.getUserDatabase().findRole(rolename);
if (role == null) {
throw new IllegalArgumentException("Invalid role name '" + rolename + "'");
}
group.addRole(role);
}
use of org.apache.catalina.Group in project tomcat by apache.
the class GroupMBean method removeRole.
/**
* Remove a {@link Role} from those this group belongs to.
*
* @param rolename Role name of the old role
*/
public void removeRole(String rolename) {
Group group = (Group) this.resource;
if (group == null) {
return;
}
Role role = group.getUserDatabase().findRole(rolename);
if (role == null) {
throw new IllegalArgumentException("Invalid role name [" + rolename + "]");
}
group.removeRole(role);
}
use of org.apache.catalina.Group in project tomcat by apache.
the class GroupMBean method getRoles.
/**
* @return the MBean Names of all authorized roles for this group.
*/
public String[] getRoles() {
Group group = (Group) this.resource;
ArrayList<String> results = new ArrayList<>();
Iterator<Role> roles = group.getRoles();
while (roles.hasNext()) {
Role role = null;
try {
role = roles.next();
ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), role);
results.add(oname.toString());
} catch (MalformedObjectNameException e) {
IllegalArgumentException iae = new IllegalArgumentException("Cannot create object name for role " + role);
iae.initCause(e);
throw iae;
}
}
return results.toArray(new String[results.size()]);
}
use of org.apache.catalina.Group in project tomcat by apache.
the class MemoryUserCreationFactory method removeRole.
/**
* Remove the specified {@link Role} from this user database.
*
* @param role The role to be removed
*/
@Override
public void removeRole(Role role) {
synchronized (roles) {
Iterator<Group> groups = getGroups();
while (groups.hasNext()) {
Group group = groups.next();
group.removeRole(role);
}
Iterator<User> users = getUsers();
while (users.hasNext()) {
User user = users.next();
user.removeRole(role);
}
roles.remove(role.getRolename());
}
}
Aggregations