use of org.opennms.netmgt.config.groups.Role in project opennms by OpenNMS.
the class WebRoleManagerImpl method getRoles.
/**
* <p>getRoles</p>
*
* @return a {@link java.util.Collection} object.
*/
@Override
public Collection<WebRole> getRoles() {
Collection<Role> roles = m_groupManager.getRoles();
List<WebRole> webRoles = new ArrayList<WebRole>(roles.size());
for (Role role : roles) {
webRoles.add(getWebRole(role));
}
return webRoles;
}
use of org.opennms.netmgt.config.groups.Role in project opennms by OpenNMS.
the class GroupManager method getRoleScheduleEntries.
/**
* <p>getRoleScheduleEntries</p>
*
* @param roleid a {@link java.lang.String} object.
* @param start a {@link java.util.Date} object.
* @param end a {@link java.util.Date} object.
* @return a {@link org.opennms.core.utils.OwnedIntervalSequence} object.
* @throws java.io.IOException if any.
*/
public OwnedIntervalSequence getRoleScheduleEntries(String roleid, Date start, Date end) throws IOException {
update();
OwnedIntervalSequence schedEntries = new OwnedIntervalSequence();
Role role = getRole(roleid);
for (int i = 0; i < role.getSchedules().size(); i++) {
final int index = i;
Schedule sched = (Schedule) role.getSchedules().get(index);
Owner owner = new Owner(roleid, sched.getName(), i);
schedEntries.addAll(BasicScheduleUtils.getIntervalsCovering(start, end, BasicScheduleUtils.getGroupSchedule(sched), owner));
}
OwnedIntervalSequence defaultEntries = new OwnedIntervalSequence(new OwnedInterval(start, end));
defaultEntries.removeAll(schedEntries);
Owner supervisor = new Owner(roleid, role.getSupervisor());
for (Iterator<OwnedInterval> it = defaultEntries.iterator(); it.hasNext(); ) {
OwnedInterval interval = it.next();
interval.addOwner(supervisor);
}
schedEntries.addAll(defaultEntries);
return schedEntries;
}
use of org.opennms.netmgt.config.groups.Role in project opennms by OpenNMS.
the class GroupManager method initializeGroupsAndRoles.
private void initializeGroupsAndRoles(Groupinfo groupinfo) {
List<Group> groups = groupinfo.getGroups();
m_groups = new LinkedHashMap<String, Group>();
m_oldHeader = groupinfo.getHeader();
for (Group curGroup : groups) {
m_groups.put(curGroup.getName(), curGroup);
}
buildDutySchedules(m_groups);
if (groupinfo.getRoles().size() > 0) {
m_roles = new LinkedHashMap<String, Role>();
for (final Role role : groupinfo.getRoles()) {
m_roles.put(role.getName(), role);
}
}
}
use of org.opennms.netmgt.config.groups.Role in project opennms by OpenNMS.
the class RolesTest method testRoles.
@Test
public void testRoles() throws Exception {
assertNotNull(m_roleMgr);
assertNotNull(m_roleMgr.getRoles());
String[] roleNames = m_groupManager.getRoleNames();
assertEquals(roleNames.length, m_roleMgr.getRoles().size());
for (int i = 0; i < roleNames.length; i++) {
String roleName = roleNames[i];
Role role = m_groupManager.getRole(roleName);
WebRole webRole = m_roleMgr.getRole(roleName);
assertNotNull(webRole);
assertRole(role, webRole);
}
for (String groupName : m_groupManager.getGroupNames()) {
Group group = m_groupManager.getGroup(groupName);
WebGroup webGroup = m_groupMgr.getGroup(groupName);
assertGroup(group, webGroup);
}
for (String userName : m_userManager.getUserNames()) {
User user = m_userManager.getUser(userName);
WebUser webUser = m_userMgr.getUser(userName);
assertUser(user, webUser);
}
WebRole oncall = m_roleMgr.getRole("oncall");
assertEquals("oncall", oncall.getName());
assertEquals(m_groupMgr.getGroup("InitialGroup"), oncall.getMembershipGroup());
}
use of org.opennms.netmgt.config.groups.Role in project opennms by OpenNMS.
the class UserGroupManagerTest method assertRoles.
private void assertRoles(String[] roleNames, Role[] expected) {
if (expected == null)
assertNull("Expected null list", roleNames);
assertNotNull("Unexpected null user list", roleNames);
assertEquals("Unexpected number of users", expected.length, roleNames.length);
List<String> nameList = Arrays.asList(roleNames);
for (int i = 0; i < expected.length; i++) {
Role r = expected[i];
assertTrue("Expected user " + r.getName() + " in list " + nameList, nameList.contains(r.getName()));
}
}
Aggregations