use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.
the class SetUserGroupController method handleRequestInternal.
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
boolean shouldFilter = AclUtils.shouldFilter(SecurityContextHolder.getContext().getAuthentication().getAuthorities());
if (httpServletRequest.getMethod().equals(METHOD_POST) && shouldFilter) {
String userGroups = httpServletRequest.getParameter("j_usergroups");
String[] userGroupList;
if (userGroups != null) {
String[] split = userGroups.split(",");
userGroupList = split[0].equals("") ? null : split;
} else {
userGroupList = null;
}
OnmsAuthenticationDetails details = (OnmsAuthenticationDetails) SecurityContextHolder.getContext().getAuthentication().getDetails();
details.setUserGroups(userGroupList);
String[] groupNames;
String user = SecurityContextHolder.getContext().getAuthentication().getName();
List<Group> groups = m_groupDao.findGroupsForUser(user);
groupNames = new String[groups.size()];
for (int i = 0; i < groups.size(); i++) {
groupNames[i] = groups.get(i).getName();
}
if (details.getUserGroups() != null && details.getUserGroups().length > 0) {
Set<String> detailsSet = new HashSet<String>(Arrays.asList(details.getUserGroups()));
Set<String> groupSet = new HashSet<String>(Arrays.asList(groupNames));
if (groupSet.containsAll(detailsSet)) {
groupNames = details.getUserGroups();
}
}
m_filterManager.enableAuthorizationFilter(groupNames);
}
return null;
}
use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.
the class AddGroupDutySchedulesServlet method doPost.
/** {@inheritDoc} */
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession userSession = request.getSession(true);
Group group = (Group) userSession.getAttribute("group.modifyGroup.jsp");
Vector<Object> newSchedule = new Vector<Object>();
int dutyAddCount = WebSecurityUtils.safeParseInt(request.getParameter("numSchedules"));
for (int j = 0; j < dutyAddCount; j++) {
// add 7 false boolean values for each day of the week
for (int i = 0; i < 7; i++) {
newSchedule.addElement(Boolean.FALSE);
}
// add two strings for the begin and end time
newSchedule.addElement("0");
newSchedule.addElement("0");
group.addDutySchedule((new DutySchedule(newSchedule)).toString());
}
// forward the request for proper display
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/admin/userGroupView/groups/modifyGroup.jsp");
dispatcher.forward(request, response);
}
use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.
the class DefaultWebGroupRepository method saveGroup.
/** {@inheritDoc} */
@Transactional
@Override
public void saveGroup(WebGroup webGroup) {
Group group = groupService.getGroup(webGroup.getName());
if (group == null) {
group = new Group();
group.setName(webGroup.getName());
}
group.setComments(webGroup.getComments());
group.setDutySchedules(webGroup.getDutySchedules());
group.setUsers(webGroup.getUsers());
groupService.saveGroup(group, webGroup.getAuthorizedCategories());
}
use of org.opennms.netmgt.config.groups.Group 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);
}
}
}
use of org.opennms.netmgt.config.groups.Group in project opennms by OpenNMS.
the class NotificationsITCase method getUsersInGroup.
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);
}
Aggregations