/** * <p>isTimeInSchedule</p> * * @param time a {@link java.util.Date} object. * @param sched a {@link org.opennms.netmgt.config.poller.outages.common.BasicSchedule} object. * @return a boolean. */ public static boolean isTimeInSchedule(final Date time, final BasicSchedule sched) { final Calendar cal = Calendar.getInstance(); cal.setTime(time); return isTimeInSchedule(cal, sched); }
/** * Return if time is part of specified outage. * * @param cal * the calendar to lookup * @param getOutageSchedule(outage) * the outage * @return true if time is in outage */ public boolean isTimeInOutage(final Calendar cal, final Outage outage) { return BasicScheduleUtils.isTimeInSchedule(cal, BasicScheduleUtils.getBasicOutageSchedule(outage)); }
/** * Return if time is part of specified outage. * * @param cal * the calendar to lookup * @param outage * the outage * * @return true if time is in outage */ private boolean isTimeInSchedule(final Calendar cal, final Schedule schedule) { return BasicScheduleUtils.isTimeInSchedule(cal, BasicScheduleUtils.getRancidSchedule(schedule)); }
/** * Return if time is part of specified outage. * * @param cal * the calendar to lookup * @param outage * the outage * * @return true if time is in outage */ private boolean isTimeInSchedule(final Calendar cal, final Schedule schedule) { return BasicScheduleUtils.isTimeInSchedule(cal, BasicScheduleUtils.getRancidSchedule(schedule)); }
/** * <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; }
/** * <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; }