IN PROGRESS - BATCH-518: clean up the *Or* repository methods
saveOrUpdate(JobExecution) -> updateJobExecution
This commit is contained in:
@@ -136,14 +136,14 @@ public class SimpleJob extends AbstractJob {
|
||||
|
||||
execution.setEndTime(new Date());
|
||||
execution.setExitStatus(status);
|
||||
getJobRepository().saveOrUpdate(execution);
|
||||
getJobRepository().updateJobExecution(execution);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void updateStatus(JobExecution jobExecution, BatchStatus status) {
|
||||
jobExecution.setStatus(status);
|
||||
getJobRepository().saveOrUpdate(jobExecution);
|
||||
getJobRepository().updateJobExecution(jobExecution);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -63,18 +63,14 @@ public interface JobRepository {
|
||||
JobRestartException, JobInstanceAlreadyCompleteException;
|
||||
|
||||
/**
|
||||
* Save or Update a {@link JobExecution}. If no ID is found a new instance
|
||||
* will be saved. If an ID does exist it will be updated. The ID should only
|
||||
* be assigned to a {@link JobExecution} by calling this method - it should
|
||||
* be left blank on the first call, and assigned by the
|
||||
* {@link JobRepository}.
|
||||
* Update the {@link JobExecution}.
|
||||
*
|
||||
* Preconditions: {@link JobExecution} must contain a valid
|
||||
* {@link JobInstance}.
|
||||
* {@link JobInstance} and be saved (have an id assigned).
|
||||
*
|
||||
* @param jobExecution
|
||||
*/
|
||||
void saveOrUpdate(JobExecution jobExecution);
|
||||
void updateJobExecution(JobExecution jobExecution);
|
||||
|
||||
/**
|
||||
* Save or update a {@link StepExecution}. If no ID is found a new instance
|
||||
|
||||
@@ -186,7 +186,7 @@ public class SimpleJobRepository implements JobRepository {
|
||||
|
||||
// Save the JobExecution so that it picks up an ID (useful for clients
|
||||
// monitoring asynchronous executions):
|
||||
saveOrUpdate(jobExecution);
|
||||
jobExecutionDao.saveJobExecution(jobExecution);
|
||||
|
||||
return jobExecution;
|
||||
|
||||
@@ -203,19 +203,13 @@ public class SimpleJobRepository implements JobRepository {
|
||||
* @param jobExecution to be stored.
|
||||
* @throws IllegalArgumentException if jobExecution is null.
|
||||
*/
|
||||
public void saveOrUpdate(JobExecution jobExecution) {
|
||||
public void updateJobExecution(JobExecution jobExecution) {
|
||||
|
||||
Assert.notNull(jobExecution, "JobExecution cannot be null.");
|
||||
Assert.notNull(jobExecution.getJobId(), "JobExecution must have a Job ID set.");
|
||||
Assert.notNull(jobExecution.getId(), "JobExecution must be already saved (have an id assigned).");
|
||||
|
||||
if (jobExecution.getId() == null) {
|
||||
// existing instance
|
||||
jobExecutionDao.saveJobExecution(jobExecution);
|
||||
}
|
||||
else {
|
||||
// new execution
|
||||
jobExecutionDao.updateJobExecution(jobExecution);
|
||||
}
|
||||
jobExecutionDao.updateJobExecution(jobExecution);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -55,9 +55,9 @@ public class SimpleJobRepositoryIntegrationTests extends AbstractTransactionalDa
|
||||
|
||||
assertEquals(job.getName(), firstExecution.getJobInstance().getJobName());
|
||||
|
||||
jobRepository.saveOrUpdate(firstExecution);
|
||||
jobRepository.updateJobExecution(firstExecution);
|
||||
firstExecution.setEndTime(new Date());
|
||||
jobRepository.saveOrUpdate(firstExecution);
|
||||
jobRepository.updateJobExecution(firstExecution);
|
||||
JobExecution secondExecution = jobRepository.createJobExecution(job, jobParams);
|
||||
|
||||
assertEquals(firstExecution.getJobInstance(), secondExecution.getJobInstance());
|
||||
@@ -74,7 +74,7 @@ public class SimpleJobRepositoryIntegrationTests extends AbstractTransactionalDa
|
||||
JobExecution firstExecution = jobRepository.createJobExecution(job, jobParameters);
|
||||
firstExecution.setStartTime(new Date(0));
|
||||
firstExecution.setEndTime(new Date(1));
|
||||
jobRepository.saveOrUpdate(firstExecution);
|
||||
jobRepository.updateJobExecution(firstExecution);
|
||||
JobExecution secondExecution = jobRepository.createJobExecution(job, jobParameters);
|
||||
|
||||
assertEquals(firstExecution.getJobInstance(), secondExecution.getJobInstance());
|
||||
@@ -89,7 +89,7 @@ public class SimpleJobRepositoryIntegrationTests extends AbstractTransactionalDa
|
||||
job.setRestartable(false);
|
||||
|
||||
JobExecution firstExecution = jobRepository.createJobExecution(job, jobParameters);
|
||||
jobRepository.saveOrUpdate(firstExecution);
|
||||
jobRepository.updateJobExecution(firstExecution);
|
||||
|
||||
try {
|
||||
jobRepository.createJobExecution(job, jobParameters);
|
||||
@@ -111,7 +111,7 @@ public class SimpleJobRepositoryIntegrationTests extends AbstractTransactionalDa
|
||||
// first execution
|
||||
JobExecution firstJobExec = jobRepository.createJobExecution(job, jobParameters);
|
||||
StepExecution firstStepExec = new StepExecution(step.getName(), firstJobExec);
|
||||
jobRepository.saveOrUpdate(firstJobExec);
|
||||
jobRepository.updateJobExecution(firstJobExec);
|
||||
jobRepository.saveOrUpdate(firstStepExec);
|
||||
|
||||
assertEquals(1, jobRepository.getStepExecutionCount(firstJobExec.getJobInstance(), step));
|
||||
@@ -125,12 +125,12 @@ public class SimpleJobRepositoryIntegrationTests extends AbstractTransactionalDa
|
||||
jobRepository.saveOrUpdate(firstStepExec);
|
||||
firstJobExec.setStatus(BatchStatus.FAILED);
|
||||
firstJobExec.setEndTime(new Date(7));
|
||||
jobRepository.saveOrUpdate(firstJobExec);
|
||||
jobRepository.updateJobExecution(firstJobExec);
|
||||
|
||||
// second execution
|
||||
JobExecution secondJobExec = jobRepository.createJobExecution(job, jobParameters);
|
||||
StepExecution secondStepExec = new StepExecution(step.getName(), secondJobExec);
|
||||
jobRepository.saveOrUpdate(secondJobExec);
|
||||
jobRepository.updateJobExecution(secondJobExec);
|
||||
jobRepository.saveOrUpdate(secondStepExec);
|
||||
|
||||
assertEquals(2, jobRepository.getStepExecutionCount(secondJobExec.getJobInstance(), step));
|
||||
|
||||
@@ -116,7 +116,7 @@ public class SimpleJobRepositoryTests extends TestCase {
|
||||
// failure scenario - must have job ID
|
||||
JobExecution jobExecution = new JobExecution(null);
|
||||
try {
|
||||
jobRepository.saveOrUpdate(jobExecution);
|
||||
jobRepository.updateJobExecution(jobExecution);
|
||||
fail();
|
||||
}
|
||||
catch (Exception ex) {
|
||||
@@ -124,21 +124,16 @@ public class SimpleJobRepositoryTests extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
public void testSaveOrUpdateValidJobExecution() throws Exception {
|
||||
public void testUpdateValidJobExecution() throws Exception {
|
||||
|
||||
JobExecution jobExecution = new JobExecution(new JobInstance(new Long(1), jobParameters, job.getName()));
|
||||
JobExecution jobExecution = new JobExecution(new JobInstance(new Long(1), jobParameters, job.getName()), new Long(1));
|
||||
|
||||
// new execution - call save on job dao
|
||||
jobExecutionDao.saveJobExecution(jobExecution);
|
||||
jobExecutionDaoControl.replay();
|
||||
jobRepository.saveOrUpdate(jobExecution);
|
||||
jobExecutionDaoControl.reset();
|
||||
|
||||
// update existing execution
|
||||
jobExecution.setId(new Long(5));
|
||||
// new execution - call update on job dao
|
||||
jobExecutionDao.updateJobExecution(jobExecution);
|
||||
jobExecutionDaoControl.replay();
|
||||
jobRepository.saveOrUpdate(jobExecution);
|
||||
jobRepository.updateJobExecution(jobExecution);
|
||||
jobExecutionDaoControl.verify();
|
||||
|
||||
}
|
||||
|
||||
public void testSaveOrUpdateStepExecutionException() {
|
||||
|
||||
@@ -39,7 +39,7 @@ public class JobRepositorySupport implements JobRepository {
|
||||
/* (non-Javadoc)
|
||||
* @see org.springframework.batch.container.common.repository.JobRepository#saveOrUpdate(org.springframework.batch.container.common.domain.JobExecution)
|
||||
*/
|
||||
public void saveOrUpdate(JobExecution jobExecution) {
|
||||
public void updateJobExecution(JobExecution jobExecution) {
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
||||
@@ -57,7 +57,7 @@ public class JobRepositorySupport implements JobRepository {
|
||||
/* (non-Javadoc)
|
||||
* @see org.springframework.batch.core.repository.JobRepository#saveOrUpdate(org.springframework.batch.core.JobExecution)
|
||||
*/
|
||||
public void saveOrUpdate(JobExecution jobExecution) {
|
||||
public void updateJobExecution(JobExecution jobExecution) {
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
||||
@@ -165,7 +165,7 @@ public class JdbcJobRepositoryTests {
|
||||
JobExecution execution = repository.createJobExecution(jobConfiguration, new JobParameters());
|
||||
cacheJobIds(execution);
|
||||
execution.setEndTime(new Timestamp(System.currentTimeMillis()));
|
||||
repository.saveOrUpdate(execution);
|
||||
repository.updateJobExecution(execution);
|
||||
execution.setStatus(BatchStatus.FAILED);
|
||||
|
||||
int before = jdbcTemplate.queryForInt("SELECT COUNT(*) FROM BATCH_JOB_INSTANCE");
|
||||
|
||||
Reference in New Issue
Block a user