IN PROGRESS - BATCH-774: Split item count into read/write/filter

added readCount and writeCount properties to StepExecution and StepContribution + updates of the counters in ChunkOrientedTasklet
This commit is contained in:
robokaso
2008-09-03 12:01:22 +00:00
parent c66f98501d
commit d5f7a1ad48
6 changed files with 98 additions and 9 deletions

View File

@@ -133,10 +133,16 @@ public class StepExecutionTests extends TestCase {
contribution.incrementReadSkipCount();
contribution.incrementWriteSkipCount();
contribution.incrementItemCount();
contribution.incrementReadCount();
contribution.incrementWriteCount();
contribution.incrementFilterCount(1);
execution.apply(contribution);
assertEquals(1, execution.getReadSkipCount());
assertEquals(1, execution.getWriteSkipCount());
assertEquals(1, execution.getItemCount());
assertEquals(1, execution.getReadCount());
assertEquals(1, execution.getWriteCount());
assertEquals(1, execution.getFilterCount());
}
public void testTerminateOnly() throws Exception {

View File

@@ -92,21 +92,24 @@ public class ChunkOrientedTaskletTests {
@Test
public void testHandleCompositeItem() throws Exception {
ChunkOrientedTasklet<String, String> handler = new ChunkOrientedTasklet<String, String>(itemReader,
new AgrgegateItemProcessor(), itemWriter, repeatTemplate);
new AggregateItemProcessor(), itemWriter, repeatTemplate);
StepContribution contribution = new StepContribution(new StepExecution("foo", new JobExecution(new JobInstance(
123L, new JobParameters(), "job"))));
handler.execute(contribution, context);
assertEquals(2, itemReader.count);
assertEquals(2, contribution.getItemCount());
assertEquals(2, contribution.getReadCount());
assertEquals(1, contribution.getFilterCount());
assertEquals(1, contribution.getWriteCount());
assertEquals("12", itemWriter.values);
}
/**
* @author Dave Syer
*
*/
private final class AgrgegateItemProcessor implements ItemProcessor<String, String> {
private final class AggregateItemProcessor implements ItemProcessor<String, String> {
private int count = 0;
private String value = "";