/** * Returns a fully constructed {@link CompositeItemWriter}. * * @return a new {@link CompositeItemWriter} */ public CompositeItemWriter<T> build() { Assert.notNull(delegates, "A list of delegates is required."); Assert.notEmpty(delegates, "The delegates list must have one or more delegates."); CompositeItemWriter<T> writer = new CompositeItemWriter<>(); writer.setDelegates(this.delegates); writer.setIgnoreItemStream(this.ignoreItemStream); return writer; } }
/** * Regular usage scenario. All injected processors should be called. */ @Test public void testProcess() throws Exception { final int NUMBER_OF_WRITERS = 10; List<Object> data = Collections.singletonList(new Object()); List<ItemWriter<? super Object>> writers = new ArrayList<>(); for (int i = 0; i < NUMBER_OF_WRITERS; i++) { @SuppressWarnings("unchecked") ItemWriter<? super Object> writer = mock(ItemWriter.class); writer.write(data); writers.add(writer); } itemWriter.setDelegates(writers); itemWriter.write(data); }
private void doTestItemStream(boolean expectOpen) throws Exception { @SuppressWarnings("unchecked") ItemStreamWriter<? super Object> writer = mock(ItemStreamWriter.class); List<Object> data = Collections.singletonList(new Object()); ExecutionContext executionContext = new ExecutionContext(); if (expectOpen) { writer.open(executionContext); } writer.write(data); List<ItemWriter<? super Object>> writers = new ArrayList<>(); writers.add(writer); itemWriter.setDelegates(writers); if (expectOpen) { itemWriter.open(executionContext); } itemWriter.write(data); }
/** * Returns a fully constructed {@link CompositeItemWriter}. * * @return a new {@link CompositeItemWriter} */ public CompositeItemWriter<T> build() { Assert.notNull(delegates, "A list of delegates is required."); Assert.notEmpty(delegates, "The delegates list must have one or more delegates."); CompositeItemWriter<T> writer = new CompositeItemWriter<>(); writer.setDelegates(this.delegates); writer.setIgnoreItemStream(this.ignoreItemStream); return writer; } }