Examples of CScheduledTask


Examples of org.sonatype.nexus.configuration.model.CScheduledTask

    Configuration nexusConfig = getNexusConfigUtil().getNexusConfig();

    List<CScheduledTask> tasks = nexusConfig.getTasks();
    Assert.assertEquals(1, tasks.size());

    CScheduledTask task = tasks.get(0);
    E scheduledTask = getTaskScheduled();

    Assert.assertEquals(task.getName(), scheduledTask.getName());
    Assert.assertEquals(task.getType(), scheduledTask.getTypeId());
  }
View Full Code Here

Examples of org.sonatype.nexus.configuration.model.CScheduledTask

    }

    synchronized (getApplicationConfiguration()) {
      List<CScheduledTask> tasks = getCurrentConfiguration(true);

      CScheduledTask foundTask = findTask(task.getId(), tasks);

      CScheduledTask storeableTask = translateFrom(task);

      if (storeableTask != null) {
        if (foundTask != null) {
          tasks.remove(foundTask);

          storeableTask.setLastRun(foundTask.getLastRun());
        }

        tasks.add(storeableTask);
      }
View Full Code Here

Examples of org.sonatype.nexus.configuration.model.CScheduledTask

  public <T> void removeTask(ScheduledTask<T> task) {
    synchronized (getApplicationConfiguration()) {
      List<CScheduledTask> tasks = getCurrentConfiguration(true);

      CScheduledTask foundTask = findTask(task.getId(), tasks);

      if (foundTask != null) {
        tasks.remove(foundTask);
      }
View Full Code Here

Examples of org.sonatype.nexus.configuration.model.CScheduledTask

  // ==

  private CScheduledTask findTask(String id, List<CScheduledTask> tasks) {
    synchronized (getApplicationConfiguration()) {
      for (Iterator<CScheduledTask> iter = tasks.iterator(); iter.hasNext(); ) {
        CScheduledTask storedTask = iter.next();

        if (storedTask.getId().equals(id)) {
          return storedTask;
        }
      }

      return null;
View Full Code Here

Examples of org.sonatype.nexus.configuration.model.CScheduledTask

    return schedule;
  }

  private <T> CScheduledTask translateFrom(ScheduledTask<T> task) {
    CScheduledTask storeableTask = new CScheduledTask();

    storeableTask.setEnabled(task.isEnabled());
    storeableTask.setId(task.getId());
    storeableTask.setName(task.getName());
    storeableTask.setType(task.getType());
    storeableTask.setStatus(task.getTaskState().name());

    if (task.getLastRun() != null) {
      storeableTask.setLastRun(task.getLastRun().getTime());
    }

    if (task.getNextRun() != null) {
      storeableTask.setNextRun(task.getNextRun().getTime());
    }

    for (String key : task.getTaskParams().keySet()) {
      CProps props = new CProps();
      props.setKey(key);
      props.setValue(task.getTaskParams().get(key));

      storeableTask.addProperty(props);
    }

    Schedule schedule = task.getSchedule();
    CScheduleConfig storeableSchedule = new CScheduleConfig();

    if (schedule != null) {
      if (CronSchedule.class.isAssignableFrom(schedule.getClass())) {
        storeableSchedule.setType(CScheduleConfig.TYPE_ADVANCED);

        storeableSchedule.setCronCommand(((CronSchedule) schedule).getCronString());
      }
      else if (MonthlySchedule.class.isAssignableFrom(schedule.getClass())) {
        storeableSchedule.setType(CScheduleConfig.TYPE_MONTHLY);

        storeableSchedule.setStartDate(((MonthlySchedule) schedule).getStartDate().getTime());

        Date endDate = ((MonthlySchedule) schedule).getEndDate();

        if (endDate != null) {
          storeableSchedule.setEndDate(endDate.getTime());
        }

        for (Iterator iter = ((MonthlySchedule) schedule).getDaysToRun().iterator(); iter.hasNext(); ) {
          // TODO: String.valueOf is used because currently the days to run are integers in the monthly
          // schedule
          // needs to be string
          storeableSchedule.addDaysOfMonth(String.valueOf(iter.next()));
        }
      }
      else if (WeeklySchedule.class.isAssignableFrom(schedule.getClass())) {
        storeableSchedule.setType(CScheduleConfig.TYPE_WEEKLY);

        storeableSchedule.setStartDate(((WeeklySchedule) schedule).getStartDate().getTime());

        Date endDate = ((WeeklySchedule) schedule).getEndDate();

        if (endDate != null) {
          storeableSchedule.setEndDate(endDate.getTime());
        }

        for (Iterator iter = ((WeeklySchedule) schedule).getDaysToRun().iterator(); iter.hasNext(); ) {
          // TODO: String.valueOf is used because currently the days to run are integers in the weekly
          // schedule
          // needs to be string
          storeableSchedule.addDaysOfWeek(String.valueOf(iter.next()));
        }
      }
      else if (DailySchedule.class.isAssignableFrom(schedule.getClass())) {
        storeableSchedule.setType(CScheduleConfig.TYPE_DAILY);

        storeableSchedule.setStartDate(((DailySchedule) schedule).getStartDate().getTime());

        Date endDate = ((DailySchedule) schedule).getEndDate();

        if (endDate != null) {
          storeableSchedule.setEndDate(endDate.getTime());
        }
      }
      else if (HourlySchedule.class.isAssignableFrom(schedule.getClass())) {
        storeableSchedule.setType(CScheduleConfig.TYPE_HOURLY);

        storeableSchedule.setStartDate(((HourlySchedule) schedule).getStartDate().getTime());

        Date endDate = ((HourlySchedule) schedule).getEndDate();

        if (endDate != null) {
          storeableSchedule.setEndDate(endDate.getTime());
        }
      }
      else if (OnceSchedule.class.isAssignableFrom(schedule.getClass())) {
        storeableSchedule.setType(CScheduleConfig.TYPE_ONCE);

        storeableSchedule.setStartDate(((OnceSchedule) schedule).getStartDate().getTime());
      }
      else if (RunNowSchedule.class.isAssignableFrom(schedule.getClass())) {
        storeableSchedule.setType(CScheduleConfig.TYPE_RUN_NOW);
      }
      else if (ManualRunSchedule.class.isAssignableFrom(schedule.getClass())) {
        storeableSchedule.setType(CScheduleConfig.TYPE_MANUAL);
      }
      else {
        throw new IllegalArgumentException("Unknown Schedule type: " + schedule.getClass().getName());
      }
    }

    storeableTask.setSchedule(storeableSchedule);

    return storeableTask;
  }
View Full Code Here

Examples of org.sonatype.nexus.configuration.model.CScheduledTask

  @Test
  public void testInitializeCronSchedule()
      throws Exception
  {
    final CScheduledTask cst = new CScheduledTask();
    cst.setId("foo-" + System.currentTimeMillis());
    cst.setEnabled(true);
    cst.setName("foo");
    cst.setType(TestNexusTask.class.getName());
    cst.setNextRun(new SimpleDateFormat("yyyy-MM-DD hh:mm:ss").parse("2099-01-01 20:00:00").getTime());

    // System.out.println( new Date( cst.getNextRun() ) );

    final CScheduleConfig csc = new CScheduleConfig();
    csc.setType(SCHEDULE_TYPE_ADVANCED);
    csc.setCronCommand("0 0 20 ? * TUE,THU,SAT");
    cst.setSchedule(csc);

    defaultManager.initializeTasks(defaultScheduler, Arrays.asList(cst));

    final ScheduledTask<?> task = defaultScheduler.getTaskById(cst.getId());
    assertThat(new Date(task.getNextRun().getTime()), is(new Date(cst.getNextRun())));
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.