Search in sources :

Example 1 with Tuple2

use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.

the class CsvMapperCustomReaderTest method testCustomCsvReaderValueFactory.

@Test
public void testCustomCsvReaderValueFactory() throws IOException {
    CsvMapper<Tuple2<String, String>> csvMapper = CsvMapperFactory.newInstance().addColumnDefinition(new Predicate<CsvColumnKey>() {

        @Override
        public boolean test(CsvColumnKey csvColumnKey) {
            return true;
        }
    }, CsvColumnDefinition.customCellValueReaderFactoryDefinition(new CellValueReaderFactory() {

        @SuppressWarnings("unchecked")
        @Override
        public <P> CellValueReader<P> getReader(Type propertyType, final int index, CsvColumnDefinition columnDefinition, ParsingContextFactoryBuilder builder) {
            return (CellValueReader<P>) new CellValueReader<String>() {

                @Override
                public String read(char[] chars, int offset, int length, ParsingContext parsingContext) {
                    return "g" + index;
                }
            };
        }
    })).newMapper(Tuples.typeDef(String.class, String.class));
    Tuple2<String, String> value = csvMapper.iterator(new StringReader("b0,b1\nc0,c1")).next();
    assertEquals("g0", value.first());
    assertEquals("g1", value.second());
}
Also used : ParsingContext(org.simpleflatmapper.csv.ParsingContext) ParsingContextFactoryBuilder(org.simpleflatmapper.csv.ParsingContextFactoryBuilder) CellValueReader(org.simpleflatmapper.csv.CellValueReader) Predicate(org.simpleflatmapper.util.Predicate) Type(java.lang.reflect.Type) Tuple2(org.simpleflatmapper.tuple.Tuple2) CsvColumnKey(org.simpleflatmapper.csv.CsvColumnKey) CellValueReaderFactory(org.simpleflatmapper.csv.CellValueReaderFactory) StringReader(java.io.StringReader) CsvColumnDefinition(org.simpleflatmapper.csv.CsvColumnDefinition) Test(org.junit.Test)

Example 2 with Tuple2

use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.

the class CsvMapperFactoryDefaultValueTest method testDefaultValueJodaDateTime.

@Test
public void testDefaultValueJodaDateTime() throws IOException {
    LocalDateTime localDateTime = LocalDateTime.now();
    final Tuple2<String, LocalDateTime> value = CsvMapperFactory.newInstance().addColumnProperty("element1", new DefaultValueProperty<LocalDateTime>(localDateTime)).newMapper(new TypeReference<Tuple2<String, LocalDateTime>>() {
    }).iterator(CsvParser.reader("element0\nv0")).next();
    assertEquals("v0", value.getElement0());
    assertEquals(localDateTime, value.getElement1());
}
Also used : LocalDateTime(org.joda.time.LocalDateTime) DefaultValueProperty(org.simpleflatmapper.map.property.DefaultValueProperty) Tuple2(org.simpleflatmapper.tuple.Tuple2) Test(org.junit.Test)

Example 3 with Tuple2

use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.

the class CsvParserTest method testDSLMapWithCustomDefinitionOnStaticMapper.

@Test
public void testDSLMapWithCustomDefinitionOnStaticMapper() throws Exception {
    Iterator<Tuple2<String, String>> iterator = CsvParser.mapTo(String.class, String.class).addMapping("0").addMapping("1", CsvColumnDefinition.customReaderDefinition(new CellValueReader<String>() {

        @Override
        public String read(char[] chars, int offset, int length, ParsingContext parsingContext) {
            return "c1";
        }
    })).iterator(new StringReader("0,1\nv0,v1"));
    Tuple2<String, String> tuple = iterator.next();
    assertEquals("v0", tuple.first());
    assertEquals("c1", tuple.second());
}
Also used : ParsingContext(org.simpleflatmapper.csv.ParsingContext) Tuple2(org.simpleflatmapper.tuple.Tuple2) StringReader(java.io.StringReader) Test(org.junit.Test)

Example 4 with Tuple2

use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.

the class CsvParserTest method testDSLWithMapper.

@Test
public void testDSLWithMapper() throws IOException {
    Iterator<Tuple2<String, String>> iterator = CsvParser.<Tuple2<String, String>>mapTo(Tuples.typeDef(String.class, String.class)).iterator(new StringReader("val0,val1\nvalue1,value2"));
    assertTrue(iterator.hasNext());
    Tuple2<String, String> tuple2 = iterator.next();
    assertEquals("value1", tuple2.first());
    assertEquals("value2", tuple2.second());
    assertFalse(iterator.hasNext());
// assertEquals("value", CsvParser.mapTo(String.class).iterator(new StringReader("val\nvalue")).current());
}
Also used : Tuple2(org.simpleflatmapper.tuple.Tuple2) StringReader(java.io.StringReader) Test(org.junit.Test)

Example 5 with Tuple2

use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.

the class CsvParserTest method testDSLMapWithCustomDefinition.

// IFJAVA8_END
@Test
public void testDSLMapWithCustomDefinition() throws Exception {
    Iterator<Tuple2<String, String>> iterator = CsvParser.mapTo(String.class, String.class).columnDefinition("1", CsvColumnDefinition.customReaderDefinition(new CellValueReader<String>() {

        @Override
        public String read(char[] chars, int offset, int length, ParsingContext parsingContext) {
            return "c1";
        }
    })).iterator(new StringReader("0,1\nv0,v1"));
    Tuple2<String, String> tuple = iterator.next();
    assertEquals("v0", tuple.first());
    assertEquals("c1", tuple.second());
}
Also used : ParsingContext(org.simpleflatmapper.csv.ParsingContext) Tuple2(org.simpleflatmapper.tuple.Tuple2) StringReader(java.io.StringReader) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)23 Tuple2 (org.simpleflatmapper.tuple.Tuple2)23 StringReader (java.io.StringReader)12 Type (java.lang.reflect.Type)3 ParsingContext (org.simpleflatmapper.csv.ParsingContext)3 Predicate (org.simpleflatmapper.util.Predicate)3 Method (java.lang.reflect.Method)2 ResultSet (java.sql.ResultSet)2 List (java.util.List)2 CsvColumnKey (org.simpleflatmapper.csv.CsvColumnKey)2 InstantiatorDefinition (org.simpleflatmapper.reflect.InstantiatorDefinition)2 ReflectionService (org.simpleflatmapper.reflect.ReflectionService)2 ParameterizedType (java.lang.reflect.ParameterizedType)1 BigInteger (java.math.BigInteger)1 URLClassLoader (java.net.URLClassLoader)1 Connection (java.sql.Connection)1 PreparedStatement (java.sql.PreparedStatement)1 Statement (java.sql.Statement)1 Date (java.util.Date)1 LocalDateTime (org.joda.time.LocalDateTime)1