@Override public Job get(String requestPath, String jobID) throws JobNotFoundException, JobPersistenceException, TransientException { JobPersistence jobPersistence = getJobPersistence(requestPath); Job job = jobPersistence.get(jobID); doAuthorizationCheck(job); jobPersistence.getDetails(job); return job; }
@Override public void delete(String requestPath, String jobID) throws JobNotFoundException, JobPersistenceException, TransientException { JobPersistence jobPersistence = getJobPersistence(requestPath); Job job = jobPersistence.get(jobID); doAuthorizationCheck(job); jobPersistence.delete(jobID); }
@Override public void execute(String requestPath, String jobID) throws JobNotFoundException, JobPersistenceException, JobPhaseException, TransientException { JobPersistence jobPersistence = getJobPersistence(requestPath); Job job = jobPersistence.get(jobID); doAuthorizationCheck(job); execute(requestPath, job); }
@Override public void execute(String requestPath, String jobID, SyncOutput output) throws JobNotFoundException, JobPersistenceException, JobPhaseException, TransientException { JobPersistence jobPersistence = getJobPersistence(requestPath); Job job = jobPersistence.get(jobID); doAuthorizationCheck(job); jobPersistence.getDetails(job); execute(requestPath, job, output); }
@Override public void abort(String requestPath, String jobID) throws JobNotFoundException, JobPersistenceException, JobPhaseException, TransientException { JobPersistence jobPersistence = getJobPersistence(requestPath); Job job = jobPersistence.get(jobID); doAuthorizationCheck(job); JobExecutor jobExecutor = getJobExecutor(requestPath); jobExecutor.abort(job); }
@Override public void update(String requestPath, String jobID, List<Parameter> params) throws JobNotFoundException, JobPersistenceException, JobPhaseException, TransientException { log.debug("update: " + jobID + "," + toString(params)); if (params == null || params.size() == 0) { return; } JobPersistence jobPersistence = getJobPersistence(requestPath); Job job = jobPersistence.get(jobID); doAuthorizationCheck(job); if (!ExecutionPhase.PENDING.equals(job.getExecutionPhase())) { throw new JobPhaseException("cannot update job control details when phase=" + job.getExecutionPhase()); } jobPersistence.addParameters(jobID, params); }
@Override public void update(String requestPath, String jobID, Date destruction, Long duration, Date quote) throws JobNotFoundException, JobPersistenceException, JobPhaseException, TransientException { log.debug("update: " + jobID + "," + destruction + "," + duration + "," + quote); JobPersistence jobPersistence = getJobPersistence(requestPath); Job job = jobPersistence.get(jobID); doAuthorizationCheck(job); if (!ExecutionPhase.PENDING.equals(job.getExecutionPhase())) { throw new JobPhaseException("cannot update job control details when phase=" + job.getExecutionPhase()); } if (destruction != null) { job.setDestructionTime(destruction); } if (duration != null) { job.setExecutionDuration(duration); } if (quote != null) { job.setQuote(quote); } JobPersistenceUtil.constrainDestruction(job, 1, maxDestruction); JobPersistenceUtil.constrainDuration(job, 1, maxExecDuration); JobPersistenceUtil.constrainQuote(job, 1, maxQuote); jobPersistence.put(job); }