Search in sources :

Example 6 with Predicate

use of org.simpleflatmapper.util.Predicate in project SimpleFlatMapper by arnaudroger.

the class JoinJdbcMapperCustomKeyTest method test.

@Test
public void test() throws SQLException {
    JdbcMapper<Person> mapper = JdbcMapperFactory.newInstance().addColumnDefinition(new Predicate<JdbcColumnKey>() {

        @Override
        public boolean test(JdbcColumnKey jdbcColumnKey) {
            return jdbcColumnKey.getIndex() <= 2;
        }
    }, FieldMapperColumnDefinition.<JdbcColumnKey>key(new Predicate<PropertyMeta<?, ?>>() {

        @Override
        public boolean test(PropertyMeta<?, ?> propertyMeta) {
            return propertyMeta.getPath().startsWith("key.");
        }
    })).newBuilder(Person.class).addMapping("key_tag").addMapping("key_n").addMapping("name").addMapping("phones_value").mapper();
    ResultSet rs = JoinJdbcMapperOnTupleTest.setUpResultSetMock(new String[] { "key_tag", "key_n", "name", "phones_value" }, new Object[][] { { "t1", 1, "t11", "p111" }, { "t1", 1, "t11", "p112" }, { "t1", 2, "t12", "p121" } });
    final List<Person> list = mapper.forEach(rs, new ListCollector<Person>()).getList();
    assertEquals(2, list.size());
    assertEquals("t1", list.get(0).key.tag);
    assertEquals(1, list.get(0).key.n);
    assertEquals("t11", list.get(0).name);
    assertEquals(Arrays.asList("p111", "p112"), list.get(0).phones);
    assertEquals("t1", list.get(1).key.tag);
    assertEquals(2, list.get(1).key.n);
    assertEquals("t12", list.get(1).name);
    assertEquals(Arrays.asList("p121"), list.get(1).phones);
}
Also used : JdbcColumnKey(org.simpleflatmapper.jdbc.JdbcColumnKey) ListCollector(org.simpleflatmapper.util.ListCollector) ResultSet(java.sql.ResultSet) PropertyMeta(org.simpleflatmapper.reflect.meta.PropertyMeta) Predicate(org.simpleflatmapper.util.Predicate) Test(org.junit.Test)

Example 7 with Predicate

use of org.simpleflatmapper.util.Predicate in project SimpleFlatMapper by arnaudroger.

the class ArrayClassMetaTest method testArrayObject.

@Test
public void testArrayObject() throws Exception {
    ClassMeta<?> classMeta = ReflectionService.newInstance().getClassMeta(Object[].class);
    assertTrue(classMeta instanceof ArrayClassMeta);
    PropertyMeta p = classMeta.newPropertyFinder(new Predicate() {

        @Override
        public boolean test(Object propertyMeta) {
            return true;
        }
    }).findProperty(DefaultPropertyNameMatcher.of("3"), new Object[0]);
    Object[] array = new Object[10];
    p.getSetter().set(array, "aaa");
    assertEquals("aaa", p.getGetter().get(array));
    assertEquals("aaa", array[3]);
}
Also used : ArrayClassMeta(org.simpleflatmapper.reflect.meta.ArrayClassMeta) PropertyMeta(org.simpleflatmapper.reflect.meta.PropertyMeta) Predicate(org.simpleflatmapper.util.Predicate) Test(org.junit.Test)

Example 8 with Predicate

use of org.simpleflatmapper.util.Predicate in project SimpleFlatMapper by arnaudroger.

the class CsvParserTest method testDSLIgnoreField.

@Test
public void testDSLIgnoreField() throws Exception {
    Iterator<Tuple2<String, String>> iterator = CsvParser.mapTo(String.class, String.class).columnDefinition(new Predicate<CsvColumnKey>() {

        @Override
        public boolean test(CsvColumnKey csvColumnKey) {
            return csvColumnKey.getIndex() != 1 && csvColumnKey.getIndex() != 2;
        }
    }, CsvColumnDefinition.ignoreDefinition()).iterator(new StringReader("-1,0,1,2\nv0,v1,v2,v3"));
    Tuple2<String, String> tuple = iterator.next();
    assertEquals("v1", tuple.first());
    assertEquals("v2", tuple.second());
}
Also used : Tuple2(org.simpleflatmapper.tuple.Tuple2) CsvColumnKey(org.simpleflatmapper.csv.CsvColumnKey) StringReader(java.io.StringReader) Predicate(org.simpleflatmapper.util.Predicate) Test(org.junit.Test)

Example 9 with Predicate

use of org.simpleflatmapper.util.Predicate in project SimpleFlatMapper by arnaudroger.

the class ConstantSourceMapperBuilderTest method testIssue495.

