SimpleFlatMapper mapping to ZoneId

24 views
Skip to first unread message

manit...@gmail.com

unread,
Apr 1, 2018, 6:16:18 AM4/1/18
to SimpleFlatMapper
Hello

I would like to map a string in DB to a ZoneId object

    .addColumnProperty("my_zone_id",
      new GetterProperty((Getter<ResultSet, ZoneId>) rs -> {
      return ZoneId.of(rs.getString("my_zone_id"));
    }))

Unfortunately it doesn't work, I have the following exception :

    Exception in thread "main" java.lang.NullPointerException
    at java.lang.Class.isAssignableFrom(Native Method)
    at org.simpleflatmapper.util.TypeHelper.isAssignable(TypeHelper.java:148)
    at org.simpleflatmapper.util.TypeHelper.isAssignable(TypeHelper.java:144)
    at org.simpleflatmapper.reflect.impl.BuilderInstantiatorDefinitionFactory.getDefinitionForBuilder(BuilderInstantiatorDefinitionFactory.java:101)
    at org.simpleflatmapper.reflect.impl.BuilderInstantiatorDefinitionFactory.getDefinitionForBuilder(BuilderInstantiatorDefinitionFactory.java:78)
    at org.simpleflatmapper.reflect.impl.BuilderInstantiatorDefinitionFactory.getDefinitionForBuilderFromMethod(BuilderInstantiatorDefinitionFactory.java:64)
    at org.simpleflatmapper.reflect.impl.BuilderInstantiatorDefinitionFactory.extractDefinitions(BuilderInstantiatorDefinitionFactory.java:41)
    at org.simpleflatmapper.reflect.ReflectionService.extractInstantiator(ReflectionService.java:210)
    at org.simpleflatmapper.reflect.meta.ObjectClassMeta.<init>(ObjectClassMeta.java:39)
    at org.simpleflatmapper.reflect.meta.ObjectClassMeta.<init>(ObjectClassMeta.java:32)
    at org.simpleflatmapper.reflect.ReflectionService.newClassMeta(ReflectionService.java:160)
    at org.simpleflatmapper.reflect.ReflectionService.getClassMeta(ReflectionService.java:128)
    at org.simpleflatmapper.reflect.meta.PropertyMeta.newPropertyClassMeta(PropertyMeta.java:53)
    at org.simpleflatmapper.reflect.meta.PropertyMeta.getPropertyClassMeta(PropertyMeta.java:46)
    at org.simpleflatmapper.reflect.meta.ObjectPropertyFinder.lookForSubProperty(ObjectPropertyFinder.java:113)
    at org.simpleflatmapper.reflect.meta.ObjectPropertyFinder.lookForProperty(ObjectPropertyFinder.java:89)
    at org.simpleflatmapper.reflect.meta.ObjectPropertyFinder.lookForProperties(ObjectPropertyFinder.java:39)
    at org.simpleflatmapper.reflect.meta.PropertyFinder.findProperty(PropertyFinder.java:28)
    at org.simpleflatmapper.map.mapper.PropertyMappingsBuilder._addProperty(PropertyMappingsBuilder.java:95)
    at org.simpleflatmapper.map.mapper.PropertyMappingsBuilder.addProperty(PropertyMappingsBuilder.java:73)
    at org.simpleflatmapper.map.mapper.ConstantSourceMapperBuilder.addMapping(ConstantSourceMapperBuilder.java:109)
    at org.simpleflatmapper.map.mapper.AbstractMapperBuilder.addMapping(AbstractMapperBuilder.java:171)
    at org.simpleflatmapper.jdbc.JdbcMapperFactory$SetRowMapperFactory.newInstance(JdbcMapperFactory.java:310)
    at org.simpleflatmapper.jdbc.JdbcMapperFactory$SetRowMapperFactory.newInstance(JdbcMapperFactory.java:298)
    at org.simpleflatmapper.map.mapper.DynamicSetRowMapper.getMapper(DynamicSetRowMapper.java:101)
    at org.simpleflatmapper.map.mapper.DynamicSetRowMapper.getMapperFromSet(DynamicSetRowMapper.java:91)
    at org.simpleflatmapper.map.mapper.DynamicSetRowMapper.stream(DynamicSetRowMapper.java:74)
    at org.simpleflatmapper.jdbc.JdbcMapperFactory$DynamicJdbcSetRowMapper.stream(JdbcMapperFactory.java:251)


Any idea how can I achieve that ?

Thanks in advance for your help

Arnaud Roger

unread,
Apr 1, 2018, 6:38:47 AM4/1/18
to manit...@gmail.com, SimpleFlatMapper
Looks like a bug somewhere I’ll have a look as as I can. It might not be link to the zoneid getter, what version is that running against? Could you give me the structure of the object? 

Sent from my iPhone
--
You received this message because you are subscribed to the Google Groups "SimpleFlatMapper" group.
To unsubscribe from this group and stop receiving emails from it, send an email to simpleflatmapp...@googlegroups.com.
To post to this group, send email to simplefl...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/simpleflatmapper/e279ca99-a940-42f4-b83c-abe1eb1c038f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Message has been deleted

Arnaud Roger

unread,
Apr 1, 2018, 1:29:25 PM4/1/18
to SimpleFlatMapper

I was able to reproduce the problem, the meta fail to build on a void type. I have a fix for it. there was also an issue on static method for instantiator that I fixed too.

once I release 3.16.3 you should be able to have a zoneId property without any special config.

see https://github.com/arnaudroger/SimpleFlatMapper/issues/501
and https://github.com/arnaudroger/SimpleFlatMapper/issues/502

Arnaud Roger

unread,
Apr 1, 2018, 4:40:21 PM4/1/18
to SimpleFlatMapper

just pushed 3.16.3 with a fix. could you try it out? you should not need the GetterProperty anymore
Reply all
Reply to author
Forward
0 new messages