private ContextualGetterFactory<? super S, K> fieldMapperAsGetterFactory() { return new FieldMapperFactoryGetterFactoryAdapter(mapperConfig.fieldMapperErrorHandler()); }
private ContextualGetterFactory<? super S, K> fieldMapperAsGetterFactory() { return new FieldMapperFactoryGetterFactoryAdapter(mapperConfig.fieldMapperErrorHandler()); }
private <T> FieldMapper<S, T> wrapFieldMapperWithErrorHandler(final K columnKey, final FieldMapper<S, T> fieldMapper) { if (fieldMapper != null && mapperConfig.hasFieldMapperErrorHandler()) { return FieldErrorHandlerMapper.<S, T, K>of(columnKey, fieldMapper, mapperConfig.fieldMapperErrorHandler()); } return fieldMapper; }
private <T> FieldMapper<S, T> wrapFieldMapperWithErrorHandler(final K columnKey, final FieldMapper<S, T> fieldMapper) { if (fieldMapper != null && mapperConfig.hasFieldMapperErrorHandler()) { return FieldErrorHandlerMapper.<S, T, K>of(columnKey, fieldMapper, mapperConfig.fieldMapperErrorHandler()); } return fieldMapper; }
private <T> ContextualGetter<S, T> wrapGetterWithErrorHandler(final K columnKey, final ContextualGetter<S, T> getter) { if (getter != null && mapperConfig.hasFieldMapperErrorHandler()) { return FieldErrorHandlerGetter.<S, T, K>of(columnKey, getter, mapperConfig.fieldMapperErrorHandler()); } return getter; }
private <T> ContextualGetter<S, T> wrapGetterWithErrorHandler(final K columnKey, final ContextualGetter<S, T> getter) { if (getter != null && mapperConfig.hasFieldMapperErrorHandler()) { return FieldErrorHandlerGetter.<S, T, K>of(columnKey, getter, mapperConfig.fieldMapperErrorHandler()); } return getter; }
public <T> CsvMapperBuilder<T> newBuilder(final ClassMeta<T> classMeta) { MapperConfig<CsvColumnKey, CsvRow> mapperConfig = mapperConfig(); CsvMappingContextFactoryBuilder parentBuilder = new CsvMappingContextFactoryBuilder(!mapperConfig.unorderedJoin()); if (mapperConfig.fieldMapperErrorHandler() instanceof ResultFieldMapperErrorHandler) { parentBuilder.addSupplier(new Supplier<Object>() { @Override public Object get() { return new ArrayList(); } }); } CsvMapperBuilder<T> builder = new CsvMapperBuilder<T>(classMeta, mapperConfig, getterFactory, parentBuilder); return builder; }
public <T> CsvMapperBuilder<T> newBuilder(final ClassMeta<T> classMeta) { MapperConfig<CsvColumnKey, CsvRow> mapperConfig = mapperConfig(); CsvMappingContextFactoryBuilder parentBuilder = new CsvMappingContextFactoryBuilder(!mapperConfig.unorderedJoin()); if (mapperConfig.fieldMapperErrorHandler() instanceof ResultFieldMapperErrorHandler) { parentBuilder.addSupplier(new Supplier<Object>() { @Override public Object get() { return new ArrayList(); } }); } CsvMapperBuilder<T> builder = new CsvMapperBuilder<T>(classMeta, mapperConfig, getterFactory, parentBuilder); return builder; }
public final MapperConfig<K, S> mapperConfig() { return MapperConfig .<K, S>config(enrichColumnDefinitions(columnDefinitions)) .mapperBuilderErrorHandler(mapperBuilderErrorHandler) .propertyNameMatcherFactory(propertyNameMatcherFactory) .failOnAsm(failOnAsm) .asmMapperNbFieldsLimit(asmMapperNbFieldsLimit) .fieldMapperErrorHandler(fieldMapperErrorHandler) .consumerErrorHandler(consumerErrorHandler) .maxMethodSize(maxMethodSize) .assumeInjectionModifiesValues(assumeInjectionModifiesValues) .discriminators(discriminators) .rowFilter(rowFilter) .unorderedJoin(unorderedJoin); }
public final MapperConfig<K, S> mapperConfig() { return MapperConfig .<K, S>config(enrichColumnDefinitions(columnDefinitions)) .mapperBuilderErrorHandler(mapperBuilderErrorHandler) .propertyNameMatcherFactory(propertyNameMatcherFactory) .failOnAsm(failOnAsm) .asmMapperNbFieldsLimit(asmMapperNbFieldsLimit) .fieldMapperErrorHandler(fieldMapperErrorHandler) .consumerErrorHandler(consumerErrorHandler) .maxMethodSize(maxMethodSize) .assumeInjectionModifiesValues(assumeInjectionModifiesValues) .discriminators(discriminators) .rowFilter(rowFilter) .unorderedJoin(unorderedJoin); }
@Test public void testFieldMapperErrorHandler() throws Exception{ ConstantSourceMapperBuilder<Object, MyObjectWithInner, SampleFieldKey> constantSourceMapperBuilder = ConstantSourceMapperBuilder.<Object, MyObjectWithInner, SampleFieldKey>newConstantSourceMapperBuilder( mapperSource, classMeta, MapperConfig.config(new IdentityFieldMapperColumnDefinitionProvider<SampleFieldKey>()).fieldMapperErrorHandler(new FieldMapperErrorHandler<SampleFieldKey>() { @Override public void errorMappingField(SampleFieldKey key, Object source, Object target, Exception error, Context mappingContext) throws MappingException { } }), new MappingContextFactoryBuilder<Object, SampleFieldKey>(null, true), SampleFieldKey.KEY_FACTORY ); constantSourceMapperBuilder.addMapping(new SampleFieldKey("prop_date", 16), FieldMapperColumnDefinition.<SampleFieldKey>identity()); SourceMapper<Object, MyObjectWithInner> mapper = constantSourceMapperBuilder.mapper(); MyObjectWithInner o = mapper.map(null, null); System.out.println("mapper = " + mapper); assertNull(o.prop.date); }
@Test public void testPrimitive() { Object[] data = {true, (byte) 1, (char) 2, (short) 3, 4, (long) 5, (float) 6, (double) 7}; SetRowMapper<Object[], Object[][], DbPrimitiveObject, Exception> mapper; DbPrimitiveObject o; mapper = addPrimitiveFields(new SampleMapperBuilder<DbPrimitiveObject>(ReflectionService.newInstance().getClassMeta(DbPrimitiveObject.class))); o = mapper.map(data); validatePrimitiveData(o); final List<SampleFieldKey> errors = new ArrayList<SampleFieldKey>(); MapperConfig<SampleFieldKey, Object[]> mapperConfig = MapperConfig.<SampleFieldKey, Object[]>fieldMapperConfig().fieldMapperErrorHandler(new FieldMapperErrorHandler<SampleFieldKey>() { @Override public void errorMappingField(SampleFieldKey key, Object source, Object target, Exception error, Context mappingContext) throws MappingException { errors.add(key); } }); ReflectionService reflectionService = ReflectionService.newInstance(false); mapper = addPrimitiveFields(new SampleMapperBuilder<DbPrimitiveObject>(reflectionService.getClassMeta(DbPrimitiveObject.class), mapperConfig)); o = mapper.map(data); validatePrimitiveData(o); assertTrue(errors.isEmpty()); o = mapper.map(new Object[0]); assertEquals(8, errors.size()); assertNotNull(o); }
@Test public void testDefaultMapperConfig() { MapperFactory mapperFactory = new MapperFactory(); MapperConfig<SampleFieldKey, Object[]> 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()); }
assertEquals(fieldMapperErrorHandler, mapperConfig.fieldMapperErrorHandler()); assertEquals(mapperBuilderErrorHandler, mapperConfig.mapperBuilderErrorHandler()); assertEquals(consumerErrorHandler, mapperConfig.consumerErrorHandler());