Skip to content

Commit dbc8292

Browse files
committed
BATCH-2007: Refactored to use JobParametersConverter instead of new interface
1 parent ce16ad2 commit dbc8292

File tree

12 files changed

+59
-101
lines changed

12 files changed

+59
-101
lines changed

spring-batch-core/src/main/java/org/springframework/batch/core/jsr/JobContext.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import org.springframework.batch.core.ExitStatus;
2323
import org.springframework.batch.core.JobExecution;
24+
import org.springframework.batch.core.converter.JobParametersConverter;
2425
import org.springframework.util.Assert;
2526

2627
/**
@@ -35,12 +36,12 @@ public class JobContext implements javax.batch.runtime.context.JobContext {
3536

3637
private JobExecution jobExecution;
3738
private Object transientUserData;
38-
private ParametersConverter jobParametersConverter;
39+
private JobParametersConverter jobParametersConverter;
3940

4041
/**
4142
* @param jobExecution for the related job
4243
*/
43-
public JobContext(JobExecution jobExecution, ParametersConverter jobParametersConverter) {
44+
public JobContext(JobExecution jobExecution, JobParametersConverter jobParametersConverter) {
4445
Assert.notNull(jobExecution, "A JobExecution is required");
4546
Assert.notNull(jobParametersConverter, "A ParametersConverter is required");
4647

@@ -93,7 +94,7 @@ public long getExecutionId() {
9394
*/
9495
@Override
9596
public Properties getProperties() {
96-
return jobParametersConverter.convert(this.jobExecution.getJobParameters());
97+
return jobParametersConverter.getProperties(this.jobExecution.getJobParameters());
9798
}
9899

99100
/* (non-Javadoc)

spring-batch-core/src/main/java/org/springframework/batch/core/jsr/JobExecution.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import javax.batch.runtime.BatchStatus;
2222

23+
import org.springframework.batch.core.converter.JobParametersConverter;
2324
import org.springframework.util.Assert;
2425

2526
/**
@@ -32,12 +33,12 @@
3233
public class JobExecution implements javax.batch.runtime.JobExecution {
3334

3435
private org.springframework.batch.core.JobExecution execution;
35-
private ParametersConverter parametersConverter;
36+
private JobParametersConverter parametersConverter;
3637

3738
/**
3839
* @param execution for all information to be delegated from
3940
*/
40-
public JobExecution(org.springframework.batch.core.JobExecution execution, ParametersConverter parametersConverter) {
41+
public JobExecution(org.springframework.batch.core.JobExecution execution, JobParametersConverter parametersConverter) {
4142
Assert.notNull(execution, "A JobExecution is required");
4243
this.execution = execution;
4344

@@ -113,6 +114,6 @@ public Date getLastUpdatedTime() {
113114
*/
114115
@Override
115116
public Properties getJobParameters() {
116-
return parametersConverter.convert(this.execution.getJobParameters());
117+
return parametersConverter.getProperties(this.execution.getJobParameters());
117118
}
118119
}

spring-batch-core/src/main/java/org/springframework/batch/core/jsr/JsrJobParametersConverter.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.springframework.batch.core.JobParameter;
2424
import org.springframework.batch.core.JobParameters;
2525
import org.springframework.batch.core.JobParametersBuilder;
26+
import org.springframework.batch.core.converter.JobParametersConverter;
2627
import org.springframework.batch.core.repository.JobRepository;
2728
import org.springframework.batch.core.repository.dao.AbstractJdbcBatchMetadataDao;
2829
import org.springframework.batch.item.database.support.DataFieldMaxValueIncrementerFactory;
@@ -44,7 +45,7 @@
4445
* @author Michael Minella
4546
* @since 3.0
4647
*/
47-
public class JsrJobParametersConverter implements ParametersConverter, InitializingBean {
48+
public class JsrJobParametersConverter implements JobParametersConverter, InitializingBean {
4849

4950
public static final String JOB_RUN_ID = "jsr_batch_run_id";
5051
public DataFieldMaxValueIncrementer incremeter;
@@ -78,15 +79,15 @@ public void afterPropertiesSet() throws Exception {
7879
}
7980

8081
/* (non-Javadoc)
81-
* @see org.springframework.batch.core.jsr.ParametersConverter#convert(java.util.Properties)
82+
* @see org.springframework.batch.core.converter.JobParametersConverter#getJobParameters(java.util.Properties)
8283
*/
8384
@Override
84-
public JobParameters convert(Properties parameters) {
85+
public JobParameters getJobParameters(Properties properties) {
8586
JobParametersBuilder builder = new JobParametersBuilder();
8687
boolean runIdFound = false;
8788

88-
if(parameters != null) {
89-
for (Map.Entry<Object, Object> curParameter : parameters.entrySet()) {
89+
if(properties != null) {
90+
for (Map.Entry<Object, Object> curParameter : properties.entrySet()) {
9091
if(curParameter.getValue() != null) {
9192
if(curParameter.getKey().equals(JOB_RUN_ID)) {
9293
runIdFound = true;
@@ -106,15 +107,15 @@ public JobParameters convert(Properties parameters) {
106107
}
107108

108109
/* (non-Javadoc)
109-
* @see org.springframework.batch.core.jsr.ParametersConverter#convert(org.springframework.batch.core.JobParameters)
110+
* @see org.springframework.batch.core.converter.JobParametersConverter#getProperties(org.springframework.batch.core.JobParameters)
110111
*/
111112
@Override
112-
public Properties convert(JobParameters parameters) {
113+
public Properties getProperties(JobParameters params) {
113114
Properties properties = new Properties();
114115
boolean runIdFound = false;
115116

116-
if(parameters != null) {
117-
for(Map.Entry<String, JobParameter> curParameter: parameters.getParameters().entrySet()) {
117+
if(params != null) {
118+
for(Map.Entry<String, JobParameter> curParameter: params.getParameters().entrySet()) {
118119
if(curParameter.getKey().equals(JOB_RUN_ID)) {
119120
runIdFound = true;
120121
}

spring-batch-core/src/main/java/org/springframework/batch/core/jsr/ParametersConverter.java

Lines changed: 0 additions & 51 deletions
This file was deleted.

spring-batch-core/src/main/java/org/springframework/batch/core/jsr/StepContext.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,16 @@
2323

2424
import org.springframework.batch.core.ExitStatus;
2525
import org.springframework.batch.core.StepExecution;
26+
import org.springframework.batch.core.converter.JobParametersConverter;
2627
import org.springframework.util.Assert;
2728

2829
public class StepContext implements javax.batch.runtime.context.StepContext {
2930

3031
private StepExecution stepExecution;
3132
private Object transientUserData;
32-
private ParametersConverter jobParametersConveter;
33+
private JobParametersConverter jobParametersConveter;
3334

34-
public StepContext(StepExecution stepExecution, ParametersConverter jobParametersConveter) {
35+
public StepContext(StepExecution stepExecution, JobParametersConverter jobParametersConveter) {
3536
Assert.notNull(stepExecution, "A StepExecution is required");
3637
Assert.notNull(jobParametersConveter, "A ParametersConverter is required");
3738

@@ -61,7 +62,7 @@ public long getStepExecutionId() {
6162

6263
@Override
6364
public Properties getProperties() {
64-
return jobParametersConveter.convert(this.stepExecution.getJobParameters());
65+
return jobParametersConveter.getProperties(this.stepExecution.getJobParameters());
6566
}
6667

6768
@Override

spring-batch-core/src/main/java/org/springframework/batch/core/jsr/launch/JsrJobOperator.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
import org.springframework.batch.core.ExitStatus;
4343
import org.springframework.batch.core.Job;
4444
import org.springframework.batch.core.JobParameters;
45+
import org.springframework.batch.core.converter.JobParametersConverter;
4546
import org.springframework.batch.core.explore.JobExplorer;
4647
import org.springframework.batch.core.jsr.JobContext;
47-
import org.springframework.batch.core.jsr.ParametersConverter;
4848
import org.springframework.batch.core.repository.JobExecutionAlreadyRunningException;
4949
import org.springframework.batch.core.repository.JobRepository;
5050
import org.springframework.beans.factory.access.BeanFactoryLocator;
@@ -122,7 +122,7 @@ public class JsrJobOperator implements JobOperator {
122122
private JobExplorer jobExplorer;
123123
private JobRepository jobRepository;
124124
private TaskExecutor taskExecutor;
125-
private ParametersConverter jobParametersConverter;
125+
private JobParametersConverter jobParametersConverter;
126126
private static ApplicationContext baseContext;
127127

128128
/**
@@ -152,7 +152,7 @@ public JsrJobOperator() {
152152
* @param jobRepository an instance of Spring Batch's {@link JobOperator}
153153
* @param jobOperator an instance of Spring Batch's {@link org.springframework.batch.core.launch.JobOperator}
154154
*/
155-
public JsrJobOperator(JobExplorer jobExplorer, JobRepository jobRepository, org.springframework.batch.core.launch.JobOperator jobOperator, ParametersConverter jobParametersConverter) {
155+
public JsrJobOperator(JobExplorer jobExplorer, JobRepository jobRepository, org.springframework.batch.core.launch.JobOperator jobOperator, JobParametersConverter jobParametersConverter) {
156156
Assert.notNull(jobExplorer, "A JobExplorer is required");
157157
Assert.notNull(jobRepository, "A JobRepository is required");
158158
Assert.notNull(jobOperator, "A JobOperator is required");
@@ -190,7 +190,7 @@ public void setJobOperator(org.springframework.batch.core.launch.JobOperator job
190190
* @param converter A {@link Converter} implementation used to convert {@link Properties} to
191191
* {@link JobParameters}
192192
*/
193-
public void setJobParametersConverter(ParametersConverter converter) {
193+
public void setJobParametersConverter(JobParametersConverter converter) {
194194
Assert.notNull(converter, "A Converter is required");
195195

196196
this.jobParametersConverter = converter;
@@ -314,7 +314,7 @@ public Properties getParameters(long executionId)
314314
throw new NoSuchJobExecutionException("Unable to find the JobExecution for id " + executionId);
315315
}
316316

317-
return jobParametersConverter.convert(execution.getJobParameters());
317+
return jobParametersConverter.getProperties(execution.getJobParameters());
318318
}
319319

320320
/* (non-Javadoc)
@@ -419,7 +419,7 @@ public long restart(long executionId, Properties params)
419419
final org.springframework.batch.core.JobExecution jobExecution;
420420

421421
try {
422-
JobParameters jobParameters = jobParametersConverter.convert(params);
422+
JobParameters jobParameters = jobParametersConverter.getJobParameters(params);
423423
jobExecution = jobRepository.createJobExecution(previousJobExecution.getJobInstance(), jobParameters, previousJobExecution.getJobConfigurationName());
424424
} catch (Exception e) {
425425
throw new JobRestartException(e);
@@ -496,7 +496,7 @@ public long start(String jobName, Properties params) throws JobStartException,
496496
final org.springframework.batch.core.JobExecution jobExecution;
497497

498498
try {
499-
JobParameters jobParameters = jobParametersConverter.convert(params);
499+
JobParameters jobParameters = jobParametersConverter.getJobParameters(params);
500500
org.springframework.batch.core.JobInstance jobInstance = jobRepository.createJobInstance(job.getName(), jobParameters);
501501
jobExecution = jobRepository.createJobExecution(jobInstance, jobParameters, jobConfigurationLocation);
502502
} catch (Exception e) {

spring-batch-core/src/test/java/org/springframework/batch/core/jsr/ParametersConverterSupport.java renamed to spring-batch-core/src/test/java/org/springframework/batch/core/converter/JobParametersConverterSupport.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.springframework.batch.core.jsr;
1+
package org.springframework.batch.core.converter;
22

33
import java.util.Map;
44
import java.util.Properties;
@@ -7,16 +7,15 @@
77
import org.springframework.batch.core.JobParameters;
88
import org.springframework.batch.core.JobParametersBuilder;
99

10-
public class ParametersConverterSupport implements ParametersConverter {
10+
public class JobParametersConverterSupport implements JobParametersConverter {
1111

1212
@Override
13-
public JobParameters convert(Properties parameters) {
13+
public JobParameters getJobParameters(Properties properties) {
1414
JobParametersBuilder builder = new JobParametersBuilder();
1515

16-
if(parameters != null) {
17-
for (Map.Entry<Object, Object> curParameter : parameters.entrySet()) {
16+
if(properties != null) {
17+
for (Map.Entry<Object, Object> curParameter : properties.entrySet()) {
1818
if(curParameter.getValue() != null) {
19-
2019
builder.addString(curParameter.getKey().toString(), curParameter.getValue().toString(), false);
2120
}
2221
}
@@ -25,12 +24,15 @@ public JobParameters convert(Properties parameters) {
2524
return builder.toJobParameters();
2625
}
2726

27+
/* (non-Javadoc)
28+
* @see org.springframework.batch.core.converter.JobParametersConverter#getProperties(org.springframework.batch.core.JobParameters)
29+
*/
2830
@Override
29-
public Properties convert(JobParameters parameters) {
31+
public Properties getProperties(JobParameters params) {
3032
Properties properties = new Properties();
3133

32-
if(properties != null) {
33-
for(Map.Entry<String, JobParameter> curParameter: parameters.getParameters().entrySet()) {
34+
if(params != null) {
35+
for(Map.Entry<String, JobParameter> curParameter: params.getParameters().entrySet()) {
3436
properties.setProperty(curParameter.getKey(), curParameter.getValue().getValue().toString());
3537
}
3638
}

spring-batch-core/src/test/java/org/springframework/batch/core/jsr/JobContextTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.springframework.batch.core.JobInstance;
1717
import org.springframework.batch.core.JobParameters;
1818
import org.springframework.batch.core.JobParametersBuilder;
19+
import org.springframework.batch.core.converter.JobParametersConverter;
1920

2021
public class JobContextTests {
2122

@@ -25,7 +26,7 @@ public class JobContextTests {
2526
@Mock
2627
private JobInstance instance;
2728
@Mock
28-
private ParametersConverter converter;
29+
private JobParametersConverter converter;
2930

3031
@Before
3132
public void setUp() throws Exception {
@@ -75,7 +76,7 @@ public void testGetProperties() {
7576
results.put("key1", "value1");
7677

7778
when(execution.getJobParameters()).thenReturn(params);
78-
when(converter.convert(params)).thenReturn(results);
79+
when(converter.getProperties(params)).thenReturn(results);
7980

8081
Properties props = context.getProperties();
8182

spring-batch-core/src/test/java/org/springframework/batch/core/jsr/JobExecutionTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.springframework.batch.core.JobInstance;
1313
import org.springframework.batch.core.JobParameters;
1414
import org.springframework.batch.core.JobParametersBuilder;
15+
import org.springframework.batch.core.converter.JobParametersConverterSupport;
1516

1617
public class JobExecutionTests {
1718

@@ -34,12 +35,12 @@ public void setUp() throws Exception {
3435
execution.setStatus(BatchStatus.FAILED);
3536
execution.setVersion(21);
3637

37-
adapter = new JobExecution(execution, new ParametersConverterSupport());
38+
adapter = new JobExecution(execution, new JobParametersConverterSupport());
3839
}
3940

4041
@Test(expected=IllegalArgumentException.class)
4142
public void testCreateWithNull() {
42-
adapter = new JobExecution(null, new ParametersConverterSupport());
43+
adapter = new JobExecution(null, new JobParametersConverterSupport());
4344
}
4445

4546
@Test

0 commit comments

Comments
 (0)