Search in sources :

Example 11 with DefaultObjectFactory

use of org.apache.ibatis.reflection.factory.DefaultObjectFactory in project mybatis-3 by mybatis.

the class CglibProxyTest method shouldCreateAProxyForAPartiallyLoadedBean.

@Test
public void shouldCreateAProxyForAPartiallyLoadedBean() throws Exception {
    ResultLoaderMap loader = new ResultLoaderMap();
    loader.addLoader("id", null, null);
    Object proxy = proxyFactory.createProxy(author, loader, new Configuration(), new DefaultObjectFactory(), new ArrayList<Class<?>>(), new ArrayList<Object>());
    Author author2 = (Author) deserialize(serialize((Serializable) proxy));
    assertTrue(author2 instanceof Factory);
}
Also used : Configuration(org.apache.ibatis.session.Configuration) DefaultObjectFactory(org.apache.ibatis.reflection.factory.DefaultObjectFactory) Author(org.apache.ibatis.domain.blog.Author) CglibProxyFactory(org.apache.ibatis.executor.loader.cglib.CglibProxyFactory) Factory(net.sf.cglib.proxy.Factory) DefaultObjectFactory(org.apache.ibatis.reflection.factory.DefaultObjectFactory) Test(org.junit.Test)

Example 12 with DefaultObjectFactory

use of org.apache.ibatis.reflection.factory.DefaultObjectFactory in project mybatis-3 by mybatis.

the class CglibProxyTest method shouldLetCallALoadedProperty.

@Test
public void shouldLetCallALoadedProperty() throws Exception {
    Author author2 = (Author) ((CglibProxyFactory) proxyFactory).createDeserializationProxy(author, new HashMap<String, ResultLoaderMap.LoadPair>(), new DefaultObjectFactory(), new ArrayList<Class<?>>(), new ArrayList<Object>());
    assertEquals(999, author2.getId());
}
Also used : HashMap(java.util.HashMap) DefaultObjectFactory(org.apache.ibatis.reflection.factory.DefaultObjectFactory) ArrayList(java.util.ArrayList) Author(org.apache.ibatis.domain.blog.Author) Test(org.junit.Test)

Example 13 with DefaultObjectFactory

use of org.apache.ibatis.reflection.factory.DefaultObjectFactory in project mybatis-3 by mybatis.

the class CglibProxyTest method shouldFailCallingAnUnloadedProperty.

@Test(expected = ExecutorException.class)
public void shouldFailCallingAnUnloadedProperty() throws Exception {
    // yes, it must go in uppercase
    HashMap<String, ResultLoaderMap.LoadPair> unloadedProperties = new HashMap<String, ResultLoaderMap.LoadPair>();
    unloadedProperties.put("ID", null);
    Author author2 = (Author) ((CglibProxyFactory) proxyFactory).createDeserializationProxy(author, unloadedProperties, new DefaultObjectFactory(), new ArrayList<Class<?>>(), new ArrayList<Object>());
    author2.getId();
}
Also used : HashMap(java.util.HashMap) DefaultObjectFactory(org.apache.ibatis.reflection.factory.DefaultObjectFactory) ArrayList(java.util.ArrayList) Author(org.apache.ibatis.domain.blog.Author) Test(org.junit.Test)

Example 14 with DefaultObjectFactory

use of org.apache.ibatis.reflection.factory.DefaultObjectFactory in project mybatis-3 by mybatis.

the class JavassistProxyTest method shouldLetCallALoadedProperty.

@Test
public void shouldLetCallALoadedProperty() throws Exception {
    Author author2 = (Author) ((JavassistProxyFactory) proxyFactory).createDeserializationProxy(author, new HashMap<String, ResultLoaderMap.LoadPair>(), new DefaultObjectFactory(), new ArrayList<Class<?>>(), new ArrayList<Object>());
    assertEquals(999, author2.getId());
}
Also used : HashMap(java.util.HashMap) DefaultObjectFactory(org.apache.ibatis.reflection.factory.DefaultObjectFactory) ArrayList(java.util.ArrayList) Author(org.apache.ibatis.domain.blog.Author) Test(org.junit.Test)

Example 15 with DefaultObjectFactory

use of org.apache.ibatis.reflection.factory.DefaultObjectFactory in project mybatis-3 by mybatis.

the class JavassistProxyTest method shouldCreateAProxyForAPartiallyLoadedBean.

@Test
public void shouldCreateAProxyForAPartiallyLoadedBean() throws Exception {
    ResultLoaderMap loader = new ResultLoaderMap();
    loader.addLoader("id", null, null);
    Object proxy = proxyFactory.createProxy(author, loader, new Configuration(), new DefaultObjectFactory(), new ArrayList<Class<?>>(), new ArrayList<Object>());
    Author author2 = (Author) deserialize(serialize((Serializable) proxy));
    assertTrue(author2 instanceof Proxy);
}
Also used : Proxy(javassist.util.proxy.Proxy) Configuration(org.apache.ibatis.session.Configuration) DefaultObjectFactory(org.apache.ibatis.reflection.factory.DefaultObjectFactory) Author(org.apache.ibatis.domain.blog.Author) Test(org.junit.Test)

Aggregations

DefaultObjectFactory (org.apache.ibatis.reflection.factory.DefaultObjectFactory)19 Test (org.junit.Test)19 Author (org.apache.ibatis.domain.blog.Author)13 Configuration (org.apache.ibatis.session.Configuration)13 ArrayList (java.util.ArrayList)7 Serializable (java.io.Serializable)4 HashMap (java.util.HashMap)4 CglibProxyFactory (org.apache.ibatis.executor.loader.cglib.CglibProxyFactory)2 Method (java.lang.reflect.Method)1 Proxy (javassist.util.proxy.Proxy)1 Factory (net.sf.cglib.proxy.Factory)1 JavassistProxyFactory (org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory)1