From 92d0f7e7969bcfb86b421b9a5d18426a5061187f Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Sat, 11 Jan 2020 21:17:11 +0800 Subject: [PATCH] --- .../redkale/test/source/CacheTestBean.java | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/test/org/redkale/test/source/CacheTestBean.java b/test/org/redkale/test/source/CacheTestBean.java index 34c31c717..ccb30aa65 100644 --- a/test/org/redkale/test/source/CacheTestBean.java +++ b/test/org/redkale/test/source/CacheTestBean.java @@ -11,12 +11,12 @@ import java.util.function.BiFunction; import javax.persistence.Id; import org.redkale.convert.json.JsonConvert; import org.redkale.source.*; -import org.redkale.util.Attribute; /** * * @author zhangjx */ +@VirtualEntity(loader = CacheTestBean.DefaultBeanLoader.class) public class CacheTestBean { @Id @@ -27,19 +27,9 @@ public class CacheTestBean { private long price; public static void main(String[] args) throws Exception { - final List list = new ArrayList<>(); - list.add(new CacheTestBean(1, "a", 12)); - list.add(new CacheTestBean(1, "a", 18)); - list.add(new CacheTestBean(2, "b", 20)); - list.add(new CacheTestBean(2, "bb", 60)); - Attribute idattr = Attribute.create(CacheTestBean.class, "pkgid"); - Attribute nameattr = Attribute.create(CacheTestBean.class, "name"); - Attribute priceattr = Attribute.create(CacheTestBean.class, "price"); - BiFunction fullloader = (s, z) -> list; - Method method = EntityInfo.class.getDeclaredMethod("load", Class.class, boolean.class, Properties.class, - DataSource.class, BiFunction.class); + Method method = EntityInfo.class.getDeclaredMethod("load", Class.class, boolean.class, Properties.class, DataSource.class, BiFunction.class); method.setAccessible(true); - final EntityInfo info = (EntityInfo) method.invoke(null, CacheTestBean.class, true, new Properties(), null, fullloader); + final EntityInfo info = (EntityInfo) method.invoke(null, CacheTestBean.class, true, new Properties(), null, new CacheTestBean.DefaultBeanLoader()); EntityCache cache = new EntityCache(info, null); cache.fullLoad(); @@ -93,4 +83,17 @@ public class CacheTestBean { return JsonConvert.root().convertTo(this); } + public static class DefaultBeanLoader implements BiFunction { + + @Override + public List apply(DataSource t, Class u) { + final List list = new ArrayList<>(); + list.add(new CacheTestBean(1, "a", 12)); + list.add(new CacheTestBean(1, "a", 18)); + list.add(new CacheTestBean(2, "b", 20)); + list.add(new CacheTestBean(2, "bb", 60)); + return list; + } + + } }