/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
*/ package org.apache.catalina.mbeans;
/** * <p> * A <strong>ModelMBean</strong> implementation for the <code>org.apache.catalina.Group</code> component. * </p> * * @author Craig R. McClanahan
*/ publicclass GroupMBean extends BaseModelMBean {
privatestaticfinal StringManager sm = StringManager.getManager(GroupMBean.class);
/** * The configuration information registry for our managed beans.
*/ protectedfinal Registry registry = MBeanUtils.createRegistry();
/** * The <code>ManagedBean</code> information describing this MBean.
*/ protectedfinal ManagedBean managed = registry.findManagedBean("Group");
/** * @return the MBean Names of all authorized roles for this group.
*/ public String[] getRoles() {
Group group = (Group) this.resource;
List<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) { thrownew IllegalArgumentException(sm.getString("userMBean.createError.role", role), e);
}
} return results.toArray(new String[0]);
}
/** * @return the MBean Names of all users that are members of this group.
*/ public String[] getUsers() {
Group group = (Group) this.resource;
List<String> results = new ArrayList<>();
Iterator<User> users = group.getUsers(); while (users.hasNext()) {
User user = null; try {
user = users.next();
ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), user);
results.add(oname.toString());
} catch (MalformedObjectNameException e) { thrownew IllegalArgumentException(sm.getString("userMBean.createError.user", user), e);
}
} return results.toArray(new String[0]);
}
/** * Add a new {@link Role} to those this group belongs to. * * @param rolename Role name of the new role
*/ publicvoid addRole(String rolename) {
Group group = (Group) this.resource; if (group == null) { return;
}
Role role = group.getUserDatabase().findRole(rolename); if (role == null) { thrownew IllegalArgumentException(sm.getString("userMBean.invalidRole", rolename));
}
group.addRole(role);
}
/** * Remove a {@link Role} from those this group belongs to. * * @param rolename Role name of the old role
*/ publicvoid removeRole(String rolename) {
Group group = (Group) this.resource; if (group == null) { return;
}
Role role = group.getUserDatabase().findRole(rolename); if (role == null) { thrownew IllegalArgumentException(sm.getString("userMBean.invalidRole", rolename));
}
group.removeRole(role);
}
}
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.