Search in sources :

Example 11 with Group

use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.

the class GroupManager method renameGroup.

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

Example 12 with Group

use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.

the class GroupManager method buildDutySchedules.

/**
     * Builds a mapping between groups and duty schedules. These are used when
     * determining to send a notice to a given group. This helps speed up the decision process.
     * @param groups the map of groups parsed from the XML configuration file
     */
private static void buildDutySchedules(Map<String, Group> groups) {
    m_dutySchedules = new HashMap<String, List<DutySchedule>>();
    for (final Entry<String, Group> entry : groups.entrySet()) {
        final String key = entry.getKey();
        final Group curGroup = entry.getValue();
        if (curGroup.getDutySchedules().size() > 0) {
            final List<DutySchedule> dutyList = new ArrayList<DutySchedule>();
            for (final String duty : curGroup.getDutySchedules()) {
                dutyList.add(new DutySchedule(duty));
            }
            m_dutySchedules.put(key, dutyList);
        }
    }
}
Also used : Group(org.opennms.netmgt.config.groups.Group) OnmsGroup(org.opennms.netmgt.model.OnmsGroup) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) OnmsGroupList(org.opennms.netmgt.model.OnmsGroupList) List(java.util.List) DutySchedule(org.opennms.netmgt.config.users.DutySchedule)

Example 13 with Group

use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.

the class GroupManager method save.

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

Example 14 with Group

use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.

the class DefaultSurveillanceViewService method selectDefaultViewForUsername.

/**
     * {@inheritDoc}
     */
@Override
public View selectDefaultViewForUsername(String username) {
    LOG.debug("Looking for surveillance view that matches user '{}'", username);
    View userView = SurveillanceViewProvider.getInstance().getView(username);
    if (userView != null) {
        LOG.debug("Found surveillance view '{}' matching user name '{}'", userView.getName(), username);
        return userView;
    }
    List<Group> groups = m_groupDao.findGroupsForUser(username);
    for (Group group : groups) {
        View groupView = SurveillanceViewProvider.getInstance().getView(group.getName());
        if (groupView != null) {
            LOG.debug("Found surveillance view '{}' matching group '{}' name for user '{}'", groupView.getName(), group.getName(), username);
            return groupView;
        }
    }
    View defaultView = SurveillanceViewProvider.getInstance().getDefaultView();
    if (defaultView == null) {
        String message = "There is no default surveillance view and we could not find a surveillance view for the user's username ('" + username + "') or any of their groups";
        LOG.warn(message);
        throw new ObjectRetrievalFailureException(View.class, message);
    }
    LOG.debug("Did not find a surveillance view matching the user's user name or one of their group names.  Using the default view for user '{}'", username);
    return defaultView;
}
Also used : Group(org.opennms.netmgt.config.groups.Group) ObjectRetrievalFailureException(org.springframework.orm.ObjectRetrievalFailureException) View(org.opennms.features.vaadin.surveillanceviews.model.View)

Example 15 with Group

use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.

the class GroupManager method saveGroups.

/**
     * <p>saveGroups</p>
     *
     * @throws java.lang.Exception if any.
     */
public synchronized void saveGroups() throws Exception {
    Header header = m_oldHeader;
    if (header != null)
        header.setCreated(EventConstants.formatToString(new Date()));
    final List<Group> groups = new ArrayList<>();
    for (final Group grp : m_groups.values()) {
        groups.add(grp);
    }
    final List<Role> roles = new ArrayList<>();
    for (final Role role : m_roles.values()) {
        roles.add(role);
    }
    Groupinfo groupinfo = new Groupinfo();
    groupinfo.setGroups(groups);
    groupinfo.setRoles(roles);
    groupinfo.setHeader(header);
    m_oldHeader = header;
    // marshal to a string first, then write the string to the file. This
    // way the original configuration
    // isn't lost if the XML from the marshal is hosed.
    StringWriter stringWriter = new StringWriter();
    JaxbUtils.marshal(groupinfo, stringWriter);
    String data = stringWriter.toString();
    saveXml(data);
}
Also used : Role(org.opennms.netmgt.config.groups.Role) Group(org.opennms.netmgt.config.groups.Group) OnmsGroup(org.opennms.netmgt.model.OnmsGroup) Header(org.opennms.netmgt.config.groups.Header) StringWriter(java.io.StringWriter) ArrayList(java.util.ArrayList) Groupinfo(org.opennms.netmgt.config.groups.Groupinfo) Date(java.util.Date)

Aggregations

Group (org.opennms.netmgt.config.groups.Group)22 OnmsGroup (org.opennms.netmgt.model.OnmsGroup)8 RequestDispatcher (javax.servlet.RequestDispatcher)5 HttpSession (javax.servlet.http.HttpSession)5 Role (org.opennms.netmgt.config.groups.Role)4 DutySchedule (org.opennms.netmgt.config.users.DutySchedule)4 IOException (java.io.IOException)3 ServletException (javax.servlet.ServletException)3 Test (org.junit.Test)3 GroupManager (org.opennms.netmgt.config.GroupManager)3 ArrayList (java.util.ArrayList)2 Calendar (java.util.Calendar)2 Vector (java.util.Vector)2 StringWriter (java.io.StringWriter)1 ChoiceFormat (java.text.ChoiceFormat)1 Date (java.util.Date)1 HashSet (java.util.HashSet)1 LinkedHashMap (java.util.LinkedHashMap)1 List (java.util.List)1 View (org.opennms.features.vaadin.surveillanceviews.model.View)1