diff --git a/infrastructure/src/main/java/org/springframework/batch/repeat/policy/CountingCompletionPolicy.java b/infrastructure/src/main/java/org/springframework/batch/repeat/policy/CountingCompletionPolicy.java index ea09e6eda..9b7bf5975 100644 --- a/infrastructure/src/main/java/org/springframework/batch/repeat/policy/CountingCompletionPolicy.java +++ b/infrastructure/src/main/java/org/springframework/batch/repeat/policy/CountingCompletionPolicy.java @@ -30,7 +30,7 @@ import org.springframework.batch.repeat.context.RepeatContextSupport; * @author Dave Syer * */ -public abstract class CountingCompletionPolicy extends CompletionPolicySupport { +public abstract class CountingCompletionPolicy extends DefaultResultCompletionPolicy { /** * Session key for global counter. diff --git a/infrastructure/src/test/java/org/springframework/batch/repeat/policy/CountingCompletionPolicyTests.java b/infrastructure/src/test/java/org/springframework/batch/repeat/policy/CountingCompletionPolicyTests.java index 80e35c4e0..4e4ccdae8 100644 --- a/infrastructure/src/test/java/org/springframework/batch/repeat/policy/CountingCompletionPolicyTests.java +++ b/infrastructure/src/test/java/org/springframework/batch/repeat/policy/CountingCompletionPolicyTests.java @@ -18,6 +18,7 @@ package org.springframework.batch.repeat.policy; import junit.framework.TestCase; +import org.springframework.batch.repeat.ExitStatus; import org.springframework.batch.repeat.RepeatContext; import org.springframework.batch.repeat.context.RepeatContextSupport; @@ -33,6 +34,28 @@ public class CountingCompletionPolicyTests extends TestCase { assertTrue(policy.isComplete(context)); } + public void testNullResult() throws Exception { + CountingCompletionPolicy policy = new CountingCompletionPolicy() { + protected int getCount(RepeatContext context) { + return 1; + }; + }; + policy.setMaxCount(10); + RepeatContext context = policy.start(null); + assertTrue(policy.isComplete(context, null)); + } + + public void testFinishedResult() throws Exception { + CountingCompletionPolicy policy = new CountingCompletionPolicy() { + protected int getCount(RepeatContext context) { + return 1; + }; + }; + policy.setMaxCount(10); + RepeatContext context = policy.start(null); + assertTrue(policy.isComplete(context, ExitStatus.FINISHED)); + } + public void testDefaultBehaviourWithUpdate() throws Exception { CountingCompletionPolicy policy = new CountingCompletionPolicy() { int count = 0;