IN PROGRESS - BATCH-601: Findbugs code audit
This commit is contained in:
@@ -48,11 +48,11 @@ import org.springframework.util.StringUtils;
|
|||||||
*/
|
*/
|
||||||
public class DefaultJobParametersConverter implements JobParametersConverter {
|
public class DefaultJobParametersConverter implements JobParametersConverter {
|
||||||
|
|
||||||
public static String DATE_TYPE = "(date)";
|
public static final String DATE_TYPE = "(date)";
|
||||||
|
|
||||||
public static String STRING_TYPE = "(string)";
|
public static final String STRING_TYPE = "(string)";
|
||||||
|
|
||||||
public static String LONG_TYPE = "(long)";
|
public static final String LONG_TYPE = "(long)";
|
||||||
|
|
||||||
private DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
|
private DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ public class DefaultJobParametersConverter implements JobParametersConverter {
|
|||||||
} else if (StringUtils.endsWithIgnoreCase(key, STRING_TYPE)) {
|
} else if (StringUtils.endsWithIgnoreCase(key, STRING_TYPE)) {
|
||||||
propertiesBuilder.addString(StringUtils.replace(key, STRING_TYPE, ""), value);
|
propertiesBuilder.addString(StringUtils.replace(key, STRING_TYPE, ""), value);
|
||||||
} else {
|
} else {
|
||||||
propertiesBuilder.addString(key.toString(), value.toString());
|
propertiesBuilder.addString(key, value.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,9 +124,10 @@ public class DefaultJobParametersConverter implements JobParametersConverter {
|
|||||||
|
|
||||||
Map parameters = params.getParameters();
|
Map parameters = params.getParameters();
|
||||||
Properties result = new Properties();
|
Properties result = new Properties();
|
||||||
for (Iterator iterator = parameters.keySet().iterator(); iterator.hasNext();) {
|
for (Iterator iterator = parameters.entrySet().iterator(); iterator.hasNext();) {
|
||||||
String key = (String) iterator.next();
|
Entry entry = (Entry) iterator.next();
|
||||||
Object value = parameters.get(key);
|
String key = (String) entry.getKey();
|
||||||
|
Object value = entry.getValue();
|
||||||
if (value instanceof Date) {
|
if (value instanceof Date) {
|
||||||
result.setProperty(key + DATE_TYPE, dateFormat.format(value));
|
result.setProperty(key + DATE_TYPE, dateFormat.format(value));
|
||||||
} else if (value instanceof Long) {
|
} else if (value instanceof Long) {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ import org.springframework.batch.core.converter.JobParametersConverter;
|
|||||||
*/
|
*/
|
||||||
public class ScheduledJobParametersFactory implements JobParametersConverter {
|
public class ScheduledJobParametersFactory implements JobParametersConverter {
|
||||||
|
|
||||||
public static String SCHEDULE_DATE_KEY = "schedule.date";
|
public static final String SCHEDULE_DATE_KEY = "schedule.date";
|
||||||
|
|
||||||
private DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
|
private DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
|
||||||
|
|
||||||
@@ -82,13 +82,13 @@ public class ScheduledJobParametersFactory implements JobParametersConverter {
|
|||||||
|
|
||||||
Map parameters = params.getParameters();
|
Map parameters = params.getParameters();
|
||||||
Properties result = new Properties();
|
Properties result = new Properties();
|
||||||
for (Iterator iterator = parameters.keySet().iterator(); iterator.hasNext();) {
|
for (Iterator iterator = parameters.entrySet().iterator(); iterator.hasNext();) {
|
||||||
String key = (String) iterator.next();
|
Entry entry = (Entry) iterator.next();
|
||||||
Object value = parameters.get(key);
|
String key = (String) entry.getKey();
|
||||||
if (key.equals(SCHEDULE_DATE_KEY)) {
|
if (key.equals(SCHEDULE_DATE_KEY)) {
|
||||||
result.setProperty(key, dateFormat.format(value));
|
result.setProperty(key, dateFormat.format(entry.getValue()));
|
||||||
} else {
|
} else {
|
||||||
result.setProperty(key, "" + value);
|
result.setProperty(key, "" + entry.getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -310,11 +310,9 @@ public abstract class AbstractStep implements Step, InitializingBean, BeanNameAw
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
String message = "";
|
String message = "";
|
||||||
if (ex != null) {
|
StringWriter writer = new StringWriter();
|
||||||
StringWriter writer = new StringWriter();
|
ex.printStackTrace(new PrintWriter(writer));
|
||||||
ex.printStackTrace(new PrintWriter(writer));
|
message = writer.toString();
|
||||||
message = writer.toString();
|
|
||||||
}
|
|
||||||
exitStatus = ExitStatus.FAILED.addExitDescription(message);
|
exitStatus = ExitStatus.FAILED.addExitDescription(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,7 +324,7 @@ public abstract class AbstractStep implements Step, InitializingBean, BeanNameAw
|
|||||||
* rollback transaction. Throwing this exception will result in storing
|
* rollback transaction. Throwing this exception will result in storing
|
||||||
* {@link BatchStatus#UNKNOWN} as step's status.
|
* {@link BatchStatus#UNKNOWN} as step's status.
|
||||||
*/
|
*/
|
||||||
protected class FatalException extends RuntimeException {
|
protected static class FatalException extends RuntimeException {
|
||||||
public FatalException(String string, Exception e) {
|
public FatalException(String string, Exception e) {
|
||||||
super(string, e);
|
super(string, e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public class CommandLineJobRunnerTests extends TestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class StubJobLauncher implements JobLauncher {
|
private static class StubJobLauncher implements JobLauncher {
|
||||||
|
|
||||||
public static JobExecution jobExecution;
|
public static JobExecution jobExecution;
|
||||||
|
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ public class JobRepositoryFactoryBeanTests extends TestCase {
|
|||||||
incrementerControl.verify();
|
incrementerControl.verify();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class StubIncrementer implements DataFieldMaxValueIncrementer {
|
private static class StubIncrementer implements DataFieldMaxValueIncrementer {
|
||||||
|
|
||||||
public int nextIntValue() throws DataAccessException {
|
public int nextIntValue() throws DataAccessException {
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -68,8 +68,6 @@ public class SimpleJobRepositoryTests extends TestCase {
|
|||||||
|
|
||||||
StepExecutionDao stepExecutionDao;
|
StepExecutionDao stepExecutionDao;
|
||||||
|
|
||||||
MockStepDao mockStepDao = new MockStepDao();
|
|
||||||
|
|
||||||
JobInstance databaseJob;
|
JobInstance databaseJob;
|
||||||
|
|
||||||
String databaseStep1;
|
String databaseStep1;
|
||||||
@@ -78,7 +76,6 @@ public class SimpleJobRepositoryTests extends TestCase {
|
|||||||
|
|
||||||
List steps;
|
List steps;
|
||||||
|
|
||||||
ExecutionContext executionContext;
|
|
||||||
|
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
|
|
||||||
@@ -113,147 +110,6 @@ public class SimpleJobRepositoryTests extends TestCase {
|
|||||||
steps.add(databaseStep1);
|
steps.add(databaseStep1);
|
||||||
steps.add(databaseStep2);
|
steps.add(databaseStep2);
|
||||||
|
|
||||||
executionContext = new ExecutionContext();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test a restartable job, that has not been run before.
|
|
||||||
*/
|
|
||||||
public void testCreateRestartableJob() throws Exception {
|
|
||||||
|
|
||||||
// List jobExecutions = new ArrayList();
|
|
||||||
//
|
|
||||||
// jobInstanceDao.findJobInstances(jobConfiguration.getName(), jobParameters);
|
|
||||||
// jobInstanceDaoControl.setReturnValue(jobExecutions);
|
|
||||||
// jobInstanceDao.createJobInstance(jobConfiguration.getName(), jobParameters);
|
|
||||||
// jobInstanceDaoControl.setReturnValue(databaseJob);
|
|
||||||
//// stepInstanceDao.createStepInstance(databaseJob, "TestStep1");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep1);
|
|
||||||
//// stepInstanceDao.createStepInstance(databaseJob, "TestStep2");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep2);
|
|
||||||
// jobExecutionDao.saveJobExecution(new JobExecution(databaseJob));
|
|
||||||
// jobExecutionDaoControl.setMatcher(new ArgumentsMatcher() {
|
|
||||||
// public boolean matches(Object[] expected, Object[] actual) {
|
|
||||||
// return ((JobExecution) actual[0]).getJobInstance().equals(databaseJob);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String toString(Object[] arguments) {
|
|
||||||
// return "" + arguments[0];
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// stepExecutionDaoControl.replay();
|
|
||||||
//// stepInstanceDaoControl.replay();
|
|
||||||
// jobExecutionDaoControl.replay();
|
|
||||||
// jobInstanceDaoControl.replay();
|
|
||||||
// JobInstance job = jobRepository.createJobExecution(jobConfiguration, jobParameters).getJobInstance();
|
|
||||||
// assertTrue(job.equals(databaseJob));
|
|
||||||
// List jobSteps = job.getStepNames();
|
|
||||||
// Iterator it = jobSteps.iterator();
|
|
||||||
// String step = (String) it.next();
|
|
||||||
// assertTrue(step.equals(databaseStep1));
|
|
||||||
// step = (String) it.next();
|
|
||||||
// assertTrue(step.equals(databaseStep2));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testRestartedJob() throws Exception {
|
|
||||||
|
|
||||||
// final List executions = new ArrayList();
|
|
||||||
// JobExecution execution = databaseJob.createJobExecution();
|
|
||||||
// executions.add(execution);
|
|
||||||
// // For this test it is important that the execution is finished
|
|
||||||
// // and the executions in the list contain one with an end date
|
|
||||||
// execution.setEndTime(new Date(System.currentTimeMillis()));
|
|
||||||
//
|
|
||||||
// StepExecution databaseStep1Exec = new StepExecution(databaseStep1, execution, new Long(1));
|
|
||||||
// StepExecution databaseStep2Exec = new StepExecution(databaseStep2, execution, new Long(2));
|
|
||||||
//
|
|
||||||
// List jobs = new ArrayList();
|
|
||||||
// jobInstanceDao.findJobInstances(jobConfiguration.getName(), jobParameters);
|
|
||||||
// jobs.add(databaseJob);
|
|
||||||
// jobInstanceDaoControl.setReturnValue(jobs);
|
|
||||||
//// stepInstanceDao.findStepInstance(databaseJob, "TestStep1");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep1);
|
|
||||||
//// stepExecutionDao.getLastStepExecution(databaseStep1, jobExecution);
|
|
||||||
//// stepExecutionDaoControl.setReturnValue(databaseStep1Exec);
|
|
||||||
// stepExecutionDao.findExecutionContext(databaseStep1Exec);
|
|
||||||
// stepExecutionDaoControl.setReturnValue(executionContext);
|
|
||||||
// //stepExecutionDao.getStepExecutionCount(databaseStep1);
|
|
||||||
//// stepExecutionDaoControl.setReturnValue(1);
|
|
||||||
//// stepInstanceDao.findStepInstance(databaseJob, "TestStep2");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep2);
|
|
||||||
//// stepExecutionDao.getLastStepExecution(databaseStep2, jobExecution);
|
|
||||||
//// stepExecutionDaoControl.setReturnValue(databaseStep2Exec);
|
|
||||||
// stepExecutionDao.findExecutionContext(databaseStep2Exec);
|
|
||||||
// stepExecutionDaoControl.setReturnValue(executionContext);
|
|
||||||
//// stepExecutionDao.getStepExecutionCount(databaseStep2);
|
|
||||||
//// stepExecutionDaoControl.setReturnValue(1);
|
|
||||||
// stepExecutionDaoControl.replay();
|
|
||||||
//// stepInstanceDaoControl.replay();
|
|
||||||
// jobExecutionDao.getJobExecutionCount(databaseJob);
|
|
||||||
// jobExecutionDaoControl.setReturnValue(1);
|
|
||||||
// jobExecutionDao.findJobExecutions(databaseJob);
|
|
||||||
// jobExecutionDaoControl.setReturnValue(executions);
|
|
||||||
// jobExecutionDao.saveJobExecution(new JobExecution(databaseJob));
|
|
||||||
// jobExecutionDaoControl.setMatcher(new ArgumentsMatcher() {
|
|
||||||
// public boolean matches(Object[] expected, Object[] actual) {
|
|
||||||
// JobExecution execution = (JobExecution) actual[0];
|
|
||||||
// return execution.getJobInstance().equals(databaseJob);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String toString(Object[] arguments) {
|
|
||||||
// return "" + arguments[0];
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// jobExecutionDaoControl.setVoidCallable();
|
|
||||||
// jobExecutionDaoControl.replay();
|
|
||||||
// jobInstanceDaoControl.replay();
|
|
||||||
// JobInstance job = jobRepository.createJobExecution(jobConfiguration, jobParameters).getJobInstance();
|
|
||||||
// assertTrue(job.equals(databaseJob));
|
|
||||||
// List jobSteps = job.getStepNames();
|
|
||||||
// Iterator it = jobSteps.iterator();
|
|
||||||
// String step = (String) it.next();
|
|
||||||
// assertTrue(step.equals(databaseStep1));
|
|
||||||
//// assertTrue(step.getStepExecutionCount() == 1);
|
|
||||||
// step = (String) it.next();
|
|
||||||
// assertTrue(step.equals(databaseStep2));
|
|
||||||
//// assertTrue(step.getStepExecutionCount() == 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testCreateNonRestartableJob() throws Exception {
|
|
||||||
|
|
||||||
// List jobs = new ArrayList();
|
|
||||||
// jobConfiguration.setRestartable(false);
|
|
||||||
//
|
|
||||||
// jobInstanceDao.findJobInstances(jobConfiguration.getName(), jobParameters);
|
|
||||||
// jobInstanceDaoControl.setReturnValue(jobs);
|
|
||||||
// jobInstanceDao.createJobInstance(jobConfiguration.getName(), jobParameters);
|
|
||||||
// jobInstanceDaoControl.setReturnValue(databaseJob);
|
|
||||||
//// stepInstanceDao.createStepInstance(databaseJob, "TestStep1");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep1);
|
|
||||||
//// stepInstanceDao.createStepInstance(databaseJob, "TestStep2");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep2);
|
|
||||||
// jobExecutionDao.saveJobExecution(new JobExecution(databaseJob));
|
|
||||||
// jobExecutionDaoControl.setMatcher(new ArgumentsMatcher() {
|
|
||||||
// public boolean matches(Object[] expected, Object[] actual) {
|
|
||||||
// return ((JobExecution) actual[0]).getJobInstance().equals(databaseJob);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String toString(Object[] arguments) {
|
|
||||||
// return "" + arguments[0];
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// stepExecutionDaoControl.replay();
|
|
||||||
//// stepInstanceDaoControl.replay();
|
|
||||||
// jobExecutionDaoControl.replay();
|
|
||||||
// jobInstanceDaoControl.replay();
|
|
||||||
// JobInstance job = jobRepository.createJobExecution(jobConfiguration, jobParameters).getJobInstance();
|
|
||||||
// assertTrue(job.equals(databaseJob));
|
|
||||||
// List jobSteps = job.getStepNames();
|
|
||||||
// Iterator it = jobSteps.iterator();
|
|
||||||
// String step = (String) it.next();
|
|
||||||
// assertTrue(step.equals(databaseStep1));
|
|
||||||
// step = (String) it.next();
|
|
||||||
// assertTrue(step.equals(databaseStep2));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -301,99 +157,4 @@ public class SimpleJobRepositoryTests extends TestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Test to ensure that if a StepDao returns invalid restart data, it is
|
|
||||||
* corrected.
|
|
||||||
*/
|
|
||||||
public void testCreateStepsFixesInvalidExecutionContext() throws Exception {
|
|
||||||
|
|
||||||
// List jobs = new ArrayList();
|
|
||||||
//
|
|
||||||
// jobInstanceDao.findJobInstances(jobConfiguration.getName(), jobParameters);
|
|
||||||
// jobInstanceDaoControl.setReturnValue(jobs);
|
|
||||||
// jobInstanceDao.createJobInstance(jobConfiguration.getName(), jobParameters);
|
|
||||||
// jobInstanceDaoControl.setReturnValue(databaseJob);
|
|
||||||
//// stepInstanceDao.createStepInstance(databaseJob, "TestStep1");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep1);
|
|
||||||
//// stepInstanceDao.createStepInstance(databaseJob, "TestStep2");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep2);
|
|
||||||
// jobExecutionDao.saveJobExecution(new JobExecution(databaseJob));
|
|
||||||
// jobExecutionDaoControl.setMatcher(new ArgumentsMatcher() {
|
|
||||||
// public boolean matches(Object[] expected, Object[] actual) {
|
|
||||||
// return ((JobExecution) actual[0]).getJobInstance().equals(databaseJob);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String toString(Object[] arguments) {
|
|
||||||
// return "" + arguments[0];
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// stepExecutionDaoControl.replay();
|
|
||||||
//// stepInstanceDaoControl.replay();
|
|
||||||
// jobExecutionDaoControl.replay();
|
|
||||||
// jobInstanceDaoControl.replay();
|
|
||||||
// JobInstance job = jobRepository.createJobExecution(jobConfiguration, jobParameters).getJobInstance();
|
|
||||||
// List jobSteps = job.getStepNames();
|
|
||||||
// Iterator it = jobSteps.iterator();
|
|
||||||
// String step = (String) it.next();
|
|
||||||
// assertTrue(step.equals(databaseStep1));
|
|
||||||
// step = (String) it.next();
|
|
||||||
// assertTrue(step.equals(databaseStep2));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testFindStepsFixesInvalidExecutionContext() throws Exception {
|
|
||||||
|
|
||||||
// StepExecution databaseStep1Exec = new StepExecution(databaseStep1, null, new Long(1));
|
|
||||||
// StepExecution databaseStep2Exec = new StepExecution(databaseStep2, null, new Long(2));
|
|
||||||
//
|
|
||||||
// List jobs = new ArrayList();
|
|
||||||
// jobInstanceDao.findJobInstances(jobConfiguration.getName(), jobParameters);
|
|
||||||
// jobs.add(databaseJob);
|
|
||||||
// jobInstanceDaoControl.setReturnValue(jobs);
|
|
||||||
//// stepInstanceDao.findStepInstance(databaseJob, "TestStep1");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep1);
|
|
||||||
//// stepExecutionDao.getLastStepExecution(databaseStep1, null);
|
|
||||||
//// stepExecutionDaoControl.setReturnValue(databaseStep1Exec);
|
|
||||||
// stepExecutionDao.findExecutionContext(databaseStep1Exec);
|
|
||||||
// stepExecutionDaoControl.setReturnValue(executionContext);
|
|
||||||
//// stepExecutionDao.getStepExecutionCount(databaseStep1);
|
|
||||||
//// stepExecutionDaoControl.setReturnValue(1);
|
|
||||||
//// stepInstanceDao.findStepInstance(databaseJob, "TestStep2");
|
|
||||||
//// stepInstanceDaoControl.setReturnValue(databaseStep2);
|
|
||||||
//// stepExecutionDao.getLastStepExecution(databaseStep2, null);
|
|
||||||
//// stepExecutionDaoControl.setReturnValue(databaseStep2Exec);
|
|
||||||
// stepExecutionDao.findExecutionContext(databaseStep2Exec);
|
|
||||||
// stepExecutionDaoControl.setReturnValue(executionContext);
|
|
||||||
//// stepExecutionDao.getStepExecutionCount(databaseStep2);
|
|
||||||
//// stepExecutionDaoControl.setReturnValue(1);
|
|
||||||
// stepExecutionDaoControl.replay();
|
|
||||||
//// stepInstanceDaoControl.replay();
|
|
||||||
//
|
|
||||||
// jobExecutionDao.getJobExecutionCount(databaseJob);
|
|
||||||
// jobExecutionDaoControl.setReturnValue(1);
|
|
||||||
// jobExecutionDao.findJobExecutions(databaseJob);
|
|
||||||
// jobExecutionDaoControl.setReturnValue(new ArrayList());
|
|
||||||
// jobExecutionDao.saveJobExecution(new JobExecution(databaseJob));
|
|
||||||
// jobExecutionDaoControl.setMatcher(new ArgumentsMatcher() {
|
|
||||||
// public boolean matches(Object[] expected, Object[] actual) {
|
|
||||||
// return ((JobExecution) actual[0]).getJobInstance().equals(databaseJob);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String toString(Object[] arguments) {
|
|
||||||
// return "" + arguments[0];
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// jobExecutionDaoControl.replay();
|
|
||||||
// jobInstanceDaoControl.replay();
|
|
||||||
// JobInstance job = jobRepository.createJobExecution(jobConfiguration, jobParameters).getJobInstance();
|
|
||||||
// assertTrue(job.equals(databaseJob));
|
|
||||||
// List jobSteps = job.getStepNames();
|
|
||||||
// Iterator it = jobSteps.iterator();
|
|
||||||
// String step = (String) it.next();
|
|
||||||
// assertTrue(step.equals(databaseStep1));
|
|
||||||
//// assertTrue(step.getLastExecution().getExecutionContext().isEmpty());
|
|
||||||
// step = (String) it.next();
|
|
||||||
//// assertTrue(step.getLastExecution().getExecutionContext().isEmpty());
|
|
||||||
// assertTrue(step.equals(databaseStep2));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ import org.springframework.test.AbstractTransactionalDataSourceSpringContextTest
|
|||||||
*/
|
*/
|
||||||
public class StepExecutionPreparedStatementSetterTests extends AbstractTransactionalDataSourceSpringContextTests {
|
public class StepExecutionPreparedStatementSetterTests extends AbstractTransactionalDataSourceSpringContextTests {
|
||||||
|
|
||||||
JdbcTemplate jdbcTemplate;
|
|
||||||
StepExecutionPreparedStatementSetter pss;
|
StepExecutionPreparedStatementSetter pss;
|
||||||
StepExecution stepExecution;
|
StepExecution stepExecution;
|
||||||
|
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ public class TaskletStepTests extends TestCase {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class StubTasklet extends StepExecutionListenerSupport implements Tasklet {
|
private static class StubTasklet extends StepExecutionListenerSupport implements Tasklet {
|
||||||
|
|
||||||
private final boolean exitFailure;
|
private final boolean exitFailure;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user