ColumnFormatter columnFormatter = new ColumnFormatter(getDisplayHeaders());
List<Map<String, Object>> jobExecutions = new ArrayList<>();
extraProps.put("listBatchJobExecutions", jobExecutions);
if (executionId != null) {
JobOperator jobOperator = BatchRuntime.getJobOperator();
JobExecution je = jobOperator.getJobExecution(Long.valueOf(executionId));
if (instanceId != null) {
JobInstance ji = jobOperator.getJobInstance(Long.valueOf(executionId));
if (ji.getInstanceId() != Long.valueOf(instanceId)) {
throw new RuntimeException("executionid " + executionId
+ " is not associated with the specified instanceid (" + instanceId + ")"
+ "; did you mean " + ji.getInstanceId() + " ?");
}
}
jobExecutions.add(handleJob(je, columnFormatter));
} else if (instanceId != null) {
for (JobExecution je : getJobExecutionForInstance(Long.valueOf(instanceId))) {
jobExecutions.add(handleJob(je, columnFormatter));
}
} else {
JobOperator jobOperator = BatchRuntime.getJobOperator();
Set<String> jobNames = jobOperator.getJobNames();
if (jobNames != null) {
for (String jn : jobOperator.getJobNames()) {
List<JobInstance> exe = jobOperator.getJobInstances(jn, 0, Integer.MAX_VALUE - 1);
if (exe != null) {
for (JobInstance ji : exe) {
for (JobExecution je : jobOperator.getJobExecutions(ji)) {
jobExecutions.add(handleJob(jobOperator.getJobExecution(je.getExecutionId()), columnFormatter));
}
}
}
}
}