NotificationTask[] makeGroupTasks(long startTime, Map<String, String> params, int noticeId, String targetName, String[] command, List<NotificationTask> targetSiblings, String autoNotify, long interval) throws IOException { Group group = getGroupManager().getGroup(targetName); Calendar startCal = Calendar.getInstance(); startCal.setTimeInMillis(startTime); long next = getGroupManager().groupNextOnDuty(group.getName(), startCal); // it the group is not on duty if (next < 0) { LOG.debug("The group {} is not scheduled to come back on duty. No notification will be sent to this group.", group.getName()); return null; } LOG.debug("The group {} is on duty in {} millisec.", group.getName(), next); String[] users = group.getUsers().toArray(new String[0]); // There are no users in the group if (users == null || users.length == 0) { LOG.debug("Not sending notice, no users specified for group {}", group.getName()); return null; } return constructTasksFromUserList(users, startTime, next, params, noticeId, command, targetSiblings, autoNotify, interval); }
public Group map(OnmsGroup inputGroup) { if (inputGroup == null) return null; Group xmlGroup = new Group(); xmlGroup.setName(inputGroup.getName()); xmlGroup.setComments(inputGroup.getComments()); xmlGroup.setUsers(inputGroup.getUsers()); return xmlGroup; }
public OnmsGroup map(Group inputGroup) { if (inputGroup == null) return null; final OnmsGroup xmlGroup = new OnmsGroup(inputGroup.getName()); xmlGroup.setComments(inputGroup.getComments().orElse(null)); xmlGroup.setUsers(inputGroup.getUsers()); return xmlGroup; }
private List<String> getUsers(Group group) { return group.getUsers(); } }
/** * Renames the group from the list of groups. Then overwrites to the * "groups.xml" * * @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 renameGroup(String oldName, String newName) throws Exception { if (oldName != null && !oldName.equals("")) { if (m_groups.containsKey(oldName)) { Group grp = m_groups.remove(oldName); grp.setName(newName); m_groups.put(newName, grp); } else { throw new Exception("GroupFactory.renameGroup: Group doesn't exist: " + oldName); } // Save into groups.xml saveGroups(); } }
@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); }
/** * <p>findGroupsForUser</p> * * @param user a {@link java.lang.String} object. * @return a {@link java.util.List} object. */ public List<Group> findGroupsForUser(String user) { List<Group> groups = new ArrayList<Group>(); for (Group group : m_groups.values()) { if (group.getUsers().contains(user)) { groups.add(group); } } return groups; }
@Override public OnmsUser getUserForGroup(String groupName, String userName) { Group group = getGroup(groupName); if (group != null && group.getUsers().contains(userName)) { try { return m_userDao.getOnmsUser(userName); } catch (IOException e) { Log.error("could not load user", e); //ignore } } return null; // group or user name does not exist }
public synchronized void save(final OnmsGroup group) throws Exception { Group xmlGroup = getGroup(group.getName()); if (xmlGroup == null) { xmlGroup = new Group(); xmlGroup.setName(group.getName()); } xmlGroup.setComments(group.getComments()); xmlGroup.setUsers(group.getUsers()); saveGroup(group.getName(), xmlGroup); }
@Override public void saveGroup(Group group) { m_groupDao.saveGroup(group.getName(), group); }
@Override public OnmsUser getUserForGroup(String groupName, String userName) { Group group = getGroup(groupName); if (group != null && group.getUsers().contains(userName)) { try { return m_userDao.getOnmsUser(userName); } catch (IOException e) { Log.error("could not load user", e); //ignore } } return null; // group or user name does not exist }
@Override public void saveGroup(Group group) { m_groupDao.saveGroup(group.getName(), group); }
protected Collection<String> getUsersInGroup(String groupName) throws Exception { Group group = m_groupManager.getGroup(groupName); String[] users = group.getUsers().toArray(new String[0]); return Arrays.asList(users); }
ManagedGroup(Group group) { super(group.getName()); List<WebUser> users = new ArrayList<>(); for (String userId : getUsers(group)) { users.add(getWebUser(userId)); } super.setUsers(users); }
@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) { Log.error("could not load user", e); //ignore } } } return userCollection; }
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); } } }