OPEN - issue BATCH-324: Step as factory for StepExecutor

http://jira.springframework.org/browse/BATCH-324

Same treatment for JobExecutor - roll it up into the Job interface
This commit is contained in:
dsyer
2008-01-29 18:07:57 +00:00
parent 3d7f40ca90
commit 911e368a71
64 changed files with 486 additions and 581 deletions

View File

@@ -29,7 +29,7 @@ public class JobExecutionTests extends TestCase {
private JobExecution execution = new JobExecution(new JobInstance(new Long(11), new JobParameters()), new Long(12));
private JobExecution context = new JobExecution(new JobInstance(new Long(11), new JobParameters(), new Job("foo")), new Long(12));
private JobExecution context = new JobExecution(new JobInstance(new Long(11), new JobParameters(), new JobSupport("foo")), new Long(12));
/**
* Test method for

View File

@@ -25,7 +25,7 @@ import junit.framework.TestCase;
*/
public class JobInstanceTests extends TestCase {
private JobInstance instance = new JobInstance(new Long(11), new JobParameters(), new Job("job"));
private JobInstance instance = new JobInstance(new Long(11), new JobParameters(), new JobSupport("job"));
/**
* Test method for {@link org.springframework.batch.core.domain.JobInstance#getStatus()}.
@@ -66,7 +66,7 @@ public class JobInstanceTests extends TestCase {
* Test method for {@link org.springframework.batch.core.domain.JobInstance#getIdentifier()}.
*/
public void testGetName() {
instance = new JobInstance(new Long(1), new JobParameters(), new Job("foo"));
instance = new JobInstance(new Long(1), new JobParameters(), new JobSupport("foo"));
assertEquals("foo", instance.getJobName());
}

View File

@@ -0,0 +1,100 @@
/*
* Copyright 2006-2007 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.batch.core.domain;
import java.util.Collections;
import org.springframework.batch.core.domain.JobSupport;
import org.springframework.batch.core.domain.StepSupport;
import junit.framework.TestCase;
/**
* @author Dave Syer
*
*/
public class JobSupportTests extends TestCase {
JobSupport job = new JobSupport("job");
/**
* Test method for
* {@link org.springframework.batch.core.domain.JobSupport#JobConfiguration()}.
*/
public void testJobConfiguration() {
job = new JobSupport();
assertNull(job.getName());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.JobSupport#setBeanName(java.lang.String)}.
*/
public void testSetBeanName() {
job.setBeanName("foo");
assertEquals("job", job.getName());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.JobSupport#setBeanName(java.lang.String)}.
*/
public void testSetBeanNameWithNullName() {
job = new JobSupport(null);
assertEquals(null, job.getName());
job.setBeanName("foo");
assertEquals("foo", job.getName());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.JobSupport#setSteps(java.util.List)}.
*/
public void testSetSteps() {
job.setSteps(Collections.singletonList(new StepSupport("step")));
assertEquals(1, job.getSteps().size());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.JobSupport#addStepInstance(org.springframework.batch.core.configuration.StepConfiguration)}.
*/
public void testAddStep() {
job.addStep(new StepSupport("step"));
assertEquals(1, job.getSteps().size());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.JobSupport#setStartLimit(int)}.
*/
public void testSetStartLimit() {
assertEquals(Integer.MAX_VALUE, job.getStartLimit());
job.setStartLimit(10);
assertEquals(10, job.getStartLimit());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.JobSupport#setRestartable(boolean)}.
*/
public void testSetRestartable() {
assertFalse(job.isRestartable());
job.setRestartable(true);
assertTrue(job.isRestartable());
}
}

View File

@@ -1,100 +0,0 @@
/*
* Copyright 2006-2007 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.batch.core.domain;
import java.util.Collections;
import org.springframework.batch.core.domain.Job;
import org.springframework.batch.core.domain.StepSupport;
import junit.framework.TestCase;
/**
* @author Dave Syer
*
*/
public class JobTests extends TestCase {
Job configuration = new Job("job");
/**
* Test method for
* {@link org.springframework.batch.core.domain.Job#JobConfiguration()}.
*/
public void testJobConfiguration() {
configuration = new Job();
assertNull(configuration.getName());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.Job#setBeanName(java.lang.String)}.
*/
public void testSetBeanName() {
configuration.setBeanName("foo");
assertEquals("job", configuration.getName());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.Job#setBeanName(java.lang.String)}.
*/
public void testSetBeanNameWithNullName() {
configuration = new Job(null);
assertEquals(null, configuration.getName());
configuration.setBeanName("foo");
assertEquals("foo", configuration.getName());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.Job#setSteps(java.util.List)}.
*/
public void testSetSteps() {
configuration.setSteps(Collections.singletonList(new StepSupport("step")));
assertEquals(1, configuration.getSteps().size());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.Job#addStepInstance(org.springframework.batch.core.configuration.StepConfiguration)}.
*/
public void testAddStep() {
configuration.addStep(new StepSupport("step"));
assertEquals(1, configuration.getSteps().size());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.Job#setStartLimit(int)}.
*/
public void testSetStartLimit() {
assertEquals(Integer.MAX_VALUE, configuration.getStartLimit());
configuration.setStartLimit(10);
assertEquals(10, configuration.getStartLimit());
}
/**
* Test method for
* {@link org.springframework.batch.core.domain.Job#setRestartable(boolean)}.
*/
public void testSetRestartable() {
assertFalse(configuration.isRestartable());
configuration.setRestartable(true);
assertTrue(configuration.isRestartable());
}
}

View File

@@ -18,7 +18,7 @@ package org.springframework.batch.core.domain;
import junit.framework.TestCase;
import org.springframework.batch.core.domain.Job;
import org.springframework.batch.core.domain.JobSupport;
import org.springframework.beans.factory.config.ConstructorArgumentValues;
import org.springframework.beans.factory.support.ChildBeanDefinition;
import org.springframework.beans.factory.support.RootBeanDefinition;
@@ -29,7 +29,7 @@ public class SpringBeanJobTests extends TestCase {
public void testBeanName() throws Exception {
StaticApplicationContext context = new StaticApplicationContext();
Job configuration = new Job();
JobSupport configuration = new JobSupport();
context.getAutowireCapableBeanFactory().initializeBean(configuration,
"bean");
assertNotNull(configuration.getName());
@@ -44,8 +44,8 @@ public class SpringBeanJobTests extends TestCase {
ConstructorArgumentValues args = new ConstructorArgumentValues();
args.addGenericArgumentValue("foo");
context.registerBeanDefinition("bean", new RootBeanDefinition(
Job.class, args, null));
Job configuration = (Job) context
JobSupport.class, args, null));
JobSupport configuration = (JobSupport) context
.getBean("bean");
assertNotNull(configuration.getName());
assertEquals("foo", configuration.getName());
@@ -58,9 +58,9 @@ public class SpringBeanJobTests extends TestCase {
ConstructorArgumentValues args = new ConstructorArgumentValues();
args.addGenericArgumentValue("bar");
context.registerBeanDefinition("parent", new RootBeanDefinition(
Job.class, args, null));
JobSupport.class, args, null));
context.registerBeanDefinition("bean", new ChildBeanDefinition("parent"));
Job configuration = (Job) context
JobSupport configuration = (JobSupport) context
.getBean("bean");
assertNotNull(configuration.getName());
assertEquals("bar", configuration.getName());

View File

@@ -78,7 +78,7 @@ public class StepInstanceTests extends TestCase {
public void testGetJob(){
Job job = new Job("job");
Job job = new JobSupport("job");
JobInstance jobInstance = new JobInstance(new Long(2), new JobParameters(), job);
instance = new StepInstance(jobInstance, null);
assertEquals(job, instance.getJobInstance().getJob());

View File

@@ -62,14 +62,14 @@ public class StepSupportTests extends TestCase {
public void testUnsuccessfulWrongConfiguration() throws Exception {
try {
new StepSupport().createStepExecutor();
new StepSupport().process(null);
fail("Expected UnsupportedOperationException");
} catch (UnsupportedOperationException e) {
// expected
assertTrue(
"Error message does not contain SimpleStep: "
"Error message does not contain StepExecution: "
+ e.getMessage(), e.getMessage().indexOf(
"SimpleStep") >= 0);
"StepExecution") >= 0);
}
}