Search in sources :

Example 11 with Schedule

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

the class GroupManager method getSchedulesForRoleAt.

/**
 * <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;
}
Also used : DutySchedule(org.opennms.netmgt.config.users.DutySchedule) Schedule(org.opennms.netmgt.config.groups.Schedule) ArrayList(java.util.ArrayList)

Example 12 with Schedule

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

the class BasicScheduleUtilsTest method testGetIntervalsDaily.

@Test
public void testGetIntervalsDaily() throws Exception {
    String schedSpec = "           <schedule name=\"simple\" type=\"daily\">" + "               <time begins=\"11:00:00\" ends=\"14:00:00\"/>\n" + "           </schedule>";
    Schedule simpleSchedule = JaxbUtils.unmarshal(Schedule.class, schedSpec);
    assertEquals("simple", simpleSchedule.getName());
    assertEquals("daily", simpleSchedule.getType());
    assertEquals(1, simpleSchedule.getTimes().size());
    final Time simpleScheduleTime = simpleSchedule.getTimes().get(0);
    assertEquals("11:00:00", simpleScheduleTime.getBegins());
    assertEquals("14:00:00", simpleScheduleTime.getEnds());
    assertEquals(false, simpleScheduleTime.getDay().isPresent());
    assertEquals(false, simpleScheduleTime.getId().isPresent());
    BasicSchedule basicSchedule = BasicScheduleUtils.getGroupSchedule(simpleSchedule);
    Owner owner = new Owner("unnamed", "simple", 0, 0);
    OwnedIntervalSequence intervals = BasicScheduleUtils.getIntervals(interval(6, 1, 0, 7, 1, 0), basicSchedule.getTime(0), owner);
    assertNotNull(intervals);
    List<OwnedInterval> expected = new ArrayList<>();
    for (int i = 1; i < 31; i++) {
        expected.add(owned(owner, jun(i, 11, i, 14)));
    }
    assertTimeIntervalSequence(expected.toArray(new OwnedInterval[] {}), intervals);
}
Also used : Owner(org.opennms.core.utils.Owner) Schedule(org.opennms.netmgt.config.groups.Schedule) ArrayList(java.util.ArrayList) Time(org.opennms.netmgt.config.groups.Time) OwnedIntervalSequence(org.opennms.core.utils.OwnedIntervalSequence) OwnedInterval(org.opennms.core.utils.OwnedInterval) Test(org.junit.Test)

Example 13 with Schedule

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

the class WebSchedEntry method addToRole.

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

Example 14 with Schedule

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

the class BasicScheduleUtilsTest method testWeeklyInterval.

@Test
public void testWeeklyInterval() throws Exception {
    String schedSpec = "           <schedule name=\"simple\" type=\"specific\">" + "               <time day=\"thursday\" begins=\"13:00:00\" ends=\"14:00:00\"/>\n" + "           </schedule>";
    Schedule simpleSchedule = JaxbUtils.unmarshal(Schedule.class, schedSpec);
    BasicSchedule basicSchedule = BasicScheduleUtils.getGroupSchedule(simpleSchedule);
    Owner owner = new Owner("unnamed", "simple", 0, 0);
    TimeInterval interval = BasicScheduleUtils.getInterval(aug(18).getStart(), basicSchedule.getTime(0), owner);
    assertNotNull(interval);
    assertInterval(owned(owner, aug(18, 13, 14)), interval);
}
Also used : Owner(org.opennms.core.utils.Owner) TimeInterval(org.opennms.core.utils.TimeInterval) Schedule(org.opennms.netmgt.config.groups.Schedule) Test(org.junit.Test)

Example 15 with Schedule

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

the class BasicScheduleUtilsTest method testSpecificInterval.

@Test
public void testSpecificInterval() throws Exception {
    String schedSpec = "           <schedule name=\"simple\" type=\"specific\">" + "               <time begins=\"18-Aug-2005 13:00:00\" ends=\"18-Aug-2005 14:00:00\"/>\n" + "           </schedule>";
    Schedule simpleSchedule = JaxbUtils.unmarshal(Schedule.class, schedSpec);
    BasicSchedule basicSchedule = BasicScheduleUtils.getGroupSchedule(simpleSchedule);
    Owner owner = new Owner("unnamed", "simple", 0, 0);
    TimeInterval interval = BasicScheduleUtils.getInterval(new Date(), basicSchedule.getTime(0), owner);
    assertNotNull(interval);
    assertInterval(owned(owner, aug(18, 13, 14)), interval);
}
Also used : Owner(org.opennms.core.utils.Owner) TimeInterval(org.opennms.core.utils.TimeInterval) Schedule(org.opennms.netmgt.config.groups.Schedule) Date(java.util.Date) Test(org.junit.Test)

Aggregations

Schedule (org.opennms.netmgt.config.groups.Schedule)17 Owner (org.opennms.core.utils.Owner)11 Test (org.junit.Test)10 OwnedIntervalSequence (org.opennms.core.utils.OwnedIntervalSequence)8 OwnedInterval (org.opennms.core.utils.OwnedInterval)5 DutySchedule (org.opennms.netmgt.config.users.DutySchedule)5 ArrayList (java.util.ArrayList)3 TimeInterval (org.opennms.core.utils.TimeInterval)3 Role (org.opennms.netmgt.config.groups.Role)3 Time (org.opennms.netmgt.config.groups.Time)3 IOException (java.io.IOException)1 Date (java.util.Date)1 LinkedHashMap (java.util.LinkedHashMap)1 Group (org.opennms.netmgt.config.groups.Group)1 OnmsGroup (org.opennms.netmgt.model.OnmsGroup)1