@Override public Job create(String requestPath, Job job) throws JobPersistenceException, TransientException { // set defaults job.setExecutionPhase(ExecutionPhase.PENDING); JobPersistenceUtil.constrainDestruction(job, 1, maxDestruction); JobPersistenceUtil.constrainDuration(job, 1, maxExecDuration); JobPersistenceUtil.constrainQuote(job, 1, maxQuote); JobPersistence jobPersistence = getJobPersistence(requestPath); return jobPersistence.put(job); }
@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); }