Update to allow restart parameters to override previous parameters in JsrJobOperator and add test case
This commit is contained in:
committed by
Michael Minella
parent
a21df75ce9
commit
8580756857
@@ -493,10 +493,6 @@ public class JsrJobOperator implements JobOperator {
|
||||
protected Properties getJobRestartProperties(Properties params, org.springframework.batch.core.JobExecution previousJobExecution) {
|
||||
Properties jobRestartProperties = new Properties();
|
||||
|
||||
if (params != null && !params.isEmpty()) {
|
||||
jobRestartProperties.putAll(params);
|
||||
}
|
||||
|
||||
if (previousJobExecution != null) {
|
||||
JobParameters previousJobParameters = previousJobExecution.getJobParameters();
|
||||
|
||||
@@ -505,6 +501,10 @@ public class JsrJobOperator implements JobOperator {
|
||||
}
|
||||
}
|
||||
|
||||
if (params != null && !params.isEmpty()) {
|
||||
jobRestartProperties.putAll(params);
|
||||
}
|
||||
|
||||
return jobRestartProperties;
|
||||
}
|
||||
|
||||
|
||||
@@ -411,4 +411,26 @@ public class JsrJobOperatorTests {
|
||||
assertTrue(properties.getProperty("prevKey1").equals("prevVal1"));
|
||||
assertTrue(properties.getProperty("userKey1").equals("userVal1"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNewJobParametersOverridePreviousRestartParameters() {
|
||||
JsrJobOperator jobOperator = (JsrJobOperator) jsrJobOperator;
|
||||
|
||||
JobExecution jobExecution = new JobExecution(1L,
|
||||
new JobParametersBuilder()
|
||||
.addString("prevKey1", "prevVal1")
|
||||
.addString("overrideTest", "jobExecution")
|
||||
.toJobParameters());
|
||||
|
||||
Properties userProperties = new Properties();
|
||||
userProperties.put("userKey1", "userVal1");
|
||||
userProperties.put("overrideTest", "userProperties");
|
||||
|
||||
Properties properties = jobOperator.getJobRestartProperties(userProperties, jobExecution);
|
||||
|
||||
assertTrue(properties.size() == 3);
|
||||
assertTrue(properties.getProperty("prevKey1").equals("prevVal1"));
|
||||
assertTrue(properties.getProperty("userKey1").equals("userVal1"));
|
||||
assertTrue(properties.getProperty("overrideTest").equals("userProperties"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user