#461 - ENH: Add @Draftable support - optimise publish query

This commit is contained in:
Robin Bygrave
2015-11-24 01:01:37 +13:00
parent 555e5ba6fd
commit 0efbe061ab
3 changed files with 35 additions and 3 deletions
@@ -134,6 +134,7 @@ public final class DefaultPersister implements Persister {
Class<T> beanType = query.getBeanType();
BeanDescriptor<T> desc = server.getBeanDescriptor(beanType);
desc.draftQueryOptimise(query);
List<T> draftBeans = server.findList(query, transaction);
PUB.debug("publish [{}] count[{}]", desc.getName(), draftBeans.size());
@@ -149,9 +150,10 @@ public final class DefaultPersister implements Persister {
}
// fetch existing live beans to update (or insert if missing)
Map<?, T> liveBeans = server.find(beanType)
.where().idIn(idList)
.findMap();
Query<T> liveBeansQuery = server.find(beanType).where().idIn(idList).query();
desc.draftQueryOptimise(liveBeansQuery);
Map<?, T> liveBeans = liveBeansQuery.findMap();
List<T> livePublish = new ArrayList<T>(idList.size());