No effective change - format only

This commit is contained in:
Robin Bygrave
2015-07-31 22:52:59 +12:00
parent b1c41a58f2
commit ebc4d9fdc5
4 changed files with 344 additions and 340 deletions
@@ -1,9 +1,5 @@
package com.avaje.ebeaninternal.server.loadcontext;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.avaje.ebean.bean.BeanLoader;
import com.avaje.ebean.bean.EntityBeanIntercept;
import com.avaje.ebean.bean.PersistenceContext;
@@ -15,22 +11,26 @@ import com.avaje.ebeaninternal.server.core.OrmQueryRequest;
import com.avaje.ebeaninternal.server.deploy.BeanDescriptor;
import com.avaje.ebeaninternal.server.querydefn.OrmQueryProperties;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* Default implementation of LoadBeanContext.
*/
public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContext{
public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContext {
private List<LoadBuffer> bufferList;
private LoadBuffer currentBuffer;
public DLoadBeanContext(DLoadContext parent, BeanDescriptor<?> desc, String path, int defaultBatchSize, OrmQueryProperties queryProps) {
super(parent, desc, path, defaultBatchSize, queryProps);
// bufferList only required when using query joins (queryFetch)
this.bufferList = (!queryFetch) ? null : new ArrayList<DLoadBeanContext.LoadBuffer>();
this.currentBuffer = createBuffer(firstBatchSize);
this.currentBuffer = createBuffer(firstBatchSize);
}
/**
@@ -63,36 +63,36 @@ public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContex
}
}
protected void register(EntityBeanIntercept ebi){
protected void register(EntityBeanIntercept ebi) {
if (currentBuffer.isFull()) {
currentBuffer = createBuffer(secondaryBatchSize);
currentBuffer = createBuffer(secondaryBatchSize);
}
// set the persistenceContext on the bean first
ebi.setBeanLoader(currentBuffer, getPersistenceContext());
currentBuffer.add(ebi);
}
private LoadBuffer createBuffer(int size) {
LoadBuffer buffer = new LoadBuffer(this, size);
if (bufferList != null) {
bufferList.add(buffer);
}
private LoadBuffer createBuffer(int size) {
LoadBuffer buffer = new LoadBuffer(this, size);
if (bufferList != null) {
bufferList.add(buffer);
}
return buffer;
}
}
public void loadSecondaryQuery(OrmQueryRequest<?> parentRequest) {
if (!queryFetch) {
throw new IllegalStateException("Not expecting loadSecondaryQuery() to be called?");
}
synchronized (this) {
if (bufferList != null) {
for (LoadBuffer loadBuffer : bufferList) {
if (!loadBuffer.list.isEmpty()) {
LoadBeanRequest req = new LoadBeanRequest(loadBuffer, parentRequest, false, null, false);
parent.getEbeanServer().loadBean(req);
parent.getEbeanServer().loadBean(req);
if (!queryProps.isQueryFetchAll()) {
// Stop - only fetch the first batch ... the rest will be lazy loaded
break;
@@ -104,18 +104,18 @@ public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContex
}
}
}
/**
* A buffer for batch loading beans on a given path.
*/
public static class LoadBuffer implements BeanLoader, LoadBeanBuffer {
private final DLoadBeanContext context;
private final int batchSize;
private final List<EntityBeanIntercept> list;
private PersistenceContext persistenceContext;
public LoadBuffer(DLoadBeanContext context, int batchSize) {
this.context = context;
this.batchSize = batchSize;
@@ -132,7 +132,7 @@ public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContex
public boolean isFull() {
return batchSize == list.size();
}
/**
* Return true if the buffer is full.
*/
@@ -143,7 +143,7 @@ public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContex
}
list.add(ebi);
}
@Override
public List<EntityBeanIntercept> getBatch() {
return list;
@@ -153,12 +153,12 @@ public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContex
public String getName() {
return context.serverName;
}
@Override
public String getFullPath() {
return context.fullPath;
}
@Override
public BeanDescriptor<?> getBeanDescriptor() {
return context.desc;
@@ -173,7 +173,7 @@ public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContex
public void configureQuery(SpiQuery<?> query, String lazyLoadProperty) {
context.configureQuery(query, lazyLoadProperty);
}
@Override
public void loadBean(EntityBeanIntercept ebi) {
// A synchronized (this) is effectively held by EntityBeanIntercept.loadBean()
@@ -182,7 +182,7 @@ public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContex
// lazy load property was a Many
return;
}
if (context.hitCache && context.desc.cacheBeanLoad(ebi)) {
// successfully hit the L2 cache so don't invoke DB lazy loading
list.remove(ebi);
@@ -205,5 +205,5 @@ public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContex
}
}
}