use of org.apache.catalina.Role 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.Role 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.Role 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.Role in project tomcat by apache.
the class MemoryUserCreationFactory method createObject.
@Override
public Object createObject(Attributes attributes) {
String groupname = attributes.getValue("groupname");
if (groupname == null) {
groupname = attributes.getValue("name");
}
String description = attributes.getValue("description");
String roles = attributes.getValue("roles");
Group group = database.createGroup(groupname, description);
if (roles != null) {
while (roles.length() > 0) {
String rolename = null;
int comma = roles.indexOf(',');
if (comma >= 0) {
rolename = roles.substring(0, comma).trim();
roles = roles.substring(comma + 1);
} else {
rolename = roles.trim();
roles = "";
}
if (rolename.length() > 0) {
Role role = database.findRole(rolename);
if (role == null) {
role = database.createRole(rolename, null);
}
group.addRole(role);
}
}
}
return (group);
}
Aggregations