public DelimitedLineAggregator<T> build() { Assert.isTrue((this.names != null && !this.names.isEmpty()) || this.fieldExtractor != null, "A list of field names or a field extractor is required"); DelimitedLineAggregator<T> delimitedLineAggregator = new DelimitedLineAggregator<>(); if (StringUtils.hasLength(this.delimiter)) { delimitedLineAggregator.setDelimiter(this.delimiter); } if (this.fieldExtractor == null) { BeanWrapperFieldExtractor<T> beanWrapperFieldExtractor = new BeanWrapperFieldExtractor<>(); beanWrapperFieldExtractor.setNames(this.names.toArray(new String[this.names.size()])); try { beanWrapperFieldExtractor.afterPropertiesSet(); } catch (Exception e) { throw new IllegalStateException("Unable to initialize DelimitedLineAggregator", e); } this.fieldExtractor = beanWrapperFieldExtractor; } delimitedLineAggregator.setFieldExtractor(this.fieldExtractor); return delimitedLineAggregator; } }
@Test public void testSetDelimiter() { aggregator.setDelimiter(";"); assertEquals("foo;bar", aggregator.aggregate(new String[] { "foo", "bar" })); }
@Before public void setup() { aggregator = new DelimitedLineAggregator<>(); aggregator.setFieldExtractor(defaultFieldExtractor); }
@Test public void testAggregateWithNull() { assertEquals("foo,,bar", aggregator.aggregate(new String[] { "foo", null, "bar" })); } }
@Test public void testAggregate() { assertEquals("foo,bar", aggregator.aggregate(new String[] { "foo", "bar" })); }
private LineAggregator<StudentDTO> createStudentLineAggregator() { DelimitedLineAggregator<StudentDTO> lineAggregator = new DelimitedLineAggregator<>(); lineAggregator.setDelimiter(";"); FieldExtractor<StudentDTO> fieldExtractor = createStudentFieldExtractor(); lineAggregator.setFieldExtractor(fieldExtractor); return lineAggregator; }
private LineAggregator<StudentDTO> createStudentLineAggregator() { DelimitedLineAggregator<StudentDTO> lineAggregator = new DelimitedLineAggregator<>(); lineAggregator.setDelimiter(";"); FieldExtractor<StudentDTO> fieldExtractor = createStudentFieldExtractor(); lineAggregator.setFieldExtractor(fieldExtractor); return lineAggregator; }
public DelimitedLineAggregator<T> build() { Assert.isTrue((this.names != null && !this.names.isEmpty()) || this.fieldExtractor != null, "A list of field names or a field extractor is required"); DelimitedLineAggregator<T> delimitedLineAggregator = new DelimitedLineAggregator<>(); if (StringUtils.hasLength(this.delimiter)) { delimitedLineAggregator.setDelimiter(this.delimiter); } if (this.fieldExtractor == null) { BeanWrapperFieldExtractor<T> beanWrapperFieldExtractor = new BeanWrapperFieldExtractor<>(); beanWrapperFieldExtractor.setNames(this.names.toArray(new String[this.names.size()])); try { beanWrapperFieldExtractor.afterPropertiesSet(); } catch (Exception e) { throw new IllegalStateException("Unable to initialize DelimitedLineAggregator", e); } this.fieldExtractor = beanWrapperFieldExtractor; } delimitedLineAggregator.setFieldExtractor(this.fieldExtractor); return delimitedLineAggregator; } }