RESOLVED - BATCH-629: CommandLineJobRunner should allow injection of JobParametersConverter

This commit is contained in:
robokaso
2008-05-16 08:26:40 +00:00
parent 307054d615
commit 1d386ee0d2
3 changed files with 51 additions and 13 deletions

View File

@@ -15,11 +15,15 @@
*/
package org.springframework.batch.core.launch.support;
import java.util.Properties;
import junit.framework.TestCase;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.converter.DefaultJobParametersConverter;
import org.springframework.batch.core.converter.JobParametersConverter;
import org.springframework.batch.core.launch.JobLauncher;
import org.springframework.batch.core.repository.JobExecutionAlreadyRunningException;
import org.springframework.batch.repeat.ExitStatus;
@@ -62,6 +66,7 @@ public class CommandLineJobRunnerTests extends TestCase {
public void testMain() {
CommandLineJobRunner.main(args);
assertTrue("injected JobParametersConverter used instead of default", StubJobParametersConverter.called);
assertEquals(0, StubSystemExiter.getStatus());
}
@@ -130,9 +135,9 @@ public class CommandLineJobRunnerTests extends TestCase {
return jobExecution;
}
public void destroy() {
destroyed = true;
destroyed = true;
}
public static void tearDown() {
@@ -143,4 +148,21 @@ public class CommandLineJobRunnerTests extends TestCase {
}
}
private static class StubJobParametersConverter implements JobParametersConverter {
JobParametersConverter delegate = new DefaultJobParametersConverter();
static boolean called = false;
public JobParameters getJobParameters(Properties properties) {
called = true;
return delegate.getJobParameters(properties);
}
public Properties getProperties(JobParameters params) {
throw new UnsupportedOperationException();
}
}
}