#2341 - Refactor internal api LoadBeanBuffer LoadBeanRequest etc

This commit is contained in:
Rob Bygrave committed 2021-09-02 22:09:34 +12:00
1 parent b142319da0
commit 491d6a5461
4 files changed
+21 -26

No files matched your search

@@ -11,15 +11,15 @@ import java.util.List;
*/
public interface LoadBeanBuffer {
int getBatchSize();
int batchSize();
List<EntityBeanIntercept> getBatch();
List<EntityBeanIntercept> batch();
BeanDescriptor<?> getBeanDescriptor();
BeanDescriptor<?> descriptor();
PersistenceContext getPersistenceContext();
PersistenceContext persistenceContext();
String getFullPath();
String fullPath();
void configureQuery(SpiQuery<?> query, String lazyLoadProperty);
@@ -40,7 +40,7 @@ public final class LoadBeanRequest extends LoadRequest {
String lazyLoadProperty, boolean alreadyLoaded, boolean loadCache) {
super(parentRequest, lazy);
this.loadBuffer = loadBuffer;
this.batch = loadBuffer.getBatch();
this.batch = loadBuffer.batch();
this.lazyLoadProperty = lazyLoadProperty;
this.alreadyLoaded = alreadyLoaded;
this.loadCache = loadCache;
@@ -48,11 +48,11 @@ public final class LoadBeanRequest extends LoadRequest {
@Override
public Class<?> beanType() {
return loadBuffer.getBeanDescriptor().getBeanType();
return loadBuffer.descriptor().getBeanType();
}
public String description() {
return loadBuffer.getFullPath();
return loadBuffer.fullPath();
}
/**
@@ -67,7 +67,7 @@ public final class LoadBeanRequest extends LoadRequest {
*/
public List<Object> getIdList() {
List<Object> idList = new ArrayList<>();
BeanDescriptor<?> desc = loadBuffer.getBeanDescriptor();
BeanDescriptor<?> desc = loadBuffer.descriptor();
for (EntityBeanIntercept ebi : batch) {
idList.add(desc.getId(ebi.getOwner()));
}
@@ -79,10 +79,10 @@ public final class LoadBeanRequest extends LoadRequest {
*/
public void configureQuery(SpiQuery<?> query, List<Object> idList) {
query.setMode(Mode.LAZYLOAD_BEAN);
query.setPersistenceContext(loadBuffer.getPersistenceContext());
query.setPersistenceContext(loadBuffer.persistenceContext());
query.setLoadDescription(lazy ? "+lazy" : "+query", description());
if (lazy) {
query.setLazyLoadBatchSize(loadBuffer.getBatchSize());
query.setLazyLoadBatchSize(loadBuffer.batchSize());
if (alreadyLoaded) {
query.setBeanCacheMode(CacheMode.OFF);
}
@@ -105,7 +105,7 @@ public final class LoadBeanRequest extends LoadRequest {
*/
public void postLoad(List<?> list) {
Set<Object> loadedIds = new HashSet<>();
BeanDescriptor<?> desc = loadBuffer.getBeanDescriptor();
BeanDescriptor<?> desc = loadBuffer.descriptor();
// collect Ids and maybe load bean cache
for (Object bean : list) {
loadedIds.add(desc.beanId(bean));
@@ -39,15 +39,12 @@ final class DefaultBeanLoader {
}
void loadMany(LoadManyRequest loadRequest) {
SpiQuery<?> query = loadRequest.createQuery(server);
executeQuery(loadRequest, query);
executeQuery(loadRequest, loadRequest.createQuery(server));
loadRequest.postLoad();
}
void loadMany(BeanCollection<?> bc, boolean onlyIds) {
EntityBean parentBean = bc.getOwnerBean();
String propertyName = bc.getPropertyName();
loadManyInternal(parentBean, propertyName, null, false, onlyIds);
loadManyInternal(bc.getOwnerBean(), bc.getPropertyName(), null, false, onlyIds);
}
void refreshMany(EntityBean parentBean, String propertyName) {
@@ -183,8 +180,7 @@ final class DefaultBeanLoader {
if (EntityType.EMBEDDED == desc.getEntityType()) {
// lazy loading on an embedded bean property
EntityBean embeddedOwner = (EntityBean) ebi.getEmbeddedOwner();
int ownerIndex = ebi.getEmbeddedOwnerIndex();
refreshBeanInternal(embeddedOwner, mode, ownerIndex);
refreshBeanInternal(embeddedOwner, mode, ebi.getEmbeddedOwnerIndex());
}
Object id = desc.getId(bean);
@@ -240,8 +236,7 @@ final class DefaultBeanLoader {
Object dbBean = query.findOne();
if (dbBean == null) {
String msg = "Bean not found during lazy load or refresh." + " id[" + id + "] type[" + desc.getBeanType() + "]";
throw new EntityNotFoundException(msg);
throw new EntityNotFoundException("Bean not found during lazy load or refresh." + " id[" + id + "] type[" + desc.getBeanType() + "]");
}
desc.resetManyProperties(dbBean);
}
@@ -131,7 +131,7 @@ final class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContext
}
@Override
public int getBatchSize() {
public int batchSize() {
return batchSize;
}
@@ -154,7 +154,7 @@ final class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContext
}
@Override
public List<EntityBeanIntercept> getBatch() {
public List<EntityBeanIntercept> batch() {
return list;
}
@@ -164,17 +164,17 @@ final class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContext
}
@Override
public String getFullPath() {
public String fullPath() {
return context.fullPath;
}
@Override
public BeanDescriptor<?> getBeanDescriptor() {
public BeanDescriptor<?> descriptor() {
return context.desc;
}
@Override
public PersistenceContext getPersistenceContext() {
public PersistenceContext persistenceContext() {
return persistenceContext;
}