@Override public FieldSet tokenize(String line) { return new DefaultFieldSet(new String[] { "c", "d" }); } });
@Override public FieldSet tokenize(String line) { return new DefaultFieldSet(new String[] { "a", "b" }); } });
@Override public FieldSet tokenize(String line) { return new DefaultFieldSet(new String[] { "c", "d" }); } });
@Override protected FieldSet fieldSet() { String[] tokens = new String[] { SHIPPER_ID, SHIPPING_INFO, SHIPPING_TYPE_ID }; String[] columnNames = new String[] { ShippingFieldSetMapper.SHIPPER_ID_COLUMN, ShippingFieldSetMapper.ADDITIONAL_SHIPPING_INFO_COLUMN, ShippingFieldSetMapper.SHIPPING_TYPE_ID_COLUMN }; return new DefaultFieldSet(tokens, columnNames); }
@Override protected FieldSet fieldSet() { String[] tokens = new String[] { Customer.LINE_ID_NON_BUSINESS_CUST, FIRST_NAME, LAST_NAME, MIDDLE_NAME, CustomerFieldSetMapper.TRUE_SYMBOL, String.valueOf(REG_ID), CustomerFieldSetMapper.TRUE_SYMBOL }; String[] columnNames = new String[] { CustomerFieldSetMapper.LINE_ID_COLUMN, CustomerFieldSetMapper.FIRST_NAME_COLUMN, CustomerFieldSetMapper.LAST_NAME_COLUMN, CustomerFieldSetMapper.MIDDLE_NAME_COLUMN, CustomerFieldSetMapper.REGISTERED_COLUMN, CustomerFieldSetMapper.REG_ID_COLUMN, CustomerFieldSetMapper.VIP_COLUMN }; return new DefaultFieldSet(tokens, columnNames); }
@Override protected FieldSet fieldSet() { String[] tokens = new String[4]; tokens[TradeFieldSetMapper.ISIN_COLUMN] = ISIN; tokens[TradeFieldSetMapper.QUANTITY_COLUMN] = String.valueOf(QUANTITY); tokens[TradeFieldSetMapper.PRICE_COLUMN] = String.valueOf(PRICE); tokens[TradeFieldSetMapper.CUSTOMER_COLUMN] = CUSTOMER; return new DefaultFieldSet(tokens); }
@Test public void testStrictReadDateWithPatternAndStrangeDate() throws Exception { fieldSet = new DefaultFieldSet(new String[] {"5550212"}); try { System.err.println(fieldSet.readDate(0, "yyyyMMdd")); fail("field value is not a valid date for strict parser, exception expected"); } catch (IllegalArgumentException e) { String message = e.getMessage(); assertTrue("Message did not contain: " + message, message.indexOf("yyyyMMdd") > 0); } }
@Test public void testToStringWithoutNames() throws Exception { fieldSet = new DefaultFieldSet(new String[] { "foo", "bar" }); assertTrue(fieldSet.toString().indexOf("foo") >= 0); }
@Test public void testReadBooleanFalse() { fieldSet = new DefaultFieldSet(new String[] { "false" }); assertFalse(fieldSet.readBoolean(0)); }
@Test public void testReadLongWithPadding() throws Exception { fieldSet = new DefaultFieldSet(new String[] { "000009" }); assertEquals(9, fieldSet.readLong(0)); }
@Test public void testPropertiesWithNullValues() throws Exception { fieldSet = new DefaultFieldSet(new String[] { null, "bar" }, new String[] { "Foo", "Bar" }); assertEquals("bar", fieldSet.getProperties().getProperty("Bar")); assertEquals(null, fieldSet.getProperties().getProperty("Foo")); }
@Test public void testPaddedLong() { FieldSet fs = new DefaultFieldSet(new String[] { "00000009" }); long value = fs.readLong(0); assertEquals(value, 9); }
@Test public void testExtractFieldSet() { PassThroughFieldExtractor<FieldSet> extractor = new PassThroughFieldExtractor<>(); Object[] result = extractor.extract(new DefaultFieldSet(new String[] { "a", "b", "", "d" })); assertTrue(Arrays.equals(new Object[] { "a", "b", "", "d" }, result)); }
@Test public void testAccessByNameWhenNamesMissing() throws Exception { try { new DefaultFieldSet(new String[] { "1", "2" }).readInt("a"); fail("Expected IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected } }
@Test public void testPaddedLongWithEditor() throws Exception { BeanWrapperFieldSetMapper<TestObject> mapper = new BeanWrapperFieldSetMapper<>(); mapper.setTargetType(TestObject.class); FieldSet fieldSet = new DefaultFieldSet(new String[] { "00009" }, new String[] { "varLong" }); mapper.setCustomEditors(Collections.singletonMap(Long.TYPE, new CustomNumberEditor(Long.class, NumberFormat .getNumberInstance(), true))); TestObject bean = mapper.mapFieldSet(fieldSet); assertEquals(9, bean.getVarLong()); }
@Test public void testSetBeginRecord() throws Exception { mapper.setBegin("FOO"); assertTrue(mapper.mapFieldSet(new DefaultFieldSet(new String[] { "FOO" })).isHeader()); }
@Test public void testDelegate() throws Exception { mapper.setDelegate(new FieldSetMapper<String>() { @Override public String mapFieldSet(FieldSet fs) { return "foo"; } }); assertEquals("foo", mapper.mapFieldSet(new DefaultFieldSet(new String[] { "FOO" })).getItem()); } }
@Test public void testNamesNotKnown() throws Exception { fieldSet = new DefaultFieldSet(new String[] { "foo" }); assertFalse(fieldSet.hasNames()); try { fieldSet.getNames(); fail("Expected IllegalStateException"); } catch (IllegalStateException e) { // expected } }
@Test public void testReadRawString() { String name = "fieldName"; String value = " string with trailing whitespace "; FieldSet fs = new DefaultFieldSet(new String[] { value }, new String[] { name }); assertEquals(value, fs.readRawString(0)); assertEquals(value, fs.readRawString(name)); } }
@Test public void testPaddedLongWithNoEditor() throws Exception { BeanWrapperFieldSetMapper<TestObject> mapper = new BeanWrapperFieldSetMapper<>(); mapper.setTargetType(TestObject.class); FieldSet fieldSet = new DefaultFieldSet(new String[] { "00009" }, new String[] { "varLong" }); TestObject bean = mapper.mapFieldSet(fieldSet); // since Spring 2.5.5 this is OK (before that BATCH-261) assertEquals(9, bean.getVarLong()); }