ManagedRole(Role role) { super(role.getName()); m_role = role; super.setDescription(role.getDescription().orElse(null)); super.setDefaultUser(getWebUser(role.getSupervisor())); super.setMembershipGroup(getWebGroup(role.getMembershipGroup())); }
@Override public Schedule getSchedule(int schedIndex) { final int index = schedIndex; return m_role.getSchedules().get(index); } @Override
public void save() { try { Role role = (m_role == null ? new Role() : m_role); if (m_flags.get(DESCR)) { role.setDescription(super.getDescription()); role.setSupervisor(super.getDefaultUser().getName()); role.setMembershipGroup(super.getMembershipGroup().getName()); role.setName(super.getName());
/** * <p>isUserScheduledForRole</p> * * @param userId a {@link java.lang.String} object. * @param roleId a {@link java.lang.String} object. * @param time a {@link java.util.Date} object. * @return a boolean. * @throws java.io.IOException if any. */ public boolean isUserScheduledForRole(String userId, String roleId, Date time) throws IOException { update(); for (Schedule sched : getUserSchedulesForRole(userId, roleId)) { if (BasicScheduleUtils.isTimeInSchedule(time, BasicScheduleUtils.getGroupSchedule(sched))) { return true; } } // if no user is scheduled then the supervisor is schedule by default Role role = getRole(roleId); if (userId.equals(role.getSupervisor())) { for (Schedule sched : role.getSchedules()) { if (BasicScheduleUtils.isTimeInSchedule(time, BasicScheduleUtils.getGroupSchedule(sched))) { // we found another scheduled user return false; } } return true; } return false; }
/** * <p>saveRole</p> * * @param role a {@link org.opennms.netmgt.config.groups.Role} object. * @throws java.lang.Exception if any. */ public void saveRole(Role role) throws Exception { m_roles.put(role.getName(), role); saveGroups(); }
private void addToRole(Role role) { Schedule sched = new Schedule(); sched.setName(m_user); sched.setType(m_type); Time time = new Time(); time.setBegins(m_begins); time.setEnds(m_ends); sched.addTime(time); role.addSchedule(sched); }
for (int i = 0; i < role.getSchedules().size(); i++) { final int index = i; Schedule sched = (Schedule) role.getSchedules().get(index); Owner owner = new Owner(roleid, sched.getName(), i); schedEntries.addAll(BasicScheduleUtils.getIntervalsCovering(start, end, BasicScheduleUtils.getGroupSchedule(sched), owner)); Owner supervisor = new Owner(roleid, role.getSupervisor()); for (Iterator<OwnedInterval> it = defaultEntries.iterator(); it.hasNext();) { OwnedInterval interval = it.next();
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); } } }
/** * <p>getUserSchedulesForRole</p> * * @param userId a {@link java.lang.String} object. * @param roleId a {@link java.lang.String} object. * @return a {@link java.util.List} object. * @throws java.io.IOException if any. */ public List<Schedule> getUserSchedulesForRole(String userId, String roleId) throws IOException { update(); List<Schedule> scheds = new ArrayList<Schedule>(); for (Schedule sched : getRole(roleId).getSchedules()) { if (userId.equals(sched.getName())) { scheds.add(sched); } } return scheds; }
/** * <p>getEntries</p> * * @return an array of {@link org.opennms.web.admin.roles.CalendarEntry} objects. */ public CalendarEntry[] getEntries() { try { List<CalendarEntry> entries = new ArrayList<>(); OwnedIntervalSequence schedEntries = m_groupManager.getRoleScheduleEntries(m_role.getName(), getTime(0,0), getTime(24,0)); for (Iterator<OwnedInterval> it = schedEntries.iterator(); it.hasNext();) { OwnedInterval schedEntry = it.next(); CalendarEntry entry = new CalendarEntry(schedEntry.getStart(), schedEntry.getEnd(), ownerString(schedEntry.getOwners()), schedEntry.getOwners()); entries.add(entry); } return entries.toArray(new CalendarEntry[entries.size()]); } catch (Throwable e) { throw new WebRolesException("Unable to get schedule entries: " + e.getMessage(), e); } }
Iterator<Schedule> s = role.getSchedules().iterator(); while(s.hasNext()) { Schedule sched = s.next();
for (Schedule sched : role.getSchedules()) { if (oldName.equals(sched.getName())) { sched.setName(newName);
private void modifyRole(Role role) { Schedule sched = role.getSchedules().get(m_schedIndex); Time time = sched.getTimes().get(m_timeIndex); sched.setName(m_user); sched.setType(m_type); time.setBegins(m_begins); time.setEnds(m_ends); }
/** * <p>userHasRole</p> * * @param userId a {@link java.lang.String} object. * @param roleid a {@link java.lang.String} object. * @return a boolean. * @throws java.io.IOException if any. */ public boolean userHasRole(String userId, String roleid) throws IOException { update(); for (Schedule sched : getRole(roleid).getSchedules()) { if (userId.equals(sched.getName())) { return true; } } return false; }
/** * <p>getSchedulesForRoleAt</p> * * @param roleId a {@link java.lang.String} object. * @param time a {@link java.util.Date} object. * @return a {@link java.util.List} object. * @throws java.io.IOException if any. */ public List<Schedule> getSchedulesForRoleAt(String roleId, Date time) throws IOException { update(); List<Schedule> schedules = new ArrayList<Schedule>(); for (Schedule sched : getRole(roleId).getSchedules()) { if (BasicScheduleUtils.isTimeInSchedule(time, BasicScheduleUtils.getGroupSchedule(sched))) { schedules.add(sched); } } return schedules; }