use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.
the class TaskCreationIT method testMakeGroupTasksWithDutySchedule.
@Test
public void testMakeGroupTasksWithDutySchedule() throws Exception {
final String groupName = "EscalationGroup";
// set up a duty schedule for the group
Group group = m_groupManager.getGroup(groupName);
group.addDutySchedule("MoTuWeThFr0900-1700");
m_groupManager.saveGroups();
long dayTime = getTimeStampFor("21-FEB-2005 11:59:56");
NotificationTask[] dayTasks = m_eventProcessor.makeGroupTasks(dayTime, m_params, 1, "EscalationGroup", m_commands, new LinkedList<NotificationTask>(), null, INTERVAL);
assertTasksWithEmail(dayTasks, "brozow@opennms.org", "david@opennms.org");
assertStartInterval(dayTasks, dayTime, INTERVAL);
long nightTime = getTimeStampFor("21-FEB-2005 23:00:00");
NotificationTask[] nightTasks = m_eventProcessor.makeGroupTasks(nightTime, m_params, 1, "EscalationGroup", m_commands, new LinkedList<NotificationTask>(), null, INTERVAL);
assertTasksWithEmail(nightTasks, "brozow@opennms.org", "david@opennms.org");
// delayed start due to group duty schedule
assertStartInterval(nightTasks, nightTime + 36000000, INTERVAL);
}
use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.
the class DefaultGroupService method getUsersOfGroup.
@Override
public OnmsUserList getUsersOfGroup(String groupName) {
Group group = getGroup(groupName);
OnmsUserList userCollection = new OnmsUserList();
if (group != null) {
for (String eachUser : group.getUsers()) {
OnmsUser onmsUser;
try {
onmsUser = m_userDao.getOnmsUser(eachUser);
if (onmsUser == null)
continue;
userCollection.add(onmsUser);
} catch (IOException e) {
//ignore
Log.error("could not load user", e);
}
}
}
return userCollection;
}
use of org.opennms.netmgt.config.groups.Group 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.Group in project opennms by OpenNMS.
the class UserGroupManagerTest method testSaveGroups.
@Test
public void testSaveGroups() throws Exception {
final String groupName = "UpGroup";
Group group = m_groupManager.getGroup(groupName);
Calendar nightCal = Calendar.getInstance();
nightCal.setTime(night);
Calendar dayCal = Calendar.getInstance();
dayCal.setTime(day);
// initial has no duty schedule so always on duty
assertTrue(m_groupManager.isGroupOnDuty(groupName, dayCal));
assertEquals(0, m_groupManager.groupNextOnDuty(groupName, dayCal));
assertTrue(m_groupManager.isGroupOnDuty(groupName, nightCal));
assertEquals(0, m_groupManager.groupNextOnDuty(groupName, nightCal));
group.addDutySchedule("MoTuWeThFr0900-1700");
m_groupManager.saveGroups();
// now user is on duty only from 9-5
assertTrue(m_groupManager.isGroupOnDuty(groupName, dayCal));
assertEquals(0, m_groupManager.groupNextOnDuty(groupName, dayCal));
assertFalse(m_groupManager.isGroupOnDuty(groupName, nightCal));
assertEquals(36000000, m_groupManager.groupNextOnDuty(groupName, nightCal));
}
use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.
the class GroupManager method renameUser.
/**
* When this method is called group name is changed, so also is the
* group name belonging to the view. Also overwrites the "groups.xml" file
*
* @param oldName a {@link java.lang.String} object.
* @param newName a {@link java.lang.String} object.
* @throws java.lang.Exception if any.
*/
public synchronized void renameUser(String oldName, String newName) throws Exception {
// Get the old data
if (oldName == null || newName == null || oldName == "" || newName == "") {
throw new Exception("Group Factory: Rename user.. no value ");
} else {
Map<String, Group> map = new LinkedHashMap<String, Group>();
for (Group group : m_groups.values()) {
for (ListIterator<String> userList = group.getUsers().listIterator(); userList.hasNext(); ) {
String name = userList.next();
if (name.equals(oldName)) {
userList.set(newName);
}
}
map.put(group.getName(), group);
}
m_groups.clear();
m_groups.putAll(map);
for (Role role : m_roles.values()) {
for (Schedule sched : role.getSchedules()) {
if (oldName.equals(sched.getName())) {
sched.setName(newName);
}
}
}
saveGroups();
}
}
Aggregations