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 14fcd8d62..21fdc066b 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 @@ -19,8 +19,6 @@ package org.springframework.batch.core.domain; import java.util.ArrayList; import java.util.List; -import org.springframework.util.Assert; - /** * Batch domain object representing a job instance. A job instance is defined as @@ -46,8 +44,7 @@ public class JobInstance extends Entity { public JobInstance(Long id, JobParameters jobParameters) { super(id); - Assert.notNull(jobParameters, "JobParameters must not be null."); - this.jobParameters = jobParameters; + this.jobParameters = jobParameters==null ? new JobParameters() : jobParameters; } public JobInstance(Long id, JobParameters jobParameters, Job job){ @@ -94,7 +91,7 @@ public class JobInstance extends Entity { * @return the job name. (Equivalent to getJob().getName()) */ public String getJobName() { - return getJob().getName(); + return job==null ? null : job.getName(); } public JobExecution createJobExecution() { 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 84fb475e4..de7fd6ce0 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 @@ -71,7 +71,12 @@ public class JobInstanceTests extends TestCase { } public void testGetJob(){ - assertEquals("job", instance.getJob().getName()); } + + public void testCreateWithNulls(){ + instance = new JobInstance(null, null); + assertEquals(null, instance.getJobName()); + assertEquals(0, instance.getJobParameters().getParameters().size()); + } }