diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/JobInstance.java b/spring-batch-core/src/main/java/org/springframework/batch/core/JobInstance.java index 1418562c8..beff37a1f 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/JobInstance.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/JobInstance.java @@ -26,8 +26,7 @@ import org.springframework.util.Assert; * * Trying to execute an existing JobIntance that has already completed * successfully will result in error. Error will be raised also for an attempt - * to restart a failed JobInstance if the Job ({@link JobInstance#getJob()}) - * is not restartable. + * to restart a failed JobInstance if the Job is not restartable. * * @see Job * @see JobParameters @@ -42,13 +41,14 @@ public class JobInstance extends Entity { private JobParameters jobParameters; - private Job job; + private String jobName; - public JobInstance(Long id, JobParameters jobParameters, Job job) { + public JobInstance(Long id, JobParameters jobParameters, String jobName) { super(id); - Assert.notNull(job); + Assert.hasLength(jobName); + // Assert.hasLength(job.getName()); this.jobParameters = jobParameters == null ? new JobParameters() : jobParameters; - this.job = job; + this.jobName = jobName; } /** @@ -62,15 +62,11 @@ public class JobInstance extends Entity { * @return the job name. (Equivalent to getJob().getName()) */ public String getJobName() { - return job == null ? null : job.getName(); + return jobName; } public String toString() { - return super.toString() + ", JobParameters=[" + jobParameters + "]" + ", Job=[" + job + "]"; - } - - public Job getJob() { - return job; + return super.toString() + ", JobParameters=[" + jobParameters + "]" + ", Job=[" + jobName + "]"; } } diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDao.java index d9614360d..9e816f968 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDao.java @@ -61,7 +61,7 @@ public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements Long jobId = new Long(jobIncrementer.nextLongValue()); - JobInstance jobInstance = new JobInstance(jobId, jobParameters, job); + JobInstance jobInstance = new JobInstance(jobId, jobParameters, job.getName()); jobInstance.incrementVersion(); Object[] parameters = new Object[] { jobId, job.getName(), createJobKey(jobParameters), jobInstance.getVersion() }; @@ -173,7 +173,7 @@ public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements RowMapper rowMapper = new RowMapper() { public Object mapRow(ResultSet rs, int rowNum) throws SQLException { - JobInstance jobInstance = new JobInstance(new Long(rs.getLong(1)), jobParameters, job); + JobInstance jobInstance = new JobInstance(new Long(rs.getLong(1)), jobParameters, job.getName()); return jobInstance; } }; diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/MapJobInstanceDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/MapJobInstanceDao.java index 8cf3dc846..7eb22d917 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/MapJobInstanceDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/MapJobInstanceDao.java @@ -26,7 +26,7 @@ public class MapJobInstanceDao implements JobInstanceDao { Assert.state(getJobInstance(job, jobParameters) == null, "JobInstance must not already exist"); - JobInstance jobInstance = new JobInstance(new Long(currentId++), jobParameters, job); + JobInstance jobInstance = new JobInstance(new Long(currentId++), jobParameters, job.getName()); jobInstance.incrementVersion(); jobInstances.add(jobInstance); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/JobExecutionTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/JobExecutionTests.java index 07af35e22..35699de97 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/JobExecutionTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/JobExecutionTests.java @@ -19,7 +19,6 @@ import java.util.Date; import junit.framework.TestCase; -import org.springframework.batch.core.job.JobSupport; import org.springframework.batch.core.step.StepSupport; import org.springframework.batch.repeat.ExitStatus; @@ -29,7 +28,7 @@ import org.springframework.batch.repeat.ExitStatus; */ public class JobExecutionTests extends TestCase { - private JobExecution execution = new JobExecution(new JobInstance(new Long(11), new JobParameters(), new JobSupport("foo")), new Long(12)); + private JobExecution execution = new JobExecution(new JobInstance(new Long(11), new JobParameters(), "foo"), new Long(12)); /** * Test method for @@ -96,7 +95,7 @@ public class JobExecutionTests extends TestCase { */ public void testGetJobId() { assertEquals(11, execution.getJobId().longValue()); - execution = new JobExecution(new JobInstance(new Long(23), new JobParameters(), new JobSupport("testJob")), null); + execution = new JobExecution(new JobInstance(new Long(23), new JobParameters(), "testJob"), null); assertEquals(23, execution.getJobId().longValue()); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/JobInstanceTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/JobInstanceTests.java index 17fac5753..444f6f69c 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/JobInstanceTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/JobInstanceTests.java @@ -17,26 +17,24 @@ package org.springframework.batch.core; import junit.framework.TestCase; -import org.springframework.batch.core.job.JobSupport; - /** * @author dsyer * */ public class JobInstanceTests extends TestCase { - private JobInstance instance = new JobInstance(new Long(11), new JobParameters(), new JobSupport("job")); + private JobInstance instance = new JobInstance(new Long(11), new JobParameters(), "job"); /** * Test method for {@link org.springframework.batch.core.JobInstance#getJobName()}. */ public void testGetName() { - instance = new JobInstance(new Long(1), new JobParameters(), new JobSupport("foo")); + instance = new JobInstance(new Long(1), new JobParameters(), "foo"); assertEquals("foo", instance.getJobName()); } public void testGetJob(){ - assertEquals("job", instance.getJob().getName()); + assertEquals("job", instance.getJobName()); } public void testCreateWithNulls(){ @@ -47,7 +45,7 @@ public class JobInstanceTests extends TestCase { catch (IllegalArgumentException e) { // expected } - instance = new JobInstance(null, null, new JobSupport("testJob")); + instance = new JobInstance(null, null, "testJob"); assertEquals("testJob", instance.getJobName()); assertEquals(0, instance.getJobParameters().getParameters().size()); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/StepExecutionTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/StepExecutionTests.java index c39c8fd0c..8ac169b53 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/StepExecutionTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/StepExecutionTests.java @@ -21,7 +21,6 @@ import java.util.Set; import junit.framework.TestCase; -import org.springframework.batch.core.job.JobSupport; import org.springframework.batch.core.step.StepSupport; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.repeat.ExitStatus; @@ -224,7 +223,7 @@ public class StepExecutionTests extends TestCase { } private StepExecution newStepExecution(Step step, Long long2) { - JobInstance job = new JobInstance(new Long(3), new JobParameters(), new JobSupport("testJob")); + JobInstance job = new JobInstance(new Long(3), new JobParameters(), "testJob"); StepExecution execution = new StepExecution(step.getName(), new JobExecution(job, long2), new Long(4)); return execution; } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/job/SimpleJobTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/job/SimpleJobTests.java index 88f1ebe3d..a781444aa 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/job/SimpleJobTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/job/SimpleJobTests.java @@ -349,7 +349,7 @@ public class SimpleJobTests extends TestCase { * Check JobRepository to ensure status is being saved. */ private void checkRepository(BatchStatus status, ExitStatus exitStatus) { - assertEquals(jobInstance, jobInstanceDao.getJobInstance(jobInstance.getJob(), jobParameters)); + assertEquals(jobInstance, jobInstanceDao.getJobInstance(job, jobParameters)); // because map dao stores in memory, it can be checked directly JobExecution jobExecution = (JobExecution) jobExecutionDao.findJobExecutions(jobInstance).get(0); assertEquals(jobInstance.getId(), jobExecution.getJobId()); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/listener/CompositeJobExecutionListenerTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/listener/CompositeJobExecutionListenerTests.java index 9ed4de4f7..5f3596388 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/listener/CompositeJobExecutionListenerTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/listener/CompositeJobExecutionListenerTests.java @@ -21,11 +21,8 @@ import java.util.List; import junit.framework.TestCase; import org.springframework.batch.core.JobExecution; -import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobExecutionListener; -import org.springframework.batch.core.job.JobSupport; -import org.springframework.batch.core.listener.CompositeExecutionJobListener; -import org.springframework.batch.core.listener.JobExecutionListenerSupport; +import org.springframework.batch.core.JobInstance; /** * @author Dave Syer @@ -79,7 +76,7 @@ public class CompositeJobExecutionListenerTests extends TestCase { list.add("foo"); } }); - listener.beforeJob(new JobExecution(new JobInstance(new Long(11L), null, new JobSupport()))); + listener.beforeJob(new JobExecution(new JobInstance(new Long(11L), null, "testOpenJob"))); assertEquals(1, list.size()); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobExecutionDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobExecutionDaoTests.java index b4bab6e23..84645be9d 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobExecutionDaoTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobExecutionDaoTests.java @@ -7,14 +7,13 @@ import org.springframework.batch.core.BatchStatus; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobParameters; -import org.springframework.batch.core.job.JobSupport; import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests; public abstract class AbstractJobExecutionDaoTests extends AbstractTransactionalDataSourceSpringContextTests { JobExecutionDao dao; - JobInstance jobInstance = new JobInstance(new Long(1), new JobParameters(), new JobSupport("execTestJob")); + JobInstance jobInstance = new JobInstance(new Long(1), new JobParameters(), "execTestJob"); JobExecution execution = new JobExecution(jobInstance); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobInstanceDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobInstanceDaoTests.java index abacfc4ba..59282d607 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobInstanceDaoTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/AbstractJobInstanceDaoTests.java @@ -34,13 +34,13 @@ public abstract class AbstractJobInstanceDaoTests extends AbstractTransactionalD JobInstance fooInstance = dao.createJobInstance(fooJob, fooParams); assertNotNull(fooInstance.getId()); - assertEquals(fooJob, fooInstance.getJob()); + assertEquals(fooJob.getName(), fooInstance.getJobName()); assertEquals(fooParams, fooInstance.getJobParameters()); JobInstance retrievedInstance = dao.getJobInstance(fooJob, fooParams); JobParameters retrievedParams = retrievedInstance.getJobParameters(); assertEquals(fooInstance, retrievedInstance); - assertEquals(fooJob, retrievedInstance.getJob()); + assertEquals(fooJob.getName(), retrievedInstance.getJobName()); assertEquals(fooParams, retrievedParams); assertEquals(Long.MAX_VALUE, retrievedParams.getLong("longKey").longValue()); @@ -67,7 +67,7 @@ public abstract class AbstractJobInstanceDaoTests extends AbstractTransactionalD public void testCreationAddsVersion() { - JobInstance jobInstance = new JobInstance(new Long(1), new JobParameters(), new JobSupport("testVersionAndId")); + JobInstance jobInstance = new JobInstance(new Long(1), new JobParameters(), "testVersionAndId"); assertNull(jobInstance.getVersion()); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobDaoQueryTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobDaoQueryTests.java index 45f06160b..163346de2 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobDaoQueryTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobDaoQueryTests.java @@ -23,8 +23,6 @@ import junit.framework.TestCase; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobParameters; -import org.springframework.batch.core.job.JobSupport; -import org.springframework.batch.core.repository.dao.JdbcJobExecutionDao; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer; @@ -71,9 +69,8 @@ public class JdbcJobDaoQueryTests extends TestCase { return 1; } }); - JobExecution jobExecution = new JobExecution(new JobInstance(new Long(11), new JobParameters(), new JobSupport( - "testJob"))); - + JobExecution jobExecution = new JobExecution(new JobInstance(new Long(11), new JobParameters(), "testJob")); + jobExecutionDao.saveJobExecution(jobExecution); assertEquals(1, list.size()); String query = (String) list.get(0); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryIntegrationTests.java index 8a8359018..45371d76e 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryIntegrationTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryIntegrationTests.java @@ -70,7 +70,7 @@ public class SimpleJobRepositoryIntegrationTests extends AbstractTransactionalDa JobExecution firstExecution = jobRepository.createJobExecution(job, jobParams); firstExecution.setStartTime(new Date()); - assertEquals(job, firstExecution.getJobInstance().getJob()); + assertEquals(job.getName(), firstExecution.getJobInstance().getJobName()); jobRepository.saveOrUpdate(firstExecution); firstExecution.setEndTime(new Date()); @@ -78,7 +78,7 @@ public class SimpleJobRepositoryIntegrationTests extends AbstractTransactionalDa JobExecution secondExecution = jobRepository.createJobExecution(job, jobParams); assertEquals(firstExecution.getJobInstance(), secondExecution.getJobInstance()); - assertEquals(job, secondExecution.getJobInstance().getJob()); + assertEquals(job.getName(), secondExecution.getJobInstance().getJobName()); } /** @@ -94,7 +94,7 @@ public class SimpleJobRepositoryIntegrationTests extends AbstractTransactionalDa JobExecution secondExecution = jobRepository.createJobExecution(job, jobParameters); assertEquals(firstExecution.getJobInstance(), secondExecution.getJobInstance()); - assertEquals(job, secondExecution.getJobInstance().getJob()); + assertEquals(job.getName(), secondExecution.getJobInstance().getJobName()); } /** diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryTests.java index 3d4d960f4..2433cbf28 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryTests.java @@ -46,7 +46,7 @@ public class SimpleJobRepositoryTests extends TestCase { SimpleJobRepository jobRepository; - JobSupport jobConfiguration; + JobSupport job; JobParameters jobParameters; @@ -85,9 +85,9 @@ public class SimpleJobRepositoryTests extends TestCase { jobParameters = new JobParametersBuilder().toJobParameters(); - jobConfiguration = new JobSupport(); - jobConfiguration.setBeanName("RepositoryTest"); - jobConfiguration.setRestartable(true); + job = new JobSupport(); + job.setBeanName("RepositoryTest"); + job.setRestartable(true); stepConfiguration1 = new StepSupport("TestStep1"); @@ -97,9 +97,9 @@ public class SimpleJobRepositoryTests extends TestCase { stepConfigurations.add(stepConfiguration1); stepConfigurations.add(stepConfiguration2); - jobConfiguration.setSteps(stepConfigurations); + job.setSteps(stepConfigurations); - databaseJob = new JobInstance(new Long(1), jobParameters, jobConfiguration); + databaseJob = new JobInstance(new Long(1), jobParameters, job.getName()); databaseStep1 = "dbStep1"; databaseStep2 = "dbStep2"; @@ -126,7 +126,7 @@ public class SimpleJobRepositoryTests extends TestCase { public void testSaveOrUpdateValidJobExecution() throws Exception { - JobExecution jobExecution = new JobExecution(new JobInstance(new Long(1), jobParameters, jobConfiguration)); + JobExecution jobExecution = new JobExecution(new JobInstance(new Long(1), jobParameters, job.getName())); // new execution - call save on job dao jobExecutionDao.saveJobExecution(jobExecution); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/resource/JdbcCursorItemReaderPreparedStatementIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/resource/JdbcCursorItemReaderPreparedStatementIntegrationTests.java index 4dbb1e084..318a62e19 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/resource/JdbcCursorItemReaderPreparedStatementIntegrationTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/resource/JdbcCursorItemReaderPreparedStatementIntegrationTests.java @@ -8,7 +8,6 @@ import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.JobParametersBuilder; import org.springframework.batch.core.StepExecution; -import org.springframework.batch.core.job.SimpleJob; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.item.database.JdbcCursorItemReader; import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests; @@ -34,7 +33,7 @@ public class JdbcCursorItemReaderPreparedStatementIntegrationTests extends itemReader.setSaveState(true); StepExecutionPreparedStatementSetter pss = new StepExecutionPreparedStatementSetter(); JobParameters jobParameters = new JobParametersBuilder().addLong("begin.id", new Long(1)).addLong("end.id", new Long(4)).toJobParameters(); - JobInstance jobInstance = new JobInstance(new Long(1), jobParameters, new SimpleJob()); + JobInstance jobInstance = new JobInstance(new Long(1), jobParameters, "simpleJob"); JobExecution jobExecution = new JobExecution(jobInstance, new Long(2)); StepExecution stepExecution = new StepExecution("taskletStep", jobExecution, new Long(3) ); pss.beforeStep(stepExecution); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/resource/StepExecutionPreparedStatementSetterTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/resource/StepExecutionPreparedStatementSetterTests.java index a7939b8c2..c522dd178 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/resource/StepExecutionPreparedStatementSetterTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/resource/StepExecutionPreparedStatementSetterTests.java @@ -25,7 +25,6 @@ import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.JobParametersBuilder; import org.springframework.batch.core.StepExecution; -import org.springframework.batch.core.job.SimpleJob; import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests; @@ -47,7 +46,7 @@ public class StepExecutionPreparedStatementSetterTests extends AbstractTransacti pss = new StepExecutionPreparedStatementSetter(); JobParameters jobParameters = new JobParametersBuilder().addLong("begin.id", new Long(1)).addLong("end.id", new Long(4)).toJobParameters(); - JobInstance jobInstance = new JobInstance(new Long(1), jobParameters, new SimpleJob()); + JobInstance jobInstance = new JobInstance(new Long(1), jobParameters, "simpleJob"); JobExecution jobExecution = new JobExecution(jobInstance, new Long(2)); stepExecution = new StepExecution("taskletStep", jobExecution, new Long(3) ); pss.beforeStep(stepExecution); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/resource/StepExecutionResourceProxyTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/resource/StepExecutionResourceProxyTests.java index fff9988df..88effa843 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/resource/StepExecutionResourceProxyTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/resource/StepExecutionResourceProxyTests.java @@ -27,8 +27,6 @@ import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.JobParametersBuilder; import org.springframework.batch.core.Step; import org.springframework.batch.core.StepExecution; -import org.springframework.batch.core.job.JobSupport; -import org.springframework.batch.core.resource.StepExecutionResourceProxy; import org.springframework.batch.core.step.StepSupport; import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.DefaultResourceLoader; @@ -63,7 +61,7 @@ public class StepExecutionResourceProxyTests extends TestCase { protected void setUp() throws Exception { - jobInstance = new JobInstance(new Long(0), new JobParameters(), new JobSupport("testJob")); + jobInstance = new JobInstance(new Long(0), new JobParameters(), "testJob"); JobExecution jobExecution = new JobExecution(jobInstance); Step step = new StepSupport("bar"); stepExecution = jobExecution.createStepExecution(step); @@ -98,7 +96,7 @@ public class StepExecutionResourceProxyTests extends TestCase { public void testNonStandardFilePatternWithJobParameters() throws Exception { resource.setFilePattern("foo/data/%JOB_NAME%/%job.key%-foo"); jobInstance = new JobInstance(new Long(0), new JobParametersBuilder().addString("job.key", "spam") - .toJobParameters(), new JobSupport("testJob")); + .toJobParameters(), "testJob"); JobExecution jobExecution = new JobExecution(jobInstance); Step step = new StepSupport("bar"); resource.beforeStep(jobExecution.createStepExecution(step)); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/AbstractStepTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/AbstractStepTests.java index 6f74ef783..dccfcc415 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/AbstractStepTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/AbstractStepTests.java @@ -10,7 +10,6 @@ import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.StepExecution; import org.springframework.batch.core.StepExecutionListener; -import org.springframework.batch.core.job.JobSupport; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.repeat.ExitStatus; @@ -31,7 +30,7 @@ public class AbstractStepTests extends TestCase { final List events = new ArrayList(); final StepExecution execution = new StepExecution(tested.getName(), new JobExecution(new JobInstance(new Long(1), - new JobParameters(), new JobSupport()))); + new JobParameters(), "jobName"))); /** * Fills the events list when abstract methods are called. diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ItemOrientedStepTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ItemOrientedStepTests.java index ae7589e75..3f1d12f43 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ItemOrientedStepTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ItemOrientedStepTests.java @@ -23,6 +23,7 @@ import java.util.List; import junit.framework.TestCase; import org.springframework.batch.core.BatchStatus; +import org.springframework.batch.core.Job; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobInterruptedException; @@ -74,6 +75,8 @@ public class ItemOrientedStepTests extends TestCase { private ItemOrientedStep itemOrientedStep; + private Job job; + private JobInstance jobInstance; private ResourcelessTransactionManager transactionManager; @@ -108,7 +111,8 @@ public class ItemOrientedStepTests extends TestCase { template.setCompletionPolicy(new SimpleCompletionPolicy(1)); itemOrientedStep.setChunkOperations(template); - jobInstance = new JobInstance(new Long(0), new JobParameters(), new JobSupport("FOO")); + job = new JobSupport("FOO"); + jobInstance = new JobInstance(new Long(0), new JobParameters(), job.getName()); itemOrientedStep.setTransactionManager(transactionManager); @@ -149,7 +153,7 @@ public class ItemOrientedStepTests extends TestCase { new MapStepExecutionDao()); itemOrientedStep.setJobRepository(repository); - JobExecution jobExecution = repository.createJobExecution(jobInstance.getJob(), jobInstance.getJobParameters()); + JobExecution jobExecution = repository.createJobExecution(job, jobInstance.getJobParameters()); StepExecution stepExecution = new StepExecution(itemOrientedStep.getName(), jobExecution); itemOrientedStep.execute(stepExecution); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ItemSkipPolicyItemHandlerTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ItemSkipPolicyItemHandlerTests.java index c64fc35c9..aed881876 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ItemSkipPolicyItemHandlerTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ItemSkipPolicyItemHandlerTests.java @@ -27,7 +27,6 @@ import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.StepContribution; import org.springframework.batch.core.UnexpectedJobExecutionException; -import org.springframework.batch.core.job.JobSupport; import org.springframework.batch.core.step.StepSupport; import org.springframework.batch.core.step.skip.AlwaysSkipItemSkipPolicy; import org.springframework.batch.item.ClearFailedException; @@ -53,7 +52,7 @@ public class ItemSkipPolicyItemHandlerTests extends TestCase { private ItemSkipPolicyItemHandler handler = new ItemSkipPolicyItemHandler(new SkipReaderStub(), writer); private StepContribution contribution = new StepContribution(new JobExecution(new JobInstance(new Long(11), - new JobParameters(), new JobSupport())).createStepExecution(new StepSupport("foo"))); + new JobParameters(), "jobName")).createStepExecution(new StepSupport("foo"))); protected void tearDown() throws Exception { // remove the resource if it exists diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/RepeatOperationsStepFactoryBeanTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/RepeatOperationsStepFactoryBeanTests.java index 79c817bbf..ae0d4df5c 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/RepeatOperationsStepFactoryBeanTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/RepeatOperationsStepFactoryBeanTests.java @@ -25,10 +25,8 @@ import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.Step; import org.springframework.batch.core.StepExecution; -import org.springframework.batch.core.job.JobSupport; import org.springframework.batch.core.launch.EmptyItemWriter; import org.springframework.batch.core.step.JobRepositorySupport; -import org.springframework.batch.core.step.item.RepeatOperationsStepFactoryBean; import org.springframework.batch.item.support.ListItemReader; import org.springframework.batch.repeat.ExitStatus; import org.springframework.batch.repeat.RepeatCallback; @@ -45,9 +43,8 @@ public class RepeatOperationsStepFactoryBeanTests extends TestCase { private List list; - private JobExecution jobExecution = new JobExecution(new JobInstance(new Long(0L), new JobParameters(), - new JobSupport("job"))); - + private JobExecution jobExecution = new JobExecution(new JobInstance(new Long(0L), new JobParameters(), "job")); + protected void setUp() throws Exception { factory.setBeanName("RepeatOperationsStep"); factory.setItemReader(new ListItemReader(new ArrayList())); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SimpleStepFactoryBeanTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SimpleStepFactoryBeanTests.java index dba18094b..2971f97a8 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SimpleStepFactoryBeanTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SimpleStepFactoryBeanTests.java @@ -65,7 +65,11 @@ public class SimpleStepFactoryBeanTests extends TestCase { private ItemReader reader; - private SimpleJob job = new SimpleJob();; + private SimpleJob job = new SimpleJob() { + { + setBeanName("simpleJob"); + } + }; protected void setUp() throws Exception { super.setUp(); @@ -188,16 +192,17 @@ public class SimpleStepFactoryBeanTests extends TestCase { } assertEquals(BatchStatus.FAILED, jobExecution.getStatus()); } - + public void testChunkListeners() throws Exception { String[] items = new String[] { "1", "2", "3", "4", "5", "6", "7" }; int commitInterval = 3; - + SimpleStepFactoryBean factory = getStepFactory(items); class CountingChunkListener implements ChunkListener { int beforeCount = 0; + int afterCount = 0; - + public void afterChunk() { afterCount++; } @@ -207,9 +212,9 @@ public class SimpleStepFactoryBeanTests extends TestCase { } } CountingChunkListener chunkListener = new CountingChunkListener(); - factory.setListeners(new StepListener[]{ chunkListener }); + factory.setListeners(new StepListener[] { chunkListener }); factory.setCommitInterval(commitInterval); - + AbstractStep step = (AbstractStep) factory.getObject(); job.setSteps(Collections.singletonList(step)); @@ -220,21 +225,21 @@ public class SimpleStepFactoryBeanTests extends TestCase { assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); assertNull(reader.read()); assertEquals(items.length, written.size()); - - int expectedListenerCallCount = (items.length / commitInterval ) + 1; + + int expectedListenerCallCount = (items.length / commitInterval) + 1; assertEquals(expectedListenerCallCount, chunkListener.afterCount); assertEquals(expectedListenerCallCount, chunkListener.beforeCount); } - + /** * Commit interval specified is not allowed to be zero or negative. - * @throws Exception + * @throws Exception */ public void testCommitIntervalMustBeGreaterThanZero() throws Exception { SimpleStepFactoryBean factory = getStepFactory("foo"); // nothing wrong here factory.getObject(); - + // but exception excpected after setting commit interval to value <= 0 factory.setCommitInterval(0); try { @@ -244,7 +249,7 @@ public class SimpleStepFactoryBeanTests extends TestCase { catch (IllegalArgumentException e) { // expected } - + factory.setCommitInterval(-1); try { factory.getObject(); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SkipLimitStepFactoryBeanTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SkipLimitStepFactoryBeanTests.java index 41be985ab..fe7079b4e 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SkipLimitStepFactoryBeanTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SkipLimitStepFactoryBeanTests.java @@ -12,7 +12,6 @@ import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.StepExecution; -import org.springframework.batch.core.job.JobSupport; import org.springframework.batch.core.step.AbstractStep; import org.springframework.batch.core.step.JobRepositorySupport; import org.springframework.batch.core.step.skip.SkipLimitExceededException; @@ -61,7 +60,7 @@ public class SkipLimitStepFactoryBeanTests extends TestCase { factory.setSkippableExceptionClasses(skippableExceptions); factory.setSkipLimit(SKIP_LIMIT); - JobInstance jobInstance = new JobInstance(new Long(1), new JobParameters(), new JobSupport("skipJob")); + JobInstance jobInstance = new JobInstance(new Long(1), new JobParameters(), "skipJob"); jobExecution = new JobExecution(jobInstance); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/tasklet/TaskletStepTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/tasklet/TaskletStepTests.java index cf3070dc3..6d78020a7 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/tasklet/TaskletStepTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/tasklet/TaskletStepTests.java @@ -13,7 +13,6 @@ import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.StepExecution; import org.springframework.batch.core.StepExecutionListener; import org.springframework.batch.core.UnexpectedJobExecutionException; -import org.springframework.batch.core.job.JobSupport; import org.springframework.batch.core.listener.StepExecutionListenerSupport; import org.springframework.batch.core.step.JobRepositorySupport; import org.springframework.batch.repeat.ExitStatus; @@ -26,7 +25,7 @@ public class TaskletStepTests extends TestCase { protected void setUp() throws Exception { stepExecution = new StepExecution("stepName", new JobExecution(new JobInstance(new Long(0L), - new JobParameters(), new JobSupport("testJob")), new Long(12))); + new JobParameters(), "testJob"), new Long(12))); } public void testTaskletMandatory() throws Exception { diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/reader/StagingItemReaderTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/reader/StagingItemReaderTests.java index 1a7b4037b..c983e007b 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/reader/StagingItemReaderTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/reader/StagingItemReaderTests.java @@ -6,7 +6,6 @@ import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.StepExecution; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.sample.item.writer.StagingItemWriter; -import org.springframework.batch.sample.tasklet.JobSupport; import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests; import org.springframework.util.ClassUtils; @@ -37,7 +36,7 @@ public class StagingItemReaderTests extends AbstractTransactionalDataSourceSprin */ protected void onSetUpBeforeTransaction() throws Exception { StepExecution stepExecution = new StepExecution("stepName", new JobExecution(new JobInstance(jobId, - new JobParameters(), new JobSupport("testJob")))); + new JobParameters(), "testJob"))); reader.beforeStep(stepExecution); writer.beforeStep(stepExecution); } diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/writer/StagingItemWriterTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/writer/StagingItemWriterTests.java index 3d87c8f36..c5977f77d 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/writer/StagingItemWriterTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/writer/StagingItemWriterTests.java @@ -19,7 +19,6 @@ import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.StepExecution; -import org.springframework.batch.sample.tasklet.JobSupport; import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests; import org.springframework.util.ClassUtils; @@ -42,7 +41,7 @@ public class StagingItemWriterTests extends AbstractTransactionalDataSourceSprin */ protected void onSetUpBeforeTransaction() throws Exception { StepExecution stepExecution = new StepExecution("stepName", new JobExecution(new JobInstance(new Long(12L), - new JobParameters(), new JobSupport("testJob")))); + new JobParameters(), "testJob"))); writer.beforeStep(stepExecution); }