@Test
public void testIssue495() throws Exception {
    TypeReference<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>> typeReference = new TypeReference<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>>() {
    };
    ClassMeta<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>> classMeta = this.classMeta.getReflectionService().getClassMeta(typeReference.getType());
    Predicate<PropertyMeta<?, ?>> propertyFilter = new Predicate<PropertyMeta<?, ?>>() {

        @Override
        public boolean test(PropertyMeta<?, ?> propertyMeta) {
            return true;
        }
    };
    PropertyFinder<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>> propertyFinder = classMeta.newPropertyFinder(propertyFilter);
    PropertyMeta<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>, Object> p1 = propertyFinder.findProperty(new DefaultPropertyNameMatcher("variableName", 0, false, false), new Object[0]);
    PropertyMeta<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>, Object> p2 = propertyFinder.findProperty(new DefaultPropertyNameMatcher("variableName", 0, false, false), new Object[0]);
    System.out.println("p1.getPath() = " + p1.getPath());
    System.out.println("p2.getPath() = " + p2.getPath());
}
Also used : DefaultPropertyNameMatcher(org.simpleflatmapper.reflect.meta.DefaultPropertyNameMatcher) Predicate(org.simpleflatmapper.util.Predicate) Tuple2(org.simpleflatmapper.tuple.Tuple2) Tuple3(org.simpleflatmapper.tuple.Tuple3) List(java.util.List) PropertyMeta(org.simpleflatmapper.reflect.meta.PropertyMeta) TypeReference(org.simpleflatmapper.util.TypeReference) Test(org.junit.Test)

Example 10 with Predicate

use of org.simpleflatmapper.util.Predicate in project SimpleFlatMapper by arnaudroger.

the class AbstractMapperFactoryTest method testDefaultMapperConfig.

@Test
public void testDefaultMapperConfig() {
    MapperFactory mapperFactory = new MapperFactory();
    MapperConfig<SampleFieldKey, FieldMapperColumnDefinition<SampleFieldKey>> mapperConfig = mapperFactory.mapperConfig();
    final ArrayList<Object> properties = new ArrayList<Object>();
    mapperConfig.columnDefinitions().forEach(Object.class, new BiConsumer<Predicate<? super SampleFieldKey>, Object>() {

        @Override
        public void accept(Predicate<? super SampleFieldKey> predicate, Object o) {
            properties.add(o);
        }
    });
    assertTrue(properties.isEmpty());
    assertFalse(mapperConfig.failOnAsm());
    assertEquals(NO_ASM_MAPPER_THRESHOLD, mapperConfig.asmMapperNbFieldsLimit());
    assertNull(mapperConfig.fieldMapperErrorHandler());
    assertFalse(mapperConfig.hasFieldMapperErrorHandler());
    assertTrue(mapperConfig.mapperBuilderErrorHandler() instanceof RethrowMapperBuilderErrorHandler);
    assertTrue(mapperConfig.consumerErrorHandler() instanceof RethrowConsumerErrorHandler);
    assertEquals(MapperConfig.MAX_METHOD_SIZE, mapperConfig.maxMethodSize());
    assertTrue(mapperConfig.propertyNameMatcherFactory() instanceof DefaultPropertyNameMatcherFactory);
    assertTrue(mapperFactory.getReflectionService().isAsmActivated());
}
Also used : FieldMapperColumnDefinition(org.simpleflatmapper.map.property.FieldMapperColumnDefinition) ArrayList(java.util.ArrayList) Predicate(org.simpleflatmapper.util.Predicate) RethrowMapperBuilderErrorHandler(org.simpleflatmapper.map.error.RethrowMapperBuilderErrorHandler) AbstractMapperFactory(org.simpleflatmapper.map.mapper.AbstractMapperFactory) RethrowConsumerErrorHandler(org.simpleflatmapper.map.error.RethrowConsumerErrorHandler) SampleFieldKey(org.simpleflatmapper.test.map.SampleFieldKey) DefaultPropertyNameMatcherFactory(org.simpleflatmapper.map.mapper.DefaultPropertyNameMatcherFactory) Test(org.junit.Test)

Aggregations

Predicate (org.simpleflatmapper.util.Predicate)13 Test (org.junit.Test)9 PropertyMeta (org.simpleflatmapper.reflect.meta.PropertyMeta)7 ArrayList (java.util.ArrayList)3 DefaultPropertyNameMatcher (org.simpleflatmapper.reflect.meta.DefaultPropertyNameMatcher)3 Tuple2 (org.simpleflatmapper.tuple.Tuple2)3 StringReader (java.io.StringReader)2 Type (java.lang.reflect.Type)2 List (java.util.List)2 CellValueReaderFactory (org.simpleflatmapper.csv.CellValueReaderFactory)2 CsvColumnKey (org.simpleflatmapper.csv.CsvColumnKey)2 FieldMapperColumnDefinition (org.simpleflatmapper.map.property.FieldMapperColumnDefinition)2 ArrayClassMeta (org.simpleflatmapper.reflect.meta.ArrayClassMeta)2 SubPropertyMeta (org.simpleflatmapper.reflect.meta.SubPropertyMeta)2 SampleFieldKey (org.simpleflatmapper.test.map.SampleFieldKey)2 Tuple3 (org.simpleflatmapper.tuple.Tuple3)2 TypeReference (org.simpleflatmapper.util.TypeReference)2 ResultSet (java.sql.ResultSet)1 Before (org.junit.Before)1 UncheckedConverter (org.simpleflatmapper.converter.UncheckedConverter)1