Search in sources :

Example 6 with Tuple2

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

the class CsvParserTest method testDSLMapToTuple2WithDefaultHeader.

@Test
public void testDSLMapToTuple2WithDefaultHeader() throws IOException {
    Iterator<Tuple2<String, String>> iterator = CsvParser.mapTo(String.class, String.class).defaultHeaders().iterator(new StringReader("value1,value2"));
    assertTrue(iterator.hasNext());
    Tuple2<String, String> tuple2 = iterator.next();
    assertEquals("value1", tuple2.first());
    assertEquals("value2", tuple2.second());
    assertFalse(iterator.hasNext());
}
Also used : Tuple2(org.simpleflatmapper.tuple.Tuple2) StringReader(java.io.StringReader) Test(org.junit.Test)

Example 7 with Tuple2

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

the class CsvParserTest method testDSLWitStaticMapper.

@Test
public void testDSLWitStaticMapper() throws IOException {
    Iterator<Tuple2<String, String>> iterator = CsvParser.<Tuple2<String, String>>mapTo(Tuples.typeDef(String.class, String.class)).headers("0", "1").iterator(new StringReader("value1,value2"));
    assertTrue(iterator.hasNext());
    Tuple2<String, String> tuple2 = iterator.next();
    assertEquals("value1", tuple2.first());
    assertEquals("value2", tuple2.second());
    assertFalse(iterator.hasNext());
}
Also used : Tuple2(org.simpleflatmapper.tuple.Tuple2) StringReader(java.io.StringReader) Test(org.junit.Test)

Example 8 with Tuple2

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

the class JdbcMapperTupleTest method testIssue450.

@Test
public void testIssue450() throws Exception {
    JdbcMapper<Tuple2<Integer, List<Privilege>>> mapper = JdbcMapperFactory.newInstance().reflectionService(ReflectionService.newInstance().withSelfScoreFullName(true)).addKeys("resource_id", "id").newBuilder(new TypeReference<Tuple2<Integer, List<Privilege>>>() {
    }).addMapping("id", 1, 4).addMapping("name", 2, 12).addMapping("resource_id", 3, 4).mapper();
    Connection dbConnection = DbHelper.getDbConnection(DbHelper.TargetDB.POSTGRESQL);
    if (dbConnection == null) {
        return;
    }
    Statement statement = dbConnection.createStatement();
    ResultSet rs = statement.executeQuery("with \n" + "\tresource_privileges(resource_id, privilege_id) AS (VALUES(1, 10), (2, 10), (3, 11)),\n" + "\tprivilege (id, name) as (values(10, 'write'), ('11', 'read'))\n" + "select privilege.id, privilege.name, resource_privileges.resource_id\n" + "from privilege join resource_privileges on resource_privileges.privilege_id = privilege.id\n" + "order by resource_privileges.resource_id");
    List<Tuple2<Integer, List<Privilege>>> list = mapper.forEach(rs, new ListCollector<Tuple2<Integer, List<Privilege>>>()).getList();
    assertEquals(2, list.size());
    assertEquals((Integer) 10, list.get(0).first());
    assertEquals((Integer) 11, list.get(1).first());
    assertEquals(2, list.get(0).second().size());
    assertEquals(1, list.get(1).second().size());
    dbConnection.close();
}
Also used : ListCollector(org.simpleflatmapper.util.ListCollector) Tuple2(org.simpleflatmapper.tuple.Tuple2) PreparedStatement(java.sql.PreparedStatement) Statement(java.sql.Statement) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet) List(java.util.List) Test(org.junit.Test)

Example 9 with Tuple2

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

the class SettableDataSetterFactoryTest method testSetOfTuple.

@Test
public void testSetOfTuple() throws Exception {
    TupleType ut = TupleType.of(DataType.text(), DataType.cint());
    Set<Tuple2<String, Integer>> values = new HashSet<Tuple2<String, Integer>>(Arrays.asList(new Tuple2<String, Integer>("aa", 1), new Tuple2<String, Integer>("bb", 2)));
    Setter<SettableByIndexData, Set<Tuple2<String, Integer>>> setter = factory.getSetter(newPM(new TypeReference<Set<Tuple2<String, Integer>>>() {
    }.getType(), DataType.set(ut)));
    setter.set(statement, values);
    setter.set(statement, null);
    ArgumentCaptor<Set> captor = ArgumentCaptor.forClass(Set.class);
    verify(statement).setSet(eq(0), captor.capture());
    Set value = captor.getValue();
    assertEquals(2, value.size());
    for (Object o : value) {
        TupleValue tv = (TupleValue) o;
        String str = tv.getString(0);
        int i = tv.getInt(1);
        switch(i) {
            case 1:
                assertEquals("aa", str);
                break;
            case 2:
                assertEquals("bb", str);
                break;
            default:
                fail();
        }
    }
    verify(statement).setToNull(0);
}
Also used : BigInteger(java.math.BigInteger) Tuple2(org.simpleflatmapper.tuple.Tuple2) DbObject(org.simpleflatmapper.test.beans.DbObject) Test(org.junit.Test)

Example 10 with Tuple2

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

the class TupleClassMetaTest method testRespecify.

@Test
public void testRespecify() throws ClassNotFoundException, MalformedURLException {
    ClassLoader cl = new URLClassLoader(new URL[] { LibrarySetsClassLoader.findUrl(Tuple2.class, getClass().getClassLoader()) }, null) {

        @Override
        public InputStream getResourceAsStream(String name) {
            return null;
        }
    };
    ReflectionService reflectionService = new ReflectionService(null) {
    };
    Class<?> tuple2Class = cl.loadClass(Tuple2.class.getName());
    TupleClassMeta classMeta = new TupleClassMeta(tuple2Class, reflectionService);
    List<InstantiatorDefinition> instantiatorDefinitions = classMeta.getInstantiatorDefinitions();
    assertEquals(1, instantiatorDefinitions.size());
    assertEquals("element0", instantiatorDefinitions.get(0).getParameters()[0].getName());
}
Also used : InstantiatorDefinition(org.simpleflatmapper.reflect.InstantiatorDefinition) Tuple2(org.simpleflatmapper.tuple.Tuple2) URLClassLoader(java.net.URLClassLoader) LibrarySetsClassLoader(org.simpleflatmapper.test.junit.LibrarySetsClassLoader) URLClassLoader(java.net.URLClassLoader) ReflectionService(org.simpleflatmapper.reflect.ReflectionService) 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