Search in sources :

Example 1 with Role

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;
}
Also used : Role(org.opennms.netmgt.config.groups.Role) ArrayList(java.util.ArrayList)

Example 2 with Role

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;
}
Also used : Role(org.opennms.netmgt.config.groups.Role) Owner(org.opennms.core.utils.Owner) DutySchedule(org.opennms.netmgt.config.users.DutySchedule) Schedule(org.opennms.netmgt.config.groups.Schedule) OwnedIntervalSequence(org.opennms.core.utils.OwnedIntervalSequence) OwnedInterval(org.opennms.core.utils.OwnedInterval)

Example 3 with Role

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);
        }
    }
}
Also used : Role(org.opennms.netmgt.config.groups.Role) Group(org.opennms.netmgt.config.groups.Group) OnmsGroup(org.opennms.netmgt.model.OnmsGroup)

Example 4 with 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());
}
Also used : WebRole(org.opennms.netmgt.config.WebRole) Role(org.opennms.netmgt.config.groups.Role) Group(org.opennms.netmgt.config.groups.Group) WebGroup(org.opennms.netmgt.config.WebGroup) WebUser(org.opennms.netmgt.config.WebUser) User(org.opennms.netmgt.config.users.User) WebRole(org.opennms.netmgt.config.WebRole) WebUser(org.opennms.netmgt.config.WebUser) WebGroup(org.opennms.netmgt.config.WebGroup) Test(org.junit.Test)

Example 5 with Role

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()));
    }
}
Also used : Role(org.opennms.netmgt.config.groups.Role)

Aggregations

Role (org.opennms.netmgt.config.groups.Role)8 Group (org.opennms.netmgt.config.groups.Group)4 Schedule (org.opennms.netmgt.config.groups.Schedule)3 DutySchedule (org.opennms.netmgt.config.users.DutySchedule)3 OnmsGroup (org.opennms.netmgt.model.OnmsGroup)3 ArrayList (java.util.ArrayList)2 IOException (java.io.IOException)1 StringWriter (java.io.StringWriter)1 Date (java.util.Date)1 LinkedHashMap (java.util.LinkedHashMap)1 Test (org.junit.Test)1 OwnedInterval (org.opennms.core.utils.OwnedInterval)1 OwnedIntervalSequence (org.opennms.core.utils.OwnedIntervalSequence)1 Owner (org.opennms.core.utils.Owner)1 WebGroup (org.opennms.netmgt.config.WebGroup)1 WebRole (org.opennms.netmgt.config.WebRole)1 WebUser (org.opennms.netmgt.config.WebUser)1 Groupinfo (org.opennms.netmgt.config.groups.Groupinfo)1 Header (org.opennms.netmgt.config.groups.Header)1 User (org.opennms.netmgt.config.users.User)1