/** * Wraps a {@link ItemReader} in a {@link ItemReaderAdapter} if required for consumption * by the rest of the framework. * * @param itemReader {@link ItemReader} or {@link org.springframework.batch.item.ItemReader} implementation * @throws IllegalArgumentException if itemReader does not implement either version of ItemReader */ @SuppressWarnings("unchecked") public void setStepItemReader(Object itemReader) { if(itemReader instanceof org.springframework.batch.item.ItemReader) { super.setItemReader((org.springframework.batch.item.ItemReader<I>) itemReader); } else if(itemReader instanceof ItemReader){ super.setItemReader(new ItemReaderAdapter<>((ItemReader) itemReader)); } else { throw new IllegalArgumentException("The definition of an item reader must implement either " + "org.springframework.batch.item.ItemReader or javax.batch.api.chunk.ItemReader"); } }
fb.setCommitInterval(5); fb.setTaskExecutor(new SyncTaskExecutor()); fb.setItemReader(new DummyItemReader()); fb.setItemWriter(new DummyItemWriter()); fb.setStreams(new ItemStream[] {new FlatFileItemReader<>() });
@Test(expected = IllegalStateException.class) public void testSimpleStepAll() throws Exception { StepParserStepFactoryBean<Object, Object> fb = new StepParserStepFactoryBean<>(); fb.setBeanName("step1"); fb.setAllowStartIfComplete(true); fb.setJobRepository(new JobRepositorySupport()); fb.setStartLimit(5); fb.setTransactionManager(new ResourcelessTransactionManager()); fb.setListeners(new StepListener[] { new StepExecutionListenerSupport() }); fb.setIsolation(Isolation.DEFAULT); fb.setTransactionTimeout(-1); fb.setPropagation(Propagation.REQUIRED); fb.setChunkCompletionPolicy(new DummyCompletionPolicy()); fb.setCommitInterval(5); fb.setTaskExecutor(new SyncTaskExecutor()); fb.setItemReader(new DummyItemReader()); fb.setItemWriter(new DummyItemWriter()); fb.setStreams(new ItemStream[] {new FlatFileItemReader<>() }); fb.setHasChunkElement(true); Object step = fb.getObject(); assertTrue(step instanceof TaskletStep); Object tasklet = ReflectionTestUtils.getField(step, "tasklet"); assertTrue(tasklet instanceof ChunkOrientedTasklet<?>); }
@Test public void testSimpleStep() throws Exception { StepParserStepFactoryBean<Object, Object> fb = new StepParserStepFactoryBean<>(); fb.setHasChunkElement(true); fb.setBeanName("step1"); fb.setAllowStartIfComplete(true); fb.setJobRepository(new JobRepositorySupport()); fb.setStartLimit(5); fb.setTransactionManager(new ResourcelessTransactionManager()); fb.setListeners(new StepListener[] { new StepExecutionListenerSupport() }); fb.setIsolation(Isolation.DEFAULT); fb.setTransactionTimeout(-1); fb.setPropagation(Propagation.REQUIRED); fb.setChunkCompletionPolicy(new DummyCompletionPolicy()); fb.setTaskExecutor(new SyncTaskExecutor()); fb.setItemReader(new DummyItemReader()); fb.setItemProcessor(new PassThroughItemProcessor<>()); fb.setItemWriter(new DummyItemWriter()); fb.setStreams(new ItemStream[] {new FlatFileItemReader<>() }); Object step = fb.getObject(); assertTrue(step instanceof TaskletStep); Object tasklet = ReflectionTestUtils.getField(step, "tasklet"); assertTrue(tasklet instanceof ChunkOrientedTasklet<?>); }
fb.setChunkCompletionPolicy(new DummyCompletionPolicy()); fb.setTaskExecutor(new SyncTaskExecutor()); fb.setItemReader(new DummyItemReader()); fb.setItemProcessor(new PassThroughItemProcessor<>()); fb.setItemWriter(new DummyItemWriter());
/** * Wraps a {@link ItemReader} in a {@link ItemReaderAdapter} if required for consumption * by the rest of the framework. * * @param itemReader {@link ItemReader} or {@link org.springframework.batch.item.ItemReader} implementation * @throws IllegalArgumentException if itemReader does not implement either version of ItemReader */ @SuppressWarnings("unchecked") public void setStepItemReader(Object itemReader) { if(itemReader instanceof org.springframework.batch.item.ItemReader) { super.setItemReader((org.springframework.batch.item.ItemReader<I>) itemReader); } else if(itemReader instanceof ItemReader){ super.setItemReader(new ItemReaderAdapter<I>((ItemReader) itemReader)); } else { throw new IllegalArgumentException("The definition of an item reader must implement either " + "org.springframework.batch.item.ItemReader or javax.batch.api.chunk.ItemReader"); } }
/** * Wraps a {@link ItemReader} in a {@link ItemReaderAdapter} if required for consumption * by the rest of the framework. * * @param itemReader {@link ItemReader} or {@link org.springframework.batch.item.ItemReader} implementation * @throws IllegalArgumentException if itemReader does not implement either version of ItemReader */ @SuppressWarnings("unchecked") public void setStepItemReader(Object itemReader) { if(itemReader instanceof org.springframework.batch.item.ItemReader) { super.setItemReader((org.springframework.batch.item.ItemReader<I>) itemReader); } else if(itemReader instanceof ItemReader){ super.setItemReader(new ItemReaderAdapter<I>((ItemReader) itemReader)); } else { throw new IllegalArgumentException("The definition of an item reader must implement either " + "org.springframework.batch.item.ItemReader or javax.batch.api.chunk.ItemReader"); } }
/** * Wraps a {@link ItemReader} in a {@link ItemReaderAdapter} if required for consumption * by the rest of the framework. * * @param itemReader {@link ItemReader} or {@link org.springframework.batch.item.ItemReader} implementation * @throws IllegalArgumentException if itemReader does not implement either version of ItemReader */ @SuppressWarnings("unchecked") public void setStepItemReader(Object itemReader) { if(itemReader instanceof org.springframework.batch.item.ItemReader) { super.setItemReader((org.springframework.batch.item.ItemReader<I>) itemReader); } else if(itemReader instanceof ItemReader){ super.setItemReader(new ItemReaderAdapter<I>((ItemReader) itemReader)); } else { throw new IllegalArgumentException("The definition of an item reader must implement either " + "org.springframework.batch.item.ItemReader or javax.batch.api.chunk.ItemReader"); } }