Search in sources :

Example 1 with DbFinalObject

use of org.simpleflatmapper.test.beans.DbFinalObject in project SimpleFlatMapper by arnaudroger.

the class AsmFactoryTest method testCreateInstantiatorFinalDbObjectInjectIdAndName.

@Test
public void testCreateInstantiatorFinalDbObjectInjectIdAndName() throws Exception {
    ExecutableInstantiatorDefinition instantiatorDefinition = (ExecutableInstantiatorDefinition) AsmInstantiatorDefinitionFactory.extractDefinitions(DbFinalObject.class).get(0);
    HashMap<Parameter, Getter<? super Object, ?>> injections = new HashMap<Parameter, Getter<? super Object, ?>>();
    injections.put(new Parameter(0, "id", long.class), new ConstantLongGetter<Object>(33l));
    injections.put(new Parameter(1, "name", String.class), new ConstantGetter<Object, String>("fdo"));
    Instantiator<Object, DbFinalObject> instantiator = asmFactory.createInstantiator(Object.class, instantiatorDefinition, injections, true);
    DbFinalObject fdo = instantiator.newInstance(new Object());
    assertNotNull(fdo);
    assertNull(fdo.getEmail());
    assertNull(fdo.getCreationTime());
    assertNull(fdo.getTypeName());
    assertNull(fdo.getTypeOrdinal());
    assertEquals(33l, fdo.getId());
    assertEquals("fdo", fdo.getName());
    assertSame(instantiator.getClass(), asmFactory.createInstantiator(Object.class, instantiatorDefinition, injections, true).getClass());
}
Also used : DbFinalObject(org.simpleflatmapper.test.beans.DbFinalObject) ExecutableInstantiatorDefinition(org.simpleflatmapper.reflect.instantiator.ExecutableInstantiatorDefinition) HashMap(java.util.HashMap) ConstantGetter(org.simpleflatmapper.reflect.getter.ConstantGetter) Getter(org.simpleflatmapper.reflect.Getter) ConstantLongGetter(org.simpleflatmapper.reflect.getter.ConstantLongGetter) IntGetter(org.simpleflatmapper.reflect.primitive.IntGetter) OrdinalEnumGetter(org.simpleflatmapper.reflect.getter.OrdinalEnumGetter) ConstantIntGetter(org.simpleflatmapper.reflect.getter.ConstantIntGetter) Parameter(org.simpleflatmapper.reflect.Parameter) DbObject(org.simpleflatmapper.test.beans.DbObject) DbFinalObject(org.simpleflatmapper.test.beans.DbFinalObject) Test(org.junit.Test)

Example 2 with DbFinalObject

use of org.simpleflatmapper.test.beans.DbFinalObject in project SimpleFlatMapper by arnaudroger.

the class AsmFactoryTest method testCreateInstantiatorFinalDbObjectNameAndType.

@Test
public void testCreateInstantiatorFinalDbObjectNameAndType() throws Exception {
    HashMap<Parameter, Getter<? super Object, ?>> injections = new HashMap<Parameter, Getter<? super Object, ?>>();
    ConstantIntGetter<Object> getter = new ConstantIntGetter<Object>(1);
    injections.put(new Parameter(4, "typeOrdinal", Type.class), new OrdinalEnumGetter<Object, Type>(getter, Type.class));
    injections.put(new Parameter(1, "name", String.class), new ConstantGetter<Object, String>("fdo"));
    List<InstantiatorDefinition> instantiatorDefinitions = AsmInstantiatorDefinitionFactory.extractDefinitions(DbFinalObject.class);
    Instantiator<Object, DbFinalObject> instantiator = asmFactory.createInstantiator(Object.class, (ExecutableInstantiatorDefinition) instantiatorDefinitions.get(0), injections, true);
    DbFinalObject fdo = instantiator.newInstance(new Object());
    assertNotNull(fdo);
    assertNull(fdo.getEmail());
    assertNull(fdo.getCreationTime());
    assertNull(fdo.getTypeName());
    assertEquals(0, fdo.getId());
    assertEquals("fdo", fdo.getName());
    assertEquals(Type.type2, fdo.getTypeOrdinal());
}
Also used : DbFinalObject(org.simpleflatmapper.test.beans.DbFinalObject) HashMap(java.util.HashMap) ConstantGetter(org.simpleflatmapper.reflect.getter.ConstantGetter) Getter(org.simpleflatmapper.reflect.Getter) ConstantLongGetter(org.simpleflatmapper.reflect.getter.ConstantLongGetter) IntGetter(org.simpleflatmapper.reflect.primitive.IntGetter) OrdinalEnumGetter(org.simpleflatmapper.reflect.getter.OrdinalEnumGetter) ConstantIntGetter(org.simpleflatmapper.reflect.getter.ConstantIntGetter) ConstantIntGetter(org.simpleflatmapper.reflect.getter.ConstantIntGetter) ExecutableInstantiatorDefinition(org.simpleflatmapper.reflect.instantiator.ExecutableInstantiatorDefinition) InstantiatorDefinition(org.simpleflatmapper.reflect.InstantiatorDefinition) Type(org.simpleflatmapper.test.beans.DbObject.Type) Parameter(org.simpleflatmapper.reflect.Parameter) DbObject(org.simpleflatmapper.test.beans.DbObject) DbFinalObject(org.simpleflatmapper.test.beans.DbFinalObject) Test(org.junit.Test)

Example 3 with DbFinalObject

use of org.simpleflatmapper.test.beans.DbFinalObject in project SimpleFlatMapper by arnaudroger.

the class CsvMapperBuilderTest method testMapDbObjectWrongName.

@Test
public void testMapDbObjectWrongName() throws Exception {
    MapperBuilderErrorHandler mapperBuilderErrorHandler = mock(MapperBuilderErrorHandler.class);
    CsvMapperBuilder<DbFinalObject> builder = csvMapperFactory.mapperBuilderErrorHandler(mapperBuilderErrorHandler).newBuilder(DbFinalObject.class);
    builder.addMapping("id");
    builder.addMapping("No_prop");
    verify(mapperBuilderErrorHandler).propertyNotFound(DbFinalObject.class, "No_prop");
}
Also used : DbFinalObject(org.simpleflatmapper.test.beans.DbFinalObject) MapperBuilderErrorHandler(org.simpleflatmapper.map.MapperBuilderErrorHandler) Test(org.junit.Test)

Example 4 with DbFinalObject

use of org.simpleflatmapper.test.beans.DbFinalObject in project SimpleFlatMapper by arnaudroger.

the class JdbcMapperCustomMappingTest method testCustomReaderOnConstructor.

@Test
public void testCustomReaderOnConstructor() throws SQLException, Exception {
    JdbcMapperFactory mapperFactory = JdbcMapperFactoryHelper.asm().addCustomGetter("id", new Getter<ResultSet, Long>() {

        @Override
        public Long get(ResultSet target) throws Exception {
            return 1l;
        }
    });
    final JdbcMapper<DbFinalObject> mapper = mapperFactory.newMapper(DbFinalObject.class);
    DbHelper.testQuery(new TestRowHandler<PreparedStatement>() {

        @Override
        public void handle(PreparedStatement t) throws Exception {
            ResultSet r = t.executeQuery();
            r.next();
            DbHelper.assertDbObjectMapping(mapper.map(r));
        }
    }, DbHelper.TEST_DB_OBJECT_QUERY.replace("id,", "33 as id,"));
}
Also used : DbFinalObject(org.simpleflatmapper.test.beans.DbFinalObject) JdbcMapperFactory(org.simpleflatmapper.jdbc.JdbcMapperFactory) ResultSet(java.sql.ResultSet) PreparedStatement(java.sql.PreparedStatement) MappingException(org.simpleflatmapper.map.MappingException) SQLException(java.sql.SQLException) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)4 DbFinalObject (org.simpleflatmapper.test.beans.DbFinalObject)4 HashMap (java.util.HashMap)2 Getter (org.simpleflatmapper.reflect.Getter)2 Parameter (org.simpleflatmapper.reflect.Parameter)2 ConstantGetter (org.simpleflatmapper.reflect.getter.ConstantGetter)2 ConstantIntGetter (org.simpleflatmapper.reflect.getter.ConstantIntGetter)2 ConstantLongGetter (org.simpleflatmapper.reflect.getter.ConstantLongGetter)2 OrdinalEnumGetter (org.simpleflatmapper.reflect.getter.OrdinalEnumGetter)2 ExecutableInstantiatorDefinition (org.simpleflatmapper.reflect.instantiator.ExecutableInstantiatorDefinition)2 IntGetter (org.simpleflatmapper.reflect.primitive.IntGetter)2 DbObject (org.simpleflatmapper.test.beans.DbObject)2 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1 SQLException (java.sql.SQLException)1 JdbcMapperFactory (org.simpleflatmapper.jdbc.JdbcMapperFactory)1 MapperBuilderErrorHandler (org.simpleflatmapper.map.MapperBuilderErrorHandler)1 MappingException (org.simpleflatmapper.map.MappingException)1 InstantiatorDefinition (org.simpleflatmapper.reflect.InstantiatorDefinition)1 Type (org.simpleflatmapper.test.beans.DbObject.Type)1