private List<String> updateCommandLineArgs(List<String> commandLineArgs, TaskExecution taskExecution) { return Stream .concat(commandLineArgs.stream().filter(a -> !a.startsWith("--spring.cloud.task.executionid=")), Stream.of("--spring.cloud.task.executionid=" + taskExecution.getExecutionId())) .collect(Collectors.toList()); }
private List<String> updateCommandLineArgs(List<String> commandLineArgs, TaskExecution taskExecution) { return Stream .concat(commandLineArgs.stream().filter(a -> !a.startsWith("--spring.cloud.task.executionid=")), Stream.of("--spring.cloud.task.executionid=" + taskExecution.getExecutionId())) .collect(Collectors.toList()); }
@Override public int compare(TaskExecution e1, TaskExecution e2) { int result = e1.getStartTime().compareTo(e2.getStartTime()); if (result == 0){ result = Long.valueOf(e1.getExecutionId()).compareTo(e2.getExecutionId()); } return result; } });
@Override public int compare(TaskExecution e1, TaskExecution e2) { int result = e1.getStartTime().compareTo(e2.getStartTime()); if (result == 0){ result = Long.valueOf(e1.getExecutionId()).compareTo(e2.getExecutionId()); } return result; } });
@Override public void saveRelationship(TaskExecution taskExecution, JobExecution jobExecution) { Assert.notNull(taskExecution, "A taskExecution is required"); Assert.notNull(jobExecution, "A jobExecution is required"); if(this.relationships.containsKey(taskExecution.getExecutionId())) { this.relationships.get(taskExecution.getExecutionId()).add(jobExecution.getId()); } else { TreeSet<Long> jobExecutionIds = new TreeSet<>(); jobExecutionIds.add(jobExecution.getId()); this.relationships.put(taskExecution.getExecutionId(), jobExecutionIds); } } }
@Override public void saveRelationship(TaskExecution taskExecution, JobExecution jobExecution) { Assert.notNull(taskExecution, "A taskExecution is required"); Assert.notNull(jobExecution, "A jobExecution is required"); if(this.relationships.containsKey(taskExecution.getExecutionId())) { this.relationships.get(taskExecution.getExecutionId()).add(jobExecution.getId()); } else { TreeSet<Long> jobExecutionIds = new TreeSet<>(); jobExecutionIds.add(jobExecution.getId()); this.relationships.put(taskExecution.getExecutionId(), jobExecutionIds); } } }
@Override public void beforeJob(JobExecution jobExecution) { if(this.taskExecution == null) { logger.warn("This job was executed outside the scope of a task but still used the task listener."); } else { logger.info(String.format("The job execution id %s was run within the task execution %s", jobExecution.getId(), this.taskExecution.getExecutionId())); taskBatchDao.saveRelationship(taskExecution, jobExecution); } } }
@Override public void beforeJob(JobExecution jobExecution) { if(this.taskExecution == null) { logger.warn("This job was executed outside the scope of a task but still used the task listener."); } else { logger.info(String.format("The job execution id %s was run within the task execution %s", jobExecution.getId(), this.taskExecution.getExecutionId())); taskBatchDao.saveRelationship(taskExecution, jobExecution); } } }
@Override public int compare(TaskExecution firstTaskExecution, TaskExecution secondTaskExecution) { if (firstTaskExecution.getStartTime().equals(secondTaskExecution.getStartTime())) { return Long.compare(firstTaskExecution.getExecutionId(), secondTaskExecution.getExecutionId()); } else { return secondTaskExecution.getStartTime().compareTo(firstTaskExecution.getStartTime()); } } }
@Override public int compare(TaskExecution firstTaskExecution, TaskExecution secondTaskExecution) { if (firstTaskExecution.getStartTime().equals(secondTaskExecution.getStartTime())) { return Long.compare(firstTaskExecution.getExecutionId(), secondTaskExecution.getExecutionId()); } else { return secondTaskExecution.getStartTime().compareTo(firstTaskExecution.getStartTime()); } } }
@Override public void saveRelationship(TaskExecution taskExecution, JobExecution jobExecution) { Assert.notNull(taskExecution, "A taskExecution is required"); Assert.notNull(jobExecution, "A jobExecution is required"); jdbcTemplate.update(getQuery(INSERT_STATEMENT), taskExecution.getExecutionId(), jobExecution.getId()); }
@Override public TaskExecutionResource toResource(TaskJobExecutionRel taskJobExecutionRel) { return createResourceWithId(taskJobExecutionRel.getTaskExecution().getExecutionId(), taskJobExecutionRel); }
@Override public void saveRelationship(TaskExecution taskExecution, JobExecution jobExecution) { Assert.notNull(taskExecution, "A taskExecution is required"); Assert.notNull(jobExecution, "A jobExecution is required"); jdbcTemplate.update(getQuery(INSERT_STATEMENT), taskExecution.getExecutionId(), jobExecution.getId()); }
@Override public TaskExecutionResource toResource(TaskJobExecutionRel taskJobExecutionRel) { return createResourceWithId(taskJobExecutionRel.getTaskExecution().getExecutionId(), taskJobExecutionRel); }
private Page<TaskJobExecutionRel> getPageableRelationships(Page<TaskExecution> taskExecutions, Pageable pageable) { List<TaskJobExecutionRel> taskJobExecutionRels = new ArrayList<>(); for (TaskExecution taskExecution : taskExecutions.getContent()) { taskJobExecutionRels .add(new TaskJobExecutionRel(sanitizePotentialSensitiveKeys(taskExecution), new ArrayList<>( this.explorer.getJobExecutionIdsByTaskExecutionId(taskExecution.getExecutionId())))); } return new PageImpl<>(taskJobExecutionRels, pageable, taskExecutions.getTotalElements()); }
private Page<TaskJobExecutionRel> getPageableRelationships(Page<TaskExecution> taskExecutions, Pageable pageable) { List<TaskJobExecutionRel> taskJobExecutionRels = new ArrayList<>(); for (TaskExecution taskExecution : taskExecutions.getContent()) { taskJobExecutionRels .add(new TaskJobExecutionRel(sanitizePotentialSensitiveKeys(taskExecution), new ArrayList<>( this.explorer.getJobExecutionIdsByTaskExecutionId(taskExecution.getExecutionId())))); } return new PageImpl<>(taskJobExecutionRels, pageable, taskExecutions.getTotalElements()); }
/** * View the details of a single task execution, specified by id. * * @param id the id of the requested {@link TaskExecution} * @return the {@link TaskExecution} */ @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseStatus(HttpStatus.OK) public TaskExecutionResource view(@PathVariable("id") long id) { TaskExecution taskExecution = this.explorer.getTaskExecution(id); if (taskExecution == null) { throw new NoSuchTaskExecutionException(id); } taskExecution = sanitizePotentialSensitiveKeys(taskExecution); TaskJobExecutionRel taskJobExecutionRel = new TaskJobExecutionRel(taskExecution, new ArrayList<>(this.explorer.getJobExecutionIdsByTaskExecutionId(taskExecution.getExecutionId()))); return this.taskAssembler.toResource(taskJobExecutionRel); }
private TaskExecution getTaskExecutionCopy(TaskExecution taskExecution){ Date startTime = new Date(taskExecution.getStartTime().getTime()); Date endTime = (taskExecution.getEndTime() == null) ? null : new Date(taskExecution.getEndTime().getTime()); return new TaskExecution(taskExecution.getExecutionId(), taskExecution.getExitCode(), taskExecution.getTaskName(), startTime, endTime,taskExecution.getExitMessage(), Collections.unmodifiableList(taskExecution.getArguments()), taskExecution.getErrorMessage(), taskExecution.getExternalExecutionId()); }
private TaskExecution getTaskExecutionCopy(TaskExecution taskExecution){ Date startTime = new Date(taskExecution.getStartTime().getTime()); Date endTime = (taskExecution.getEndTime() == null) ? null : new Date(taskExecution.getEndTime().getTime()); return new TaskExecution(taskExecution.getExecutionId(), taskExecution.getExitCode(), taskExecution.getTaskName(), startTime, endTime,taskExecution.getExitMessage(), Collections.unmodifiableList(taskExecution.getArguments()), taskExecution.getErrorMessage(), taskExecution.getExternalExecutionId()); }
/** * Constructor to initialize the TaskExecutionResource using a * {@link TaskExecution}. * * @param taskExecution contains the {@link TaskExecution} */ public TaskExecutionResource(TaskExecution taskExecution) { Assert.notNull(taskExecution, "taskExecution must not be null"); this.executionId = taskExecution.getExecutionId(); this.exitCode = taskExecution.getExitCode(); this.taskName = taskExecution.getTaskName(); this.exitMessage = taskExecution.getExitMessage(); this.arguments = Collections.unmodifiableList(taskExecution.getArguments()); this.startTime = taskExecution.getStartTime(); this.endTime = taskExecution.getEndTime(); this.errorMessage = taskExecution.getErrorMessage(); this.externalExecutionId = taskExecution.getExternalExecutionId(); }