IN PROGRESS - BATCH-601: Findbugs code audit

This commit is contained in:
robokaso
2008-04-24 14:23:42 +00:00
parent a66bbd69c9
commit 8f90970a08
8 changed files with 21 additions and 262 deletions

View File

@@ -48,11 +48,11 @@ import org.springframework.util.StringUtils;
*/
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");
@@ -104,7 +104,7 @@ public class DefaultJobParametersConverter implements JobParametersConverter {
} else if (StringUtils.endsWithIgnoreCase(key, STRING_TYPE)) {
propertiesBuilder.addString(StringUtils.replace(key, STRING_TYPE, ""), value);
} 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();
Properties result = new Properties();
for (Iterator iterator = parameters.keySet().iterator(); iterator.hasNext();) {
String key = (String) iterator.next();
Object value = parameters.get(key);
for (Iterator iterator = parameters.entrySet().iterator(); iterator.hasNext();) {
Entry entry = (Entry) iterator.next();
String key = (String) entry.getKey();
Object value = entry.getValue();
if (value instanceof Date) {
result.setProperty(key + DATE_TYPE, dateFormat.format(value));
} else if (value instanceof Long) {

View File

@@ -34,7 +34,7 @@ import org.springframework.batch.core.converter.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");
@@ -82,13 +82,13 @@ public class ScheduledJobParametersFactory implements JobParametersConverter {
Map parameters = params.getParameters();
Properties result = new Properties();
for (Iterator iterator = parameters.keySet().iterator(); iterator.hasNext();) {
String key = (String) iterator.next();
Object value = parameters.get(key);
for (Iterator iterator = parameters.entrySet().iterator(); iterator.hasNext();) {
Entry entry = (Entry) iterator.next();
String key = (String) entry.getKey();
if (key.equals(SCHEDULE_DATE_KEY)) {
result.setProperty(key, dateFormat.format(value));
result.setProperty(key, dateFormat.format(entry.getValue()));
} else {
result.setProperty(key, "" + value);
result.setProperty(key, "" + entry.getValue());
}
}
return result;

View File

@@ -310,11 +310,9 @@ public abstract class AbstractStep implements Step, InitializingBean, BeanNameAw
}
else {
String message = "";
if (ex != null) {
StringWriter writer = new StringWriter();
ex.printStackTrace(new PrintWriter(writer));
message = writer.toString();
}
StringWriter writer = new StringWriter();
ex.printStackTrace(new PrintWriter(writer));
message = writer.toString();
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
* {@link BatchStatus#UNKNOWN} as step's status.
*/
protected class FatalException extends RuntimeException {
protected static class FatalException extends RuntimeException {
public FatalException(String string, Exception e) {
super(string, e);
}

View File

@@ -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;

View File

@@ -103,7 +103,7 @@ public class JobRepositoryFactoryBeanTests extends TestCase {
incrementerControl.verify();
}
private class StubIncrementer implements DataFieldMaxValueIncrementer {
private static class StubIncrementer implements DataFieldMaxValueIncrementer {
public int nextIntValue() throws DataAccessException {
return 0;

View File

@@ -68,8 +68,6 @@ public class SimpleJobRepositoryTests extends TestCase {
StepExecutionDao stepExecutionDao;
MockStepDao mockStepDao = new MockStepDao();
JobInstance databaseJob;
String databaseStep1;
@@ -78,7 +76,6 @@ public class SimpleJobRepositoryTests extends TestCase {
List steps;
ExecutionContext executionContext;
public void setUp() throws Exception {
@@ -113,147 +110,6 @@ public class SimpleJobRepositoryTests extends TestCase {
steps.add(databaseStep1);
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));
}
}

View File

@@ -37,7 +37,6 @@ import org.springframework.test.AbstractTransactionalDataSourceSpringContextTest
*/
public class StepExecutionPreparedStatementSetterTests extends AbstractTransactionalDataSourceSpringContextTests {
JdbcTemplate jdbcTemplate;
StepExecutionPreparedStatementSetter pss;
StepExecution stepExecution;

View File

@@ -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;