Package fm.last.citrine.model

Examples of fm.last.citrine.model.Task


    model.put("taskRuns", taskRuns);
    model.put("taskId", taskId);
    model.put("taskRunLogs", taskRunLogs);
    model.put("page", currentPage);

    Task task = taskManager.get(taskId);
    if (task != null) {
      model.put("taskName", task.getName());
    }

    if (taskRuns.size() == pageSize) { // a bit crude, but will do for now, should really compare with count(*)
      model.put("morepages", true);
    }
View Full Code Here


  @Override
  public void validate(Object object, Errors errors) {
    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "task.groupName", "group.empty");
    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "task.name", "name.empty");

    Task task = ((TaskDTO) object).getTask();
    if (!StringUtils.isEmpty(task.getTimerSchedule())) {
      // if there is a timer schedule, check it is valid for quartz cron trigger
      try {
        new CronExpression(task.getTimerSchedule());
      } catch (ParseException e) {
        errors.rejectValue("task.timerSchedule", "timer.schedule.invalid", e.getMessage());
      }
    }
    if (task.getGroupName() != null && Constants.GROUP_NAME_ALL.equals(task.getGroupName().trim())) {
      errors.rejectValue("task.groupName", "group.illegal", Constants.GROUP_NAME_ALL + " not allowed as group name");
    }
  }
View Full Code Here

  @Override
  public void setStatus(TaskRun taskRun, Status status) {
    taskRun.setStatus(status);
    if (status.compareTo(Status.CANCELLED) >= 0 && status.compareTo(Status.SUCCESS) <= 0) {
      Task task = taskDAO.get(taskRun.getTaskId());
      if (task == null) {
        log.fatal("Could not send a notification for task run " + taskRun.getTaskId() + ", no owning task found");
        return;
      }
      notifier.sendNotification(task.getNotification(), taskRun, task.getName());
    }
  }
View Full Code Here

   * @throws Exception
   */
  public ModelAndView run(HttpServletRequest request, HttpServletResponse response) throws Exception {
    long taskId = RequestUtils.getLongValue(request, PARAM_TASK_ID);
    log.debug("Received request to run task " + taskId);
    Task task = taskManager.get(taskId);
    schedulerManager.runTaskNow(task);
    Thread.sleep(1000); // bit of a hack, but allows TaskRun to be created so view should contain it
    // total hack to have path to .do here, but unsure how else to redirect there
    return new ModelAndView(new RedirectView("task_runs.do?action=list&" + Constants.PARAM_TASK_ID + "=" + taskId + "&"
        + Constants.PARAM_SELECTED_GROUP_NAME + "=" + request.getParameter(Constants.PARAM_SELECTED_GROUP_NAME)));
View Full Code Here

   * Handle a finished TaskRun by checking if any child TaskRuns should now be triggered.
   *
   * @param finishedRun TaskRun that has just completed.
   */
  private void handleFinishedRun(TaskRun finishedRun) {
    Task finishedTask = taskManager.get(finishedRun.getTaskId());
    if (finishedTask.hasChild()) { // do we need to bother with checking whether to run chilren
      // run a child if parent ran successfully or it failed but stop on error is false
      if (Status.SUCCESS.equals(finishedRun.getStatus())
          || (Status.FAILED.equals(finishedRun.getStatus()) && !finishedTask.isStopOnError())) {
        runChildTasks(finishedTask, finishedRun);
      }
    }
  }
View Full Code Here

   * @throws Exception
   */
  public ModelAndView reset(HttpServletRequest request, HttpServletResponse response) throws Exception {
    long taskId = RequestUtils.getLongValue(request, PARAM_TASK_ID);
    log.debug("Received request to reset task " + taskId);
    Task task = taskManager.get(taskId);
    schedulerManager.resetTask(task);
    return new ModelAndView(new RedirectView("tasks.do?" + Constants.PARAM_SELECTED_GROUP_NAME + "="
        + request.getParameter(Constants.PARAM_SELECTED_GROUP_NAME)));
  }
View Full Code Here

  @Override
  public ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command,
      BindException errors) {
    TaskDTO taskDTO = (TaskDTO) command;
    Task oldTask = taskManager.get(taskDTO.getTask().getId());
    if (request.getParameter(PARAM_DELETE) != null) {
      // task from web doesn't have parent/child relationships, so retrieve it from db before deleting
      taskManager.delete(oldTask);
    } else {
      Task newTask = taskDTO.getTask();
      if (oldTask != null) {
        newTask.setChildTasks(oldTask.getChildTasks());
      }
      taskManager.save(newTask);
    }
    return new ModelAndView(new RedirectView(getSuccessView(taskDTO.getSelectedGroupName())));
  }
View Full Code Here

  @Override
  protected Map<String, Object> referenceData(HttpServletRequest request, Object command, Errors errors)
    throws Exception {
    Map<String, Object> referenceData = new HashMap<String, Object>();
    Task task = ((TaskChildCandidatesDTO) command).getTask();
    referenceData.put("childTasks", task.getChildTasks()); // existing child tasks
    referenceData.put("candidateChildTasks", taskManager.findCandidateChildren(task)); // potential child tasks
    referenceData.put(Constants.PARAM_SELECTED_GROUP_NAME, request.getParameter(Constants.PARAM_SELECTED_GROUP_NAME));
    return referenceData;
  }
View Full Code Here

  protected Object formBackingObject(HttpServletRequest request) throws ServletException {
    String idString = request.getParameter(PARAM_TASK_ID);
    TaskChildCandidatesDTO backingObject = null;
    if (request.getParameter(PARAM_CANCEL) == null && null != idString && !idString.equals("") && !idString.equals("0")) {
      long taskId = Long.parseLong(idString);
      Task task = taskManager.get(taskId);
      backingObject = new TaskChildCandidatesDTO(task);
    } else {
      backingObject = new TaskChildCandidatesDTO();
    }
    String selectedGroupName = request.getParameter(Constants.PARAM_SELECTED_GROUP_NAME);
View Full Code Here

  @Override
  public ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command,
      BindException errors) {
    TaskChildCandidatesDTO dto = ((TaskChildCandidatesDTO) command);
    Task task = taskManager.get(dto.getTask().getId());

    Set<Task> newChildTasks = new HashSet<Task>(); // list which will replace existing child tasks
    if (dto.getCandidateChildTaskIds() != null) {
      for (long candidateTaskId : dto.getCandidateChildTaskIds()) {
        newChildTasks.add(taskManager.get(candidateTaskId));
      }
    }

    if (dto.getChildTaskIds() != null) {
      for (long candidateTaskId : dto.getChildTaskIds()) {
        newChildTasks.add(taskManager.get(candidateTaskId));
      }
    }

    task.setChildTasks(newChildTasks);
    taskManager.save(task);
    return new ModelAndView(new RedirectView(getSuccessView(dto.getSelectedGroupName())));
  }
View Full Code Here

TOP

Related Classes of fm.last.citrine.model.Task

Copyright © 2018 www.massapicom. 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.