diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobExecution.java b/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobExecution.java index 784862727..e3ed8f7c6 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobExecution.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobExecution.java @@ -124,6 +124,10 @@ public class JobExecution extends Entity { public JobInstance getJobInstance() { return jobInstance; } + + public void setJobInstance(JobInstance jobInstance) { + this.jobInstance = jobInstance; + } /** * Accessor for the step executions. diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobInstance.java b/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobInstance.java index e150f98f9..d26116f63 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobInstance.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobInstance.java @@ -37,10 +37,10 @@ public class JobInstance extends Entity { private Job job; - private BatchStatus status; - private int jobExecutionCount; + private JobExecution lastExecution; + public JobInstance(Long id, JobParameters jobParameters) { super(id); this.jobParameters = jobParameters==null ? new JobParameters() : jobParameters; @@ -51,12 +51,12 @@ public class JobInstance extends Entity { this.job = job; } - public BatchStatus getStatus() { - return status; + public void setLastExecution(JobExecution lastExecution) { + this.lastExecution = lastExecution; } - - public void setStatus(BatchStatus status) { - this.status = status; + + public JobExecution getLastExecution() { + return lastExecution; } public List getStepInstances() { @@ -94,7 +94,9 @@ public class JobInstance extends Entity { } public JobExecution createJobExecution() { - return new JobExecution(this); + JobExecution newExecution = new JobExecution(this); + this.setLastExecution(newExecution); + return newExecution; } public String toString() { diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/domain/StepInstance.java b/spring-batch-core/src/main/java/org/springframework/batch/core/domain/StepInstance.java index 35b5932bd..22633fd95 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/domain/StepInstance.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/domain/StepInstance.java @@ -46,10 +46,8 @@ import org.springframework.batch.item.ExecutionAttributes; public class StepInstance extends Entity { private JobInstance jobInstance; - - private BatchStatus status; - - private ExecutionAttributes executionAttributes = new ExecutionAttributes(); + + private StepExecution lastExecution; private int stepExecutionCount = 0; @@ -84,22 +82,6 @@ public class StepInstance extends Entity { this.stepExecutionCount = stepExecutionCount; } - public ExecutionAttributes getExecutionAttributes() { - return executionAttributes; - } - - public void setExecutionAttributes(ExecutionAttributes executionAttributes) { - this.executionAttributes = executionAttributes; - } - - public BatchStatus getStatus() { - return status; - } - - public void setStatus(BatchStatus status) { - this.status = status; - } - public JobInstance getJobInstance() { return jobInstance; } @@ -111,10 +93,18 @@ public class StepInstance extends Entity { public Long getJobId() { return jobInstance==null ? null : jobInstance.getId(); } + + public void setLastExecution(StepExecution lastExecution) { + this.lastExecution = lastExecution; + } + + public StepExecution getLastExecution() { + return lastExecution; + } // @Override public String toString() { - return super.toString() + ", name=" + name + ", status=" + getStatus() + " in " + jobInstance; + return super.toString() + ", name=" + name + " in " + jobInstance; } } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/domain/JobInstanceTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/domain/JobInstanceTests.java index 9d23833b4..d7721aae3 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/domain/JobInstanceTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/domain/JobInstanceTests.java @@ -27,13 +27,11 @@ public class JobInstanceTests extends TestCase { private JobInstance instance = new JobInstance(new Long(11), new JobParameters(), new JobSupport("job")); - /** - * Test method for {@link org.springframework.batch.core.domain.JobInstance#getStatus()}. - */ - public void testGetStatus() { - assertNull(instance.getStatus()); - instance.setStatus(BatchStatus.COMPLETED); - assertNotNull(instance.getStatus()); + public void testLastExecution(){ + JobExecution lastExecution = new JobExecution(); + assertNull(instance.getLastExecution()); + instance.setLastExecution(lastExecution); + assertEquals(lastExecution, instance.getLastExecution()); } /** @@ -77,7 +75,9 @@ public class JobInstanceTests extends TestCase { } public void testCreateJobExecution(){ - assertNotNull(instance.createJobExecution()); + JobExecution execution = instance.createJobExecution(); + assertNotNull(execution); + assertEquals(execution, instance.getLastExecution()); } public void testCreateWithNulls(){ diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/domain/StepInstanceTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/domain/StepInstanceTests.java index bccaed383..92e4f5d08 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/domain/StepInstanceTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/domain/StepInstanceTests.java @@ -43,25 +43,11 @@ public class StepInstanceTests extends TestCase { assertEquals(23, instance.getStepExecutionCount()); } - /** - * Test method for {@link org.springframework.batch.core.domain.StepInstance#getExecutionAttributes()}. - */ - public void testGetExecutionAttributes() { - assertNotNull(instance.getExecutionAttributes()); - assertTrue(instance.getExecutionAttributes().getProperties().isEmpty()); - ExecutionAttributes executionAttributes = new ExecutionAttributes(); - executionAttributes.putString("foo", "bar"); - instance.setExecutionAttributes(executionAttributes); - assertEquals("bar", instance.getExecutionAttributes().getProperties().getProperty("foo")); - } - - /** - * Test method for {@link org.springframework.batch.core.domain.StepInstance#getStatus()}. - */ - public void testGetStatus() { - assertEquals(null, instance.getStatus()); - instance.setStatus(BatchStatus.COMPLETED); - assertEquals(BatchStatus.COMPLETED, instance.getStatus()); + public void testLastExecution(){ + StepExecution lastExecution = new StepExecution(); + assertNull(instance.getLastExecution()); + instance.setLastExecution(lastExecution); + assertEquals(lastExecution, instance.getLastExecution()); } /** @@ -109,7 +95,6 @@ public class StepInstanceTests extends TestCase { public void testToString() throws Exception { assertTrue("Should contain name", instance.toString().indexOf("name=")>=0); - assertTrue("Should contain status", instance.toString().indexOf("status=")>=0); } }