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 testExtract_invalidProperty() throws Exception { extractor.setNames(new String[] { "first", "last", "birthday" }); extractor.afterPropertiesSet(); String first = "Alan"; String last = "Turing"; int born = 1912; Name n = new Name(first, last, born); try { extractor.extract(n); fail(); } catch (NotReadablePropertyException e) { assertTrue(e.getMessage().startsWith("Invalid property 'birthday'")); } }
@Test(expected = IllegalArgumentException.class) public void testNamesPropertyMustBeSet() throws Exception { extractor.setNames(null); extractor.afterPropertiesSet(); } }
private FieldExtractor<StudentDTO> createStudentFieldExtractor() { BeanWrapperFieldExtractor<StudentDTO> extractor = new BeanWrapperFieldExtractor<>(); extractor.setNames(new String[] {"name", "emailAddress", "purchasedPackage"}); return extractor; }
private FieldExtractor<StudentDTO> createStudentFieldExtractor() { BeanWrapperFieldExtractor<StudentDTO> extractor = new BeanWrapperFieldExtractor<>(); extractor.setNames(new String[] {"name", "emailAddress", "purchasedPackage"}); return extractor; }
public FormatterLineAggregator<T> build() { Assert.notNull(this.format, "A format is required"); Assert.isTrue((this.names != null && !this.names.isEmpty()) || this.fieldExtractor != null, "A list of field names or a field extractor is required"); FormatterLineAggregator<T> formatterLineAggregator = new FormatterLineAggregator<>(); formatterLineAggregator.setFormat(this.format); formatterLineAggregator.setLocale(this.locale); formatterLineAggregator.setMinimumLength(this.minimumLength); formatterLineAggregator.setMaximumLength(this.maximumLength); 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 FormatterLineAggregator", e); } this.fieldExtractor = beanWrapperFieldExtractor; } formatterLineAggregator.setFieldExtractor(this.fieldExtractor); return formatterLineAggregator; } }
@Test public void testExtract() throws Exception { extractor.setNames(new String[] { "first", "last", "born" }); extractor.afterPropertiesSet(); String first = "Alan"; String last = "Turing"; int born = 1912; Name n = new Name(first, last, born); Object[] values = extractor.extract(n); assertEquals(3, values.length); assertEquals(first, values[0]); assertEquals(last, values[1]); assertEquals(born, values[2]); }
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; } }
public FormatterLineAggregator<T> build() { Assert.notNull(this.format, "A format is required"); Assert.isTrue((this.names != null && !this.names.isEmpty()) || this.fieldExtractor != null, "A list of field names or a field extractor is required"); FormatterLineAggregator<T> formatterLineAggregator = new FormatterLineAggregator<>(); formatterLineAggregator.setFormat(this.format); formatterLineAggregator.setLocale(this.locale); formatterLineAggregator.setMinimumLength(this.minimumLength); formatterLineAggregator.setMaximumLength(this.maximumLength); 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 FormatterLineAggregator", e); } this.fieldExtractor = beanWrapperFieldExtractor; } formatterLineAggregator.setFieldExtractor(this.fieldExtractor); return formatterLineAggregator; } }