public void updateCheckpointJob(String jobId, List<AbstractExecutable> subTasksForCheck) { try { final ExecutablePO job = executableDao.getJob(jobId); Preconditions.checkArgument(job != null, "there is no related job for job id:" + jobId); List<ExecutablePO> tasksForCheck = Lists.newArrayListWithExpectedSize(subTasksForCheck.size()); for (AbstractExecutable taskForCheck : subTasksForCheck) { tasksForCheck.add(parse(taskForCheck)); } job.setTasksForCheck(tasksForCheck); executableDao.updateJob(job); } catch (PersistentException e) { logger.error("fail to update checkpoint job:" + jobId, e); throw new RuntimeException(e); } }
private static ExecutablePO parse(AbstractExecutable executable) { ExecutablePO result = new ExecutablePO(); result.setName(executable.getName()); result.setUuid(executable.getId()); result.setType(executable.getClass().getName()); result.setParams(executable.getParams()); if (executable instanceof ChainedExecutable) { List<ExecutablePO> tasks = Lists.newArrayList(); for (AbstractExecutable task : ((ChainedExecutable) executable).getTasks()) { tasks.add(parse(task)); } result.setTasks(tasks); } if (executable instanceof CheckpointExecutable) { List<ExecutablePO> tasksForCheck = Lists.newArrayList(); for (AbstractExecutable taskForCheck : ((CheckpointExecutable) executable).getSubTasksForCheck()) { tasksForCheck.add(parse(taskForCheck)); } result.setTasksForCheck(tasksForCheck); } return result; }
public void updateCheckpointJob(String jobId, List<AbstractExecutable> subTasksForCheck) { try { final ExecutablePO job = executableDao.getJob(jobId); Preconditions.checkArgument(job != null, "there is no related job for job id:" + jobId); List<ExecutablePO> tasksForCheck = Lists.newArrayListWithExpectedSize(subTasksForCheck.size()); for (AbstractExecutable taskForCheck : subTasksForCheck) { tasksForCheck.add(parse(taskForCheck)); } job.setTasksForCheck(tasksForCheck); executableDao.updateJob(job); } catch (PersistentException e) { logger.error("fail to update checkpoint job:" + jobId, e); throw new RuntimeException(e); } }
private static ExecutablePO parse(AbstractExecutable executable) { ExecutablePO result = new ExecutablePO(); result.setName(executable.getName()); result.setUuid(executable.getId()); result.setType(executable.getClass().getName()); result.setParams(executable.getParams()); if (executable instanceof ChainedExecutable) { List<ExecutablePO> tasks = Lists.newArrayList(); for (AbstractExecutable task : ((ChainedExecutable) executable).getTasks()) { tasks.add(parse(task)); } result.setTasks(tasks); } if (executable instanceof CheckpointExecutable) { List<ExecutablePO> tasksForCheck = Lists.newArrayList(); for (AbstractExecutable taskForCheck : ((CheckpointExecutable) executable).getSubTasksForCheck()) { tasksForCheck.add(parse(taskForCheck)); } result.setTasksForCheck(tasksForCheck); } return result; }