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();
}
}
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);
}
}
}
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);
}
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;
}
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);
}
Aggregations