Skip to content

Commit 60bbc00

Browse files
jojoldufmbenhassine
authored andcommitted
Add getUniqueJobParametersBuilder() method in JobLauncherTestUtils
Issue #767
1 parent ac485ee commit 60bbc00

File tree

7 files changed

+24
-10
lines changed

7 files changed

+24
-10
lines changed

spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/AbstractIoSampleTests.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.springframework.batch.core.BatchStatus;
2626
import org.springframework.batch.core.JobExecution;
2727
import org.springframework.batch.core.JobParameters;
28+
import org.springframework.batch.core.JobParametersBuilder;
2829
import org.springframework.batch.core.StepExecution;
2930
import org.springframework.batch.item.ExecutionContext;
3031
import org.springframework.batch.item.ItemReader;
@@ -91,6 +92,10 @@ protected JobParameters getUniqueJobParameters() {
9192
return jobLauncherTestUtils.getUniqueJobParameters();
9293
}
9394

95+
protected JobParametersBuilder getUniqueJobParametersBuilder() {
96+
return jobLauncherTestUtils.getUniqueJobParametersBuilder();
97+
}
98+
9499
/**
95100
* Configure the reader to read outputs (if necessary). Required for
96101
* file-to-file jobs jobs, usually no-op for database jobs where inputs are

spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/DelimitedFunctionalTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class DelimitedFunctionalTests extends AbstractIoSampleTests {
3838

3939
@Override
4040
protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
41-
JobParameters jobParameters = new JobParametersBuilder(super.getUniqueJobParameters()).addString("inputFile",
41+
JobParameters jobParameters = super.getUniqueJobParametersBuilder().addString("inputFile",
4242
"file:./build/test-outputs/delimitedOutput.csv").toJobParameters();
4343
StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(jobParameters);
4444
StepSynchronizationManager.close();
@@ -47,7 +47,7 @@ protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
4747

4848
@Override
4949
protected JobParameters getUniqueJobParameters() {
50-
return new JobParametersBuilder(super.getUniqueJobParameters()).addString("inputFile",
50+
return super.getUniqueJobParametersBuilder().addString("inputFile",
5151
"data/iosample/input/delimited.csv").addString("outputFile",
5252
"file:./build/test-outputs/delimitedOutput.csv").toJobParameters();
5353
}

spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/FixedLengthFunctionalTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class FixedLengthFunctionalTests extends AbstractIoSampleTests {
3333

3434
@Override
3535
protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
36-
JobParameters jobParameters = new JobParametersBuilder(super.getUniqueJobParameters()).addString("inputFile",
36+
JobParameters jobParameters = super.getUniqueJobParametersBuilder().addString("inputFile",
3737
"file:./build/test-outputs/fixedLengthOutput.txt").toJobParameters();
3838
StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(jobParameters);
3939
StepSynchronizationManager.close();
@@ -42,7 +42,7 @@ protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
4242

4343
@Override
4444
protected JobParameters getUniqueJobParameters() {
45-
return new JobParametersBuilder(super.getUniqueJobParameters()).addString("inputFile",
45+
return super.getUniqueJobParametersBuilder().addString("inputFile",
4646
"data/iosample/input/fixedLength.txt").addString("outputFile",
4747
"file:./build/test-outputs/fixedLengthOutput.txt").toJobParameters();
4848
}

spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/JdbcPagingFunctionalTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class JdbcPagingFunctionalTests extends AbstractIoSampleTests {
3838

3939
@Override
4040
protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
41-
JobParameters jobParameters = new JobParametersBuilder(super.getUniqueJobParameters()).addDouble("credit", 0.)
41+
JobParameters jobParameters = super.getUniqueJobParametersBuilder().addDouble("credit", 0.)
4242
.toJobParameters();
4343
StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(jobParameters);
4444
StepSynchronizationManager.close();
@@ -47,7 +47,7 @@ protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
4747

4848
@Override
4949
protected JobParameters getUniqueJobParameters() {
50-
return new JobParametersBuilder(super.getUniqueJobParameters()).addDouble("credit", 10000.).toJobParameters();
50+
return super.getUniqueJobParametersBuilder().addDouble("credit", 10000.).toJobParameters();
5151
}
5252

5353
}

spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/MultiResourceFunctionalTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class MultiResourceFunctionalTests extends AbstractIoSampleTests {
3737

3838
@Override
3939
protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
40-
JobParameters jobParameters = new JobParametersBuilder(super.getUniqueJobParameters()).addString(
40+
JobParameters jobParameters = super.getUniqueJobParametersBuilder().addString(
4141
"input.file.path", "file:build/test-outputs/multiResourceOutput.csv.*").toJobParameters();
4242
StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(jobParameters);
4343
StepSynchronizationManager.close();
@@ -46,7 +46,7 @@ protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
4646

4747
@Override
4848
protected JobParameters getUniqueJobParameters() {
49-
JobParametersBuilder builder = new JobParametersBuilder(super.getUniqueJobParameters());
49+
JobParametersBuilder builder = super.getUniqueJobParametersBuilder();
5050
return builder.addString("input.file.path", "classpath:data/iosample/input/delimited*.csv").addString(
5151
"output.file.path", "file:build/test-outputs/multiResourceOutput.csv").toJobParameters();
5252
}

spring-batch-samples/src/test/java/org/springframework/batch/sample/iosample/RepositoryFunctionalTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class RepositoryFunctionalTests extends AbstractIoSampleTests {
3232

3333
@Override
3434
protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
35-
JobParameters jobParameters = new JobParametersBuilder(super.getUniqueJobParameters()).addDouble("credit", 0.)
35+
JobParameters jobParameters = super.getUniqueJobParametersBuilder().addDouble("credit", 0.)
3636
.toJobParameters();
3737
StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(jobParameters);
3838
StepSynchronizationManager.close();
@@ -41,6 +41,6 @@ protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) {
4141

4242
@Override
4343
protected JobParameters getUniqueJobParameters() {
44-
return new JobParametersBuilder(super.getUniqueJobParameters()).addString("credit", "10000").toJobParameters();
44+
return super.getUniqueJobParametersBuilder().addString("credit", "10000").toJobParameters();
4545
}
4646
}

spring-batch-test/src/main/java/org/springframework/batch/test/JobLauncherTestUtils.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.springframework.batch.core.JobExecution;
2727
import org.springframework.batch.core.JobParameter;
2828
import org.springframework.batch.core.JobParameters;
29+
import org.springframework.batch.core.JobParametersBuilder;
2930
import org.springframework.batch.core.Step;
3031
import org.springframework.batch.core.job.AbstractJob;
3132
import org.springframework.batch.core.job.SimpleJob;
@@ -165,6 +166,14 @@ public JobParameters getUniqueJobParameters() {
165166
return new JobParameters(parameters);
166167
}
167168

169+
/**
170+
* @return a new JobParametersBuilder object containing only a parameter for the
171+
* current timestamp, to ensure that the job instance will be unique.
172+
*/
173+
public JobParametersBuilder getUniqueJobParametersBuilder() {
174+
return new JobParametersBuilder(this.getUniqueJobParameters());
175+
}
176+
168177
/**
169178
* Convenient method for subclasses to grab a {@link StepRunner} for running
170179
* steps by name.

0 commit comments

Comments
 (0)