RESOLVED - issue BATCH-465: The term "exit code" is overloaded

RESOLVED - issue BATCH-468: ExitStatusExceptionClassifier, ExitCodeMapper and simple versions thereof (and others?) incorrectly moved into step.item package
This commit is contained in:
dsyer
2008-03-15 08:56:50 +00:00
parent ff85f455de
commit 271d6815c7
31 changed files with 149 additions and 184 deletions

View File

@@ -17,8 +17,6 @@ package org.springframework.batch.core;
import junit.framework.TestCase;
import org.springframework.batch.item.ExecutionContext;
/**
* @author Dave Syer
*
@@ -39,18 +37,6 @@ public class StepContributionTests extends TestCase {
assertEquals(1, contribution.getTaskCount());
}
/**
* Test method for
* {@link org.springframework.batch.core.StepContribution#setExecutionContext(ExecutionContext)}.
*/
public void testSetExecutionContext() {
assertEquals(null, contribution.getExecutionContext());
ExecutionContext context = new ExecutionContext();
context.putString("foo", "bar");
contribution.setExecutionContext(context);
assertEquals(1, contribution.getExecutionContext().getProperties().size());
}
/**
* Test method for
* {@link org.springframework.batch.core.StepContribution#incrementCommitCount()}.
@@ -61,14 +47,4 @@ public class StepContributionTests extends TestCase {
assertEquals(1, contribution.getCommitCount());
}
/**
* Test method for
* {@link org.springframework.batch.core.StepContribution#isTerminateOnly()}.
*/
public void testIsTerminateOnly() {
assertFalse(contribution.isTerminateOnly());
execution.setTerminateOnly();
assertTrue(contribution.isTerminateOnly());
}
}

View File

@@ -23,7 +23,6 @@ import java.util.Properties;
import junit.framework.TestCase;
import org.springframework.batch.core.BatchStatus;
import org.springframework.batch.core.ItemSkipPolicy;
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobExecutionException;
import org.springframework.batch.core.JobInstance;
@@ -42,7 +41,8 @@ import org.springframework.batch.core.repository.dao.MapStepExecutionDao;
import org.springframework.batch.core.repository.dao.StepExecutionDao;
import org.springframework.batch.core.repository.support.SimpleJobRepository;
import org.springframework.batch.core.step.AbstractStep;
import org.springframework.batch.core.step.item.NeverSkipItemSkipPolicy;
import org.springframework.batch.core.step.skip.ItemSkipPolicy;
import org.springframework.batch.core.step.skip.NeverSkipItemSkipPolicy;
import org.springframework.batch.item.AbstractItemReader;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.ItemWriter;

View File

@@ -51,38 +51,38 @@ public class SimpleJvmExitCodeMapperTests extends TestCase {
public void testGetExitCodeWithpPredefinedCodes() {
assertEquals(
ecm.getExitCode(ExitStatus.FINISHED.getExitCode()),
ecm.intValue(ExitStatus.FINISHED.getExitCode()),
ExitCodeMapper.JVM_EXITCODE_COMPLETED);
assertEquals(
ecm.getExitCode(ExitStatus.FAILED.getExitCode()),
ecm.intValue(ExitStatus.FAILED.getExitCode()),
ExitCodeMapper.JVM_EXITCODE_GENERIC_ERROR);
assertEquals(
ecm.getExitCode(ExitCodeMapper.JOB_NOT_PROVIDED),
ecm.intValue(ExitCodeMapper.JOB_NOT_PROVIDED),
ExitCodeMapper.JVM_EXITCODE_JOB_ERROR);
assertEquals(
ecm.getExitCode(ExitCodeMapper.NO_SUCH_JOB),
ecm.intValue(ExitCodeMapper.NO_SUCH_JOB),
ExitCodeMapper.JVM_EXITCODE_JOB_ERROR);
}
public void testGetExitCodeWithPredefinedCodesOverridden() {
System.out.println(ecm2.getExitCode(ExitStatus.FINISHED.getExitCode()));
System.out.println(ecm2.intValue(ExitStatus.FINISHED.getExitCode()));
assertEquals(
ecm2.getExitCode(ExitStatus.FINISHED.getExitCode()), -1);
ecm2.intValue(ExitStatus.FINISHED.getExitCode()), -1);
assertEquals(
ecm2.getExitCode(ExitStatus.FAILED.getExitCode()), -2);
ecm2.intValue(ExitStatus.FAILED.getExitCode()), -2);
assertEquals(
ecm2.getExitCode(ExitCodeMapper.JOB_NOT_PROVIDED), -3);
ecm2.intValue(ExitCodeMapper.JOB_NOT_PROVIDED), -3);
assertEquals(
ecm2.getExitCode(ExitCodeMapper.NO_SUCH_JOB), -3);
ecm2.intValue(ExitCodeMapper.NO_SUCH_JOB), -3);
}
public void testGetExitCodeWithCustomCode() {
assertEquals(ecm.getExitCode("MY_CUSTOM_CODE"),3);
assertEquals(ecm.intValue("MY_CUSTOM_CODE"),3);
}
public void testGetExitCodeWithDefaultCode() {
assertEquals(
ecm.getExitCode("UNDEFINED_CUSTOM_CODE"),
ecm.intValue("UNDEFINED_CUSTOM_CODE"),
ExitCodeMapper.JVM_EXITCODE_GENERIC_ERROR);
}

View File

@@ -29,8 +29,8 @@ import org.springframework.batch.core.job.JobSupport;
import org.springframework.batch.core.repository.dao.JobExecutionDao;
import org.springframework.batch.core.repository.dao.JobInstanceDao;
import org.springframework.batch.core.repository.dao.StepExecutionDao;
import org.springframework.batch.core.step.ExitStatusExceptionClassifier;
import org.springframework.batch.core.step.StepSupport;
import org.springframework.batch.core.step.item.ExitStatusExceptionClassifier;
import org.springframework.batch.item.ExecutionContext;
import org.springframework.batch.repeat.ExitStatus;
import org.springframework.dao.OptimisticLockingFailureException;

View File

@@ -13,14 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.batch.core.step.item;
package org.springframework.batch.core.step;
import org.springframework.batch.core.JobInterruptedException;
import org.springframework.batch.core.launch.support.ExitCodeMapper;
import org.springframework.batch.core.repository.NoSuchJobException;
import org.springframework.batch.core.step.item.ExitStatusExceptionClassifier;
import org.springframework.batch.core.step.item.SimpleExitStatusExceptionClassifier;
import org.springframework.batch.core.step.ExitStatusExceptionClassifier;
import org.springframework.batch.core.step.SimpleExitStatusExceptionClassifier;
import org.springframework.batch.repeat.ExitStatus;
import junit.framework.TestCase;

View File

@@ -13,14 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.batch.core.step.item;
package org.springframework.batch.core.step;
import junit.framework.TestCase;
import org.springframework.batch.core.JobInterruptedException;
import org.springframework.batch.core.step.item.ThreadStepInterruptionPolicy;
import org.springframework.batch.repeat.RepeatContext;
import org.springframework.batch.repeat.context.RepeatContextSupport;
import org.springframework.batch.core.StepExecution;
/**
* @author Dave Syer
@@ -29,10 +27,10 @@ import org.springframework.batch.repeat.context.RepeatContextSupport;
public class ThreadStepInterruptionPolicyTests extends TestCase {
ThreadStepInterruptionPolicy policy = new ThreadStepInterruptionPolicy();
private RepeatContext context = new RepeatContextSupport(null);;
private StepExecution context = new StepExecution(new StepSupport(), null);
/**
* Test method for {@link org.springframework.batch.core.executor.interrupt.ThreadStepInterruptionPolicy#checkInterrupted(org.springframework.batch.repeat.RepeatContext)}.
* Test method for {@link org.springframework.batch.core.executor.interrupt.ThreadStepInterruptionPolicy#checkInterrupted(StepExecution)}.
* @throws Exception
*/
public void testCheckInterruptedNotComplete() throws Exception {
@@ -41,7 +39,7 @@ public class ThreadStepInterruptionPolicyTests extends TestCase {
}
/**
* Test method for {@link org.springframework.batch.core.executor.interrupt.ThreadStepInterruptionPolicy#checkInterrupted(org.springframework.batch.repeat.RepeatContext)}.
* Test method for {@link org.springframework.batch.core.executor.interrupt.ThreadStepInterruptionPolicy#checkInterrupted(StepExecution)}.
* @throws Exception
*/
public void testCheckInterruptedComplete() throws Exception {

View File

@@ -39,9 +39,9 @@ import org.springframework.batch.core.repository.dao.MapStepExecutionDao;
import org.springframework.batch.core.repository.support.SimpleJobRepository;
import org.springframework.batch.core.step.AbstractStep;
import org.springframework.batch.core.step.JobRepositorySupport;
import org.springframework.batch.core.step.StepInterruptionPolicy;
import org.springframework.batch.core.step.item.ItemOrientedStep;
import org.springframework.batch.core.step.item.SimpleItemHandler;
import org.springframework.batch.core.step.item.StepInterruptionPolicy;
import org.springframework.batch.item.AbstractItemReader;
import org.springframework.batch.item.AbstractItemWriter;
import org.springframework.batch.item.ExecutionContext;
@@ -54,7 +54,6 @@ import org.springframework.batch.item.ResetFailedException;
import org.springframework.batch.item.ItemStreamException;
import org.springframework.batch.item.support.ListItemReader;
import org.springframework.batch.repeat.ExitStatus;
import org.springframework.batch.repeat.RepeatContext;
import org.springframework.batch.repeat.policy.SimpleCompletionPolicy;
import org.springframework.batch.repeat.support.RepeatTemplate;
import org.springframework.batch.support.PropertiesConverter;
@@ -138,7 +137,7 @@ public class ItemOrientedStepTests extends TestCase {
StepExecution stepExecution = new StepExecution(itemOrientedStep, jobExecution);
StepContribution contribution = stepExecution.createStepContribution();
itemOrientedStep.processChunk(contribution);
itemOrientedStep.processChunk(stepExecution, contribution);
assertEquals(1, processed.size());
assertEquals(0, stepExecution.getItemCount().intValue());
assertEquals(1, contribution.getTaskCount());
@@ -470,7 +469,7 @@ public class ItemOrientedStepTests extends TestCase {
StepInterruptionPolicy interruptionPolicy = new StepInterruptionPolicy() {
public void checkInterrupted(RepeatContext context) throws JobInterruptedException {
public void checkInterrupted(StepExecution stepExecution) throws JobInterruptedException {
throw new JobInterruptedException("interrupted");
}
};

View File

@@ -21,8 +21,8 @@ import java.util.List;
import junit.framework.TestCase;
import org.springframework.batch.core.step.item.LimitCheckingItemSkipPolicy;
import org.springframework.batch.core.step.item.SkipLimitExceededException;
import org.springframework.batch.core.step.skip.LimitCheckingItemSkipPolicy;
import org.springframework.batch.core.step.skip.SkipLimitExceededException;
import org.springframework.batch.item.file.FlatFileParseException;
/**

View File

@@ -29,9 +29,9 @@ import org.springframework.batch.core.repository.dao.MapJobExecutionDao;
import org.springframework.batch.core.repository.dao.MapJobInstanceDao;
import org.springframework.batch.core.repository.dao.MapStepExecutionDao;
import org.springframework.batch.core.repository.support.SimpleJobRepository;
import org.springframework.batch.core.step.StepExecutionSynchronizer;
import org.springframework.batch.core.step.item.ItemOrientedStep;
import org.springframework.batch.core.step.item.SimpleItemHandler;
import org.springframework.batch.core.step.item.StepExecutionSynchronizer;
import org.springframework.batch.item.AbstractItemReader;
import org.springframework.batch.item.AbstractItemWriter;
import org.springframework.batch.repeat.policy.SimpleCompletionPolicy;