#2353 - Rename BeanPersistRequest methods with deprecation

This commit is contained in:
rbygrave committed 2021-09-03 18:01:27 +12:00
1 parent aa53742a07
commit b69c00b01e
51 files changed
+263 -142

No files matched your search

@@ -10,31 +10,62 @@ import io.ebean.Transaction;
public interface BeanDeleteIdRequest { public interface BeanDeleteIdRequest {
/** /**
* Return the server processing the request. * Deprecated migrate to database().
* @deprecated use {@link #getDatabase()}
*/ */
@Deprecated
EbeanServer getEbeanServer(); EbeanServer getEbeanServer();
/**
* Deprecated migrate to database().
*/
@Deprecated
default Database getDatabase() {
return getEbeanServer();
}
/** /**
* Return the DB processing the request. * Return the DB processing the request.
*/ */
default Database getDatabase() { default Database database() {
return getEbeanServer(); return getEbeanServer();
} }
/** /**
* Return the Transaction associated with this request. * Return the Transaction associated with this request.
*/ */
Transaction getTransaction(); Transaction transaction();
/**
* Deprecated migrate to transaction().
*/
@Deprecated
default Transaction getTransaction() {
return transaction();
}
/** /**
* Returns the bean type of the bean being deleted. * Returns the bean type of the bean being deleted.
*/ */
Class<?> getBeanType(); Class<?> beanType();
/**
* Deprecated migrate to beanType().
*/
@Deprecated
default Class<?> getBeanType() {
return beanType();
}
/** /**
* Returns the Id value of the bean being deleted. * Returns the Id value of the bean being deleted.
*/ */
Object getId(); Object id();
/**
* Deprecated migrate to id().
*/
@Deprecated
default Object getId() {
return id();
}
} }
@@ -1,5 +1,6 @@
package io.ebean.event; package io.ebean.event;
import io.ebean.Database;
import io.ebean.EbeanServer; import io.ebean.EbeanServer;
import io.ebean.Transaction; import io.ebean.Transaction;
import io.ebean.ValuePair; import io.ebean.ValuePair;
@@ -17,20 +18,44 @@ import java.util.Set;
public interface BeanPersistRequest<T> { public interface BeanPersistRequest<T> {
/** /**
* Return the server processing the request. * Return the DB processing the request.
*/ */
default Database database() {
return getEbeanServer();
}
/**
* Deprecated migrate to database().
*/
@Deprecated
EbeanServer getEbeanServer(); EbeanServer getEbeanServer();
/** /**
* Return the Transaction associated with this request. * Return the Transaction associated with this request.
*/ */
Transaction getTransaction(); Transaction transaction();
/**
* Deprecated migrate to transaction().
*/
@Deprecated
default Transaction getTransaction() {
return transaction();
}
/** /**
* For an update or delete of a partially populated bean this is the set of * For an update or delete of a partially populated bean this is the set of
* loaded properties and otherwise returns null. * loaded properties and otherwise returns null.
*/ */
Set<String> getLoadedProperties(); Set<String> loadedProperties();
/**
* Deprecated migrate to loadedProperties().
*/
@Deprecated
default Set<String> getLoadedProperties() {
return loadedProperties();
}
/** /**
* For an update this is the set of properties that where updated. * For an update this is the set of properties that where updated.
@@ -39,12 +64,28 @@ public interface BeanPersistRequest<T> {
* should be preferred if it satisfies the requirement. * should be preferred if it satisfies the requirement.
* </p> * </p>
*/ */
Set<String> getUpdatedProperties(); Set<String> updatedProperties();
/**
* Deprecated migrate to updatedProperties().
*/
@Deprecated
default Set<String> getUpdatedProperties() {
return updatedProperties();
}
/** /**
* Flags set for dirty properties (used by ElasticSearch integration). * Flags set for dirty properties (used by ElasticSearch integration).
*/ */
boolean[] getDirtyProperties(); boolean[] dirtyProperties();
/**
* Deprecated migrate to updatedProperties().
*/
@Deprecated
default boolean[] getDirtyProperties() {
return dirtyProperties();
}
/** /**
* Return true for an update request if at least one of dirty properties is contained * Return true for an update request if at least one of dirty properties is contained
@@ -66,11 +107,27 @@ public interface BeanPersistRequest<T> {
/** /**
* Returns the bean being inserted updated or deleted. * Returns the bean being inserted updated or deleted.
*/ */
T getBean(); T bean();
/**
* Deprecated migrate to bean().
*/
@Deprecated
default T getBean() {
return bean();
}
/** /**
* Returns a map of the properties that have changed and their new and old values. * Returns a map of the properties that have changed and their new and old values.
*/ */
Map<String, ValuePair> getUpdatedValues(); Map<String, ValuePair> updatedValues();
/**
* Deprecated migrate to updatedValues().
*/
@Deprecated
default Map<String, ValuePair> getUpdatedValues() {
return updatedValues();
}
} }
@@ -1,5 +1,6 @@
package io.ebean.event; package io.ebean.event;
import io.ebean.Database;
import io.ebean.EbeanServer; import io.ebean.EbeanServer;
import io.ebean.Query; import io.ebean.Query;
import io.ebean.Transaction; import io.ebean.Transaction;
@@ -10,19 +11,43 @@ import io.ebean.Transaction;
public interface BeanQueryRequest<T> { public interface BeanQueryRequest<T> {
/** /**
* Return the server processing the request. * Return the DB processing the request.
*/ */
default Database database() {
return getEbeanServer();
}
/**
* Deprecated migrate to database().
*/
@Deprecated
EbeanServer getEbeanServer(); EbeanServer getEbeanServer();
/** /**
* Return the Transaction associated with this request. * Return the Transaction associated with this request.
*/ */
Transaction getTransaction(); Transaction transaction();
/**
* Deprecated migrate to transaction().
*/
@Deprecated
default Transaction getTransaction() {
return transaction();
}
/** /**
* Returns the query. * Returns the query.
*/ */
Query<T> getQuery(); Query<T> query();
/**
* Deprecated migrate to query().
*/
@Deprecated
default Query<T> getQuery() {
return query();
}
/** /**
* Return true if an Id IN expression should have the bind parameters padded. * Return true if an Id IN expression should have the bind parameters padded.
@@ -8,7 +8,15 @@ public interface BulkTableEvent {
/** /**
* Return the name of the table that was involved. * Return the name of the table that was involved.
*/ */
String getTableName(); String tableName();
/**
* Deprecated migrate to tableName().
*/
@Deprecated
default String getTableName() {
return tableName();
}
/** /**
* Return true if rows were inserted. * Return true if rows were inserted.
@@ -14,7 +14,7 @@ public abstract class LoadRequest {
LoadRequest(OrmQueryRequest<?> parentRequest, boolean lazy) { LoadRequest(OrmQueryRequest<?> parentRequest, boolean lazy) {
this.parentRequest = parentRequest; this.parentRequest = parentRequest;
this.transaction = parentRequest == null ? null : parentRequest.getTransaction(); this.transaction = parentRequest == null ? null : parentRequest.transaction();
this.lazy = lazy; this.lazy = lazy;
} }
@@ -45,6 +45,6 @@ public abstract class LoadRequest {
* So one of - findIterate(), findEach(), findEachWhile() or findVisit(). * So one of - findIterate(), findEach(), findEachWhile() or findVisit().
*/ */
public boolean isParentFindIterate() { public boolean isParentFindIterate() {
return parentRequest != null && parentRequest.getQuery().getType() == SpiQuery.Type.ITERATE; return parentRequest != null && parentRequest.query().getType() == SpiQuery.Type.ITERATE;
} }
} }
@@ -39,7 +39,7 @@ public final class TransactionEventTable implements Serializable, BinaryWritable
} }
public void add(TableIUD newTableIUD) { public void add(TableIUD newTableIUD) {
TableIUD existingTableIUD = map.put(newTableIUD.getTableName(), newTableIUD); TableIUD existingTableIUD = map.put(newTableIUD.tableName(), newTableIUD);
if (existingTableIUD != null) { if (existingTableIUD != null) {
newTableIUD.add(existingTableIUD); newTableIUD.add(existingTableIUD);
} }
@@ -104,7 +104,7 @@ public final class TransactionEventTable implements Serializable, BinaryWritable
} }
@Override @Override
public String getTableName() { public String tableName() {
return table; return table;
} }
@@ -102,7 +102,7 @@ public abstract class BeanRequest {
/** /**
* Return the Transaction associated with this request. * Return the Transaction associated with this request.
*/ */
public SpiTransaction getTransaction() { public SpiTransaction transaction() {
return transaction; return transaction;
} }
@@ -1312,7 +1312,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
SpiOrmQueryRequest<?> request = createQueryRequest(Type.ID_LIST, query, t); SpiOrmQueryRequest<?> request = createQueryRequest(Type.ID_LIST, query, t);
Object result = request.getFromQueryCache(); Object result = request.getFromQueryCache();
if (result != null) { if (result != null) {
if (Boolean.FALSE.equals(request.getQuery().isReadOnly())) { if (Boolean.FALSE.equals(request.query().isReadOnly())) {
return new CopyOnFirstWriteList<>((List<A>) result); return new CopyOnFirstWriteList<>((List<A>) result);
} else { } else {
return (List<A>) result; return (List<A>) result;
@@ -1341,7 +1341,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
if (ids.isEmpty()) { if (ids.isEmpty()) {
return 0; return 0;
} else { } else {
return persister.deleteByIds(request.getBeanDescriptor(), ids, request.getTransaction(), false); return persister.deleteByIds(request.getBeanDescriptor(), ids, request.transaction(), false);
} }
} }
} finally { } finally {
@@ -509,7 +509,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements SpiOrmQuery
} }
@Override @Override
public SpiQuery<T> getQuery() { public SpiQuery<T> query() {
return query; return query;
} }
@@ -424,12 +424,12 @@ public final class PersistRequestBean<T> extends PersistRequest implements BeanP
} }
@Override @Override
public Set<String> getLoadedProperties() { public Set<String> loadedProperties() {
return intercept.getLoadedPropertyNames(); return intercept.getLoadedPropertyNames();
} }
@Override @Override
public Set<String> getUpdatedProperties() { public Set<String> updatedProperties() {
return intercept.getDirtyPropertyNames(); return intercept.getDirtyPropertyNames();
} }
@@ -437,7 +437,7 @@ public final class PersistRequestBean<T> extends PersistRequest implements BeanP
* Return the dirty properties on this request. * Return the dirty properties on this request.
*/ */
@Override @Override
public boolean[] getDirtyProperties() { public boolean[] dirtyProperties() {
return dirtyProperties; return dirtyProperties;
} }
@@ -462,7 +462,7 @@ public final class PersistRequestBean<T> extends PersistRequest implements BeanP
} }
@Override @Override
public Map<String, ValuePair> getUpdatedValues() { public Map<String, ValuePair> updatedValues() {
return intercept.getDirtyValues(); return intercept.getDirtyValues();
} }
@@ -675,7 +675,7 @@ public final class PersistRequestBean<T> extends PersistRequest implements BeanP
* Return the bean associated with this request. * Return the bean associated with this request.
*/ */
@Override @Override
public T getBean() { public T bean() {
return bean; return bean;
} }
@@ -783,7 +783,7 @@ public final class PersistRequestBean<T> extends PersistRequest implements BeanP
case UPDATE: case UPDATE:
if (beanPersistListener != null) { if (beanPersistListener != null) {
// store the updated properties for sending later // store the updated properties for sending later
updatedProperties = getUpdatedProperties(); updatedProperties = updatedProperties();
} }
executeUpdate(); executeUpdate();
return -1; return -1;
@@ -1384,7 +1384,7 @@ public final class PersistRequestBean<T> extends PersistRequest implements BeanP
String key = beanDescriptor.cacheKey(idValue); String key = beanDescriptor.cacheKey(idValue);
Map<String, Object> changes = new LinkedHashMap<>(); Map<String, Object> changes = new LinkedHashMap<>();
EntityBean bean = getEntityBean(); EntityBean bean = getEntityBean();
boolean[] dirtyProperties = getDirtyProperties(); boolean[] dirtyProperties = dirtyProperties();
if (dirtyProperties != null) { if (dirtyProperties != null) {
for (int i = 0; i < dirtyProperties.length; i++) { for (int i = 0; i < dirtyProperties.length; i++) {
if (dirtyProperties[i]) { if (dirtyProperties[i]) {
@@ -22,7 +22,7 @@ public interface SpiOrmQueryRequest<T> extends BeanQueryRequest<T>, DocQueryRequ
* Return the query. * Return the query.
*/ */
@Override @Override
SpiQuery<T> getQuery(); SpiQuery<T> query();
/** /**
* Return the associated BeanDescriptor. * Return the associated BeanDescriptor.
@@ -45,7 +45,7 @@ public final class BeanCollectionHelpFactory {
} else if (manyType == SpiQuery.Type.MAP) { } else if (manyType == SpiQuery.Type.MAP) {
BeanDescriptor<T> target = request.getBeanDescriptor(); BeanDescriptor<T> target = request.getBeanDescriptor();
ElPropertyValue elProperty = target.getElGetValue(request.getQuery().getMapKey()); ElPropertyValue elProperty = target.getElGetValue(request.query().getMapKey());
return new BeanMapQueryHelp<>(elProperty); return new BeanMapQueryHelp<>(elProperty);
} else { } else {
@@ -377,7 +377,7 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy
* For SQL based modifications we need to invalidate appropriate parts of the cache. * For SQL based modifications we need to invalidate appropriate parts of the cache.
*/ */
public void cacheNotify(TransactionEventTable.TableIUD tableIUD, CacheChangeSet changeSet) { public void cacheNotify(TransactionEventTable.TableIUD tableIUD, CacheChangeSet changeSet) {
String tableName = tableIUD.getTableName().toLowerCase(); String tableName = tableIUD.tableName().toLowerCase();
List<BeanDescriptor<?>> normalBeanTypes = tableToDescMap.get(tableName); List<BeanDescriptor<?>> normalBeanTypes = tableToDescMap.get(tableName);
if (normalBeanTypes != null) { if (normalBeanTypes != null) {
// 'normal' entity beans based on a "base table" // 'normal' entity beans based on a "base table"
@@ -208,7 +208,7 @@ final class BeanLifecycleAdapterFactory {
private void invoke(Method[] methods, BeanPersistRequest<?> request) { private void invoke(Method[] methods, BeanPersistRequest<?> request) {
for (Method method : methods) { for (Method method : methods) {
invoke(method, request.getBean()); invoke(method, request.bean());
} }
} }
@@ -414,7 +414,7 @@ public class BeanPropertyAssocMany<T> extends BeanPropertyAssoc<T> implements ST
boolean softDelete = targetDescriptor.isSoftDelete(); boolean softDelete = targetDescriptor.isSoftDelete();
boolean needsX2Table = softDelete || getExtraWhere() != null; boolean needsX2Table = softDelete || getExtraWhere() != null;
StringBuilder sb = new StringBuilder(50); StringBuilder sb = new StringBuilder(50);
SpiQuery<?> query = request.getQueryRequest().getQuery(); SpiQuery<?> query = request.getQueryRequest().query();
if (hasJoinTable()) { if (hasJoinTable()) {
sb.append(query.isAsDraft() ? intersectionDraftTable : intersectionPublishTable); sb.append(query.isAsDraft() ? intersectionDraftTable : intersectionPublishTable);
} else { } else {
@@ -79,7 +79,7 @@ final class ExistsQueryExpression implements SpiExpression, UnsupportedDocStoreE
*/ */
protected CQuery<?> compileSubQuery(BeanQueryRequest<?> queryRequest) { protected CQuery<?> compileSubQuery(BeanQueryRequest<?> queryRequest) {
SpiEbeanServer ebeanServer = (SpiEbeanServer) queryRequest.getEbeanServer(); SpiEbeanServer ebeanServer = (SpiEbeanServer) queryRequest.getEbeanServer();
return ebeanServer.compileQuery(Type.SQ_EXISTS, subQuery, queryRequest.getTransaction()); return ebeanServer.compileQuery(Type.SQ_EXISTS, subQuery, queryRequest.transaction());
} }
@Override @Override
@@ -67,7 +67,7 @@ final class InQueryExpression extends AbstractExpression implements UnsupportedD
private CQuery<?> compileSubQuery(BeanQueryRequest<?> queryRequest) { private CQuery<?> compileSubQuery(BeanQueryRequest<?> queryRequest) {
SpiEbeanServer ebeanServer = (SpiEbeanServer) queryRequest.getEbeanServer(); SpiEbeanServer ebeanServer = (SpiEbeanServer) queryRequest.getEbeanServer();
return ebeanServer.compileQuery(Type.SQ_IN, subQuery, queryRequest.getTransaction()); return ebeanServer.compileQuery(Type.SQ_IN, subQuery, queryRequest.transaction());
} }
@Override @Override
@@ -97,7 +97,7 @@ public final class DLoadContext implements LoadContext {
this.defaultBatchSize = request.getLazyLoadBatchSize(); this.defaultBatchSize = request.getLazyLoadBatchSize();
this.rootDescriptor = request.getBeanDescriptor(); this.rootDescriptor = request.getBeanDescriptor();
SpiQuery<?> query = request.getQuery(); SpiQuery<?> query = request.query();
this.useDocStore = query.isUseDocStore(); this.useDocStore = query.isUseDocStore();
this.asOf = query.getAsOf(); this.asOf = query.getAsOf();
this.asDraft = query.isAsDraft(); this.asDraft = query.isAsDraft();
@@ -538,7 +538,7 @@ public final class DefaultPersister implements Persister {
request.executeOrQueue(); request.executeOrQueue();
} else if (logger.isDebugEnabled()) { } else if (logger.isDebugEnabled()) {
logger.debug("Update skipped as bean is unchanged: {}", request.getBean()); logger.debug("Update skipped as bean is unchanged: {}", request.bean());
} }
if (request.isPersistCascade()) { if (request.isPersistCascade()) {
@@ -590,7 +590,7 @@ public final class DefaultPersister implements Persister {
// skip deleting bean. Used where cascade is on // skip deleting bean. Used where cascade is on
// both sides of a relationship // both sides of a relationship
if (logger.isDebugEnabled()) { if (logger.isDebugEnabled()) {
logger.debug("skipping delete on alreadyRegistered " + req.getBean()); logger.debug("skipping delete on alreadyRegistered " + req.bean());
} }
return 0; return 0;
} }
@@ -600,7 +600,7 @@ public final class DefaultPersister implements Persister {
int rows = delete(req); int rows = delete(req);
if (draftReq != null) { if (draftReq != null) {
// delete the 'draft' bean ('live' bean deleted first) // delete the 'draft' bean ('live' bean deleted first)
draftReq.setTrans(req.getTransaction()); draftReq.setTrans(req.transaction());
rows = delete(draftReq); rows = delete(draftReq);
} }
req.commitTransIfRequired(); req.commitTransIfRequired();
@@ -908,11 +908,11 @@ public final class DefaultPersister implements Persister {
EntityBean parentBean = request.getEntityBean(); EntityBean parentBean = request.getEntityBean();
BeanDescriptor<?> desc = request.getBeanDescriptor(); BeanDescriptor<?> desc = request.getBeanDescriptor();
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
EntityBean orphanForRemoval = request.getImportedOrphanForRemoval(); EntityBean orphanForRemoval = request.getImportedOrphanForRemoval();
if (orphanForRemoval != null) { if (orphanForRemoval != null) {
delete(orphanForRemoval, request.getTransaction(), true); delete(orphanForRemoval, request.transaction(), true);
} }
// exported ones with cascade save // exported ones with cascade save
@@ -977,7 +977,7 @@ public final class DefaultPersister implements Persister {
*/ */
private void deleteAssocMany(PersistRequestBean<?> request) { private void deleteAssocMany(PersistRequestBean<?> request) {
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
t.depth(-1); t.depth(-1);
BeanDescriptor<?> desc = request.getBeanDescriptor(); BeanDescriptor<?> desc = request.getBeanDescriptor();
@@ -1122,7 +1122,7 @@ public final class DefaultPersister implements Persister {
&& !prop.isSaveRecurseSkippable(detailBean) && !prop.isSaveRecurseSkippable(detailBean)
&& !prop.isReference(detailBean) && !prop.isReference(detailBean)
&& !request.isParent(detailBean)) { && !request.isParent(detailBean)) {
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
t.depth(-1); t.depth(-1);
saveRecurse(detailBean, t, null, request.getFlags()); saveRecurse(detailBean, t, null, request.getFlags());
t.depth(+1); t.depth(+1);
@@ -1140,7 +1140,7 @@ public final class DefaultPersister implements Persister {
private void deleteOrphan(PersistRequestBean<?> request, BeanPropertyAssocOne<?> prop) { private void deleteOrphan(PersistRequestBean<?> request, BeanPropertyAssocOne<?> prop) {
Object origValue = request.getOrigValue(prop); Object origValue = request.getOrigValue(prop);
if (origValue instanceof EntityBean) { if (origValue instanceof EntityBean) {
delete((EntityBean) origValue, request.getTransaction(), true); delete((EntityBean) origValue, request.transaction(), true);
} }
} }
@@ -1180,7 +1180,7 @@ public final class DefaultPersister implements Persister {
if (detailBean != null) { if (detailBean != null) {
EntityBean detail = (EntityBean) detailBean; EntityBean detail = (EntityBean) detailBean;
if (prop.hasId(detail)) { if (prop.hasId(detail)) {
deleteRecurse(detail, request.getTransaction(), deleteMode); deleteRecurse(detail, request.transaction(), deleteMode);
} }
} }
} }
@@ -29,17 +29,17 @@ final class DeleteIdRequest implements BeanDeleteIdRequest {
} }
@Override @Override
public Transaction getTransaction() { public Transaction transaction() {
return transaction; return transaction;
} }
@Override @Override
public Class<?> getBeanType() { public Class<?> beanType() {
return beanType; return beanType;
} }
@Override @Override
public Object getId() { public Object id() {
return id; return id;
} }
} }
@@ -67,7 +67,7 @@ final class DeleteUnloadedForeignKeys {
q.setIncludeSoftDeletes(); q.setIncludeSoftDeletes();
q.where().idEq(id); q.where().idEq(id);
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
if (t.isLogSummary()) { if (t.isLogSummary()) {
t.logSummary("-- Ebean fetching foreign key values for delete of " + descriptor.getName() + " id:" + id); t.logSummary("-- Ebean fetching foreign key values for delete of " + descriptor.getName() + " id:" + id);
} }
@@ -87,9 +87,9 @@ final class DeleteUnloadedForeignKeys {
// if bean exists with a unique id then delete it // if bean exists with a unique id then delete it
if (detailBean != null && prop.hasId((EntityBean) detailBean)) { if (detailBean != null && prop.hasId((EntityBean) detailBean)) {
if (deletePermanent) { if (deletePermanent) {
server.deletePermanent(detailBean, request.getTransaction()); server.deletePermanent(detailBean, request.transaction());
} else { } else {
server.delete(detailBean, request.getTransaction()); server.delete(detailBean, request.transaction());
} }
} }
} }
@@ -57,7 +57,7 @@ final class ExeCallableSql {
private CallableStatement bindStmt(PersistRequestCallableSql request, boolean batchThisRequest) throws SQLException { private CallableStatement bindStmt(PersistRequestCallableSql request, boolean batchThisRequest) throws SQLException {
request.startBind(batchThisRequest); request.startBind(batchThisRequest);
SpiCallableSql callableSql = request.getCallableSql(); SpiCallableSql callableSql = request.getCallableSql();
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
String sql = callableSql.getSql(); String sql = callableSql.getSql();
BindParams bindParams = callableSql.getBindParams(); BindParams bindParams = callableSql.getBindParams();
@@ -69,7 +69,7 @@ final class ExeOrmUpdate {
private PreparedStatement bindStmt(PersistRequestOrmUpdate request, boolean batchThisRequest) throws SQLException { private PreparedStatement bindStmt(PersistRequestOrmUpdate request, boolean batchThisRequest) throws SQLException {
request.startBind(batchThisRequest); request.startBind(batchThisRequest);
SpiUpdate<?> ormUpdate = request.getOrmUpdate(); SpiUpdate<?> ormUpdate = request.getOrmUpdate();
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
String sql = ormUpdate.getUpdateStatement(); String sql = ormUpdate.getUpdateStatement();
@@ -75,7 +75,7 @@ final class ExeUpdateSql {
private PreparedStatement bindStmt(PersistRequestUpdateSql request, boolean batchThisRequest) throws SQLException { private PreparedStatement bindStmt(PersistRequestUpdateSql request, boolean batchThisRequest) throws SQLException {
request.startBind(batchThisRequest); request.startBind(batchThisRequest);
SpiSqlUpdate updateSql = request.getUpdateSql(); SpiSqlUpdate updateSql = request.getUpdateSql();
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
BindParams bindParams = updateSql.getBindParams(); BindParams bindParams = updateSql.getBindParams();
@@ -33,7 +33,7 @@ abstract class SaveManyBase implements SaveMany {
this.server = request.getServer(); this.server = request.getServer();
this.many = many; this.many = many;
this.parentBean = parentBean; this.parentBean = parentBean;
this.transaction = request.getTransaction(); this.transaction = request.transaction();
this.value = many.getValue(parentBean); this.value = many.getValue(parentBean);
this.insertedParent = insertedParent; this.insertedParent = insertedParent;
if (!insertedParent) { if (!insertedParent) {
@@ -30,7 +30,7 @@ final class DeleteHandler extends DmlHandler {
@Override @Override
public void bind() throws SQLException { public void bind() throws SQLException {
sql = meta.getSql(persistRequest); sql = meta.getSql(persistRequest);
SpiTransaction t = persistRequest.getTransaction(); SpiTransaction t = persistRequest.transaction();
PreparedStatement pstmt; PreparedStatement pstmt;
if (persistRequest.isBatched()) { if (persistRequest.isBatched()) {
pstmt = getPstmtBatch(t, sql, persistRequest, false); pstmt = getPstmtBatch(t, sql, persistRequest, false);
@@ -71,8 +71,8 @@ final class DmlBeanPersister implements BeanPersister {
} catch (SQLException e) { } catch (SQLException e) {
// log the error to the transaction log // log the error to the transaction log
String msg = "Error[" + StringHelper.removeNewLines(e.getMessage()) + "]"; String msg = "Error[" + StringHelper.removeNewLines(e.getMessage()) + "]";
if (request.getTransaction().isLogSummary()) { if (request.transaction().isLogSummary()) {
request.getTransaction().logSummary(msg); request.transaction().logSummary(msg);
} }
throw dbPlatform.translate(msg, e); throw dbPlatform.translate(msg, e);
} finally { } finally {
@@ -40,7 +40,7 @@ public abstract class DmlHandler implements PersistHandler, BindableRequest {
DmlHandler(PersistRequestBean<?> persistRequest) { DmlHandler(PersistRequestBean<?> persistRequest) {
this.now = System.currentTimeMillis(); this.now = System.currentTimeMillis();
this.persistRequest = persistRequest; this.persistRequest = persistRequest;
this.transaction = persistRequest.getTransaction(); this.transaction = persistRequest.transaction();
this.logLevelSql = transaction.isLogSql(); this.logLevelSql = transaction.isLogSql();
if (logLevelSql) { if (logLevelSql) {
this.bindLog = new StringBuilder(50); this.bindLog = new StringBuilder(50);
@@ -103,7 +103,7 @@ public abstract class DmlHandler implements PersistHandler, BindableRequest {
} catch (OptimisticLockException e) { } catch (OptimisticLockException e) {
// add the SQL and bind values to error message // add the SQL and bind values to error message
String m = e.getMessage() + " sql[" + sql + "] bind[" + bindLog + "]"; String m = e.getMessage() + " sql[" + sql + "] bind[" + bindLog + "]";
persistRequest.getTransaction().logSummary("OptimisticLockException:" + m); persistRequest.transaction().logSummary("OptimisticLockException:" + m);
throw new OptimisticLockException(m, null, e.getEntity()); throw new OptimisticLockException(m, null, e.getEntity());
} }
} }
@@ -67,7 +67,7 @@ public final class InsertHandler extends DmlHandler {
} }
} }
SpiTransaction t = persistRequest.getTransaction(); SpiTransaction t = persistRequest.transaction();
// get the appropriate sql // get the appropriate sql
sql = meta.getSql(withId, persistRequest.isPublish()); sql = meta.getSql(withId, persistRequest.isPublish());
PreparedStatement pstmt; PreparedStatement pstmt;
@@ -38,7 +38,7 @@ public final class UpdateHandler extends DmlHandler {
} }
sql = updatePlan.getSql(); sql = updatePlan.getSql();
SpiTransaction t = persistRequest.getTransaction(); SpiTransaction t = persistRequest.transaction();
PreparedStatement pstmt; PreparedStatement pstmt;
if (persistRequest.isBatched()) { if (persistRequest.isBatched()) {
pstmt = getPstmtBatch(t, sql, persistRequest, false); pstmt = getPstmtBatch(t, sql, persistRequest, false);
@@ -184,7 +184,7 @@ public final class CQuery<T> implements DbReadContext, CancelableQuery, SpiProfi
this.request = request; this.request = request;
this.audit = request.isAuditReads(); this.audit = request.isAuditReads();
this.queryPlan = queryPlan; this.queryPlan = queryPlan;
this.query = request.getQuery(); this.query = request.query();
this.queryMode = query.getMode(); this.queryMode = query.getMode();
this.lazyLoadManyProperty = query.getLazyLoadMany(); this.lazyLoadManyProperty = query.getLazyLoadMany();
this.readOnly = request.isReadOnly(); this.readOnly = request.isReadOnly();
@@ -216,7 +216,7 @@ public final class CQuery<T> implements DbReadContext, CancelableQuery, SpiProfi
if (request.isFindById()) { if (request.isFindById()) {
return null; return null;
} else { } else {
SpiQuery.Type manyType = request.getQuery().getType(); SpiQuery.Type manyType = request.query().getType();
if (manyType == null) { if (manyType == null) {
// subQuery compiled for InQueryExpression // subQuery compiled for InQueryExpression
return null; return null;
@@ -306,7 +306,7 @@ public final class CQuery<T> implements DbReadContext, CancelableQuery, SpiProfi
// cancelled before we started // cancelled before we started
query.checkCancelled(); query.checkCancelled();
startNano = System.nanoTime(); startNano = System.nanoTime();
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
profileOffset = t.profileOffset(); profileOffset = t.profileOffset();
if (query.isRawSql()) { if (query.isRawSql()) {
ResultSet suppliedResultSet = query.getRawSql().getResultSet(); ResultSet suppliedResultSet = query.getRawSql().getResultSet();
@@ -630,7 +630,7 @@ public final class CQuery<T> implements DbReadContext, CancelableQuery, SpiProfi
} }
public SpiTransaction getTransaction() { public SpiTransaction getTransaction() {
return request.getTransaction(); return request.transaction();
} }
/** /**
@@ -88,7 +88,7 @@ final class CQueryBuilder {
* Build the delete query. * Build the delete query.
*/ */
<T> CQueryUpdate buildUpdateQuery(boolean deleteRequest, OrmQueryRequest<T> request) { <T> CQueryUpdate buildUpdateQuery(boolean deleteRequest, OrmQueryRequest<T> request) {
SpiQuery<T> query = request.getQuery(); SpiQuery<T> query = request.query();
String rootTableAlias = query.getAlias(); String rootTableAlias = query.getAlias();
query.setupForDeleteOrUpdate(); query.setupForDeleteOrUpdate();
@@ -117,7 +117,7 @@ final class CQueryBuilder {
private <T> String buildDeleteSql(OrmQueryRequest<T> request, String rootTableAlias, CQueryPredicates predicates, SqlTree sqlTree) { private <T> String buildDeleteSql(OrmQueryRequest<T> request, String rootTableAlias, CQueryPredicates predicates, SqlTree sqlTree) {
String alias = alias(rootTableAlias); String alias = alias(rootTableAlias);
if (sqlTree.noJoins() && !request.getQuery().hasMaxRowsOrFirstRow()) { if (sqlTree.noJoins() && !request.query().hasMaxRowsOrFirstRow()) {
if (dbPlatform.isSupportsDeleteTableAlias()) { if (dbPlatform.isSupportsDeleteTableAlias()) {
// delete from table <alias> ... // delete from table <alias> ...
return aliasReplace(buildSqlDelete("delete", request, predicates, sqlTree).getSql(), alias); return aliasReplace(buildSqlDelete("delete", request, predicates, sqlTree).getSql(), alias);
@@ -177,7 +177,7 @@ final class CQueryBuilder {
} }
CQueryFetchSingleAttribute buildFetchAttributeQuery(OrmQueryRequest<?> request) { CQueryFetchSingleAttribute buildFetchAttributeQuery(OrmQueryRequest<?> request) {
SpiQuery<?> query = request.getQuery(); SpiQuery<?> query = request.query();
query.setSingleAttribute(); query.setSingleAttribute();
if (!query.isIncludeSoftDeletes()) { if (!query.isIncludeSoftDeletes()) {
BeanDescriptor<?> desc = request.getBeanDescriptor(); BeanDescriptor<?> desc = request.getBeanDescriptor();
@@ -208,7 +208,7 @@ final class CQueryBuilder {
* Build the find ids query. * Build the find ids query.
*/ */
<T> CQueryFetchSingleAttribute buildFetchIdsQuery(OrmQueryRequest<T> request) { <T> CQueryFetchSingleAttribute buildFetchIdsQuery(OrmQueryRequest<T> request) {
SpiQuery<T> query = request.getQuery(); SpiQuery<T> query = request.query();
query.setSelectId(); query.setSelectId();
BeanDescriptor<T> desc = request.getBeanDescriptor(); BeanDescriptor<T> desc = request.getBeanDescriptor();
if (!query.isIncludeSoftDeletes() && desc.isSoftDelete()) { if (!query.isIncludeSoftDeletes() && desc.isSoftDelete()) {
@@ -235,7 +235,7 @@ final class CQueryBuilder {
* Build the row count query. * Build the row count query.
*/ */
<T> CQueryRowCount buildRowCountQuery(OrmQueryRequest<T> request) { <T> CQueryRowCount buildRowCountQuery(OrmQueryRequest<T> request) {
SpiQuery<T> query = request.getQuery(); SpiQuery<T> query = request.query();
// always set the order by to null for row count query // always set the order by to null for row count query
query.setOrder(null); query.setOrder(null);
query.setFirstRow(0); query.setFirstRow(0);
@@ -340,7 +340,7 @@ final class CQueryBuilder {
predicates.prepare(true); predicates.prepare(true);
// Build the tree structure that represents the query. // Build the tree structure that represents the query.
SpiQuery<T> query = request.getQuery(); SpiQuery<T> query = request.query();
SqlTree sqlTree = createSqlTree(request, predicates); SqlTree sqlTree = createSqlTree(request, predicates);
if (query.isAsOfQuery()) { if (query.isAsOfQuery()) {
@@ -401,7 +401,7 @@ final class CQueryBuilder {
* Create the SqlTree by reading the ResultSetMetaData and mapping table/columns to bean property paths. * Create the SqlTree by reading the ResultSetMetaData and mapping table/columns to bean property paths.
*/ */
private SqlTree createNativeSqlTree(OrmQueryRequest<?> request, CQueryPredicates predicates) { private SqlTree createNativeSqlTree(OrmQueryRequest<?> request, CQueryPredicates predicates) {
SpiQuery<?> query = request.getQuery(); SpiQuery<?> query = request.query();
// parse named parameters returning the final sql to execute // parse named parameters returning the final sql to execute
String sql = predicates.parseBindParams(query.getNativeSql()); String sql = predicates.parseBindParams(query.getNativeSql());
if (query.hasMaxRowsOrFirstRow()) { if (query.hasMaxRowsOrFirstRow()) {
@@ -409,7 +409,7 @@ final class CQueryBuilder {
} }
query.setGeneratedSql(sql); query.setGeneratedSql(sql);
Connection connection = request.getTransaction().getConnection(); Connection connection = request.transaction().getConnection();
BeanDescriptor<?> desc = request.getBeanDescriptor(); BeanDescriptor<?> desc = request.getBeanDescriptor();
try { try {
@@ -446,7 +446,7 @@ final class CQueryBuilder {
private SqlTree createRawSqlSqlTree(OrmQueryRequest<?> request, CQueryPredicates predicates) { private SqlTree createRawSqlSqlTree(OrmQueryRequest<?> request, CQueryPredicates predicates) {
BeanDescriptor<?> descriptor = request.getBeanDescriptor(); BeanDescriptor<?> descriptor = request.getBeanDescriptor();
ColumnMapping columnMapping = request.getQuery().getRawSql().getColumnMapping(); ColumnMapping columnMapping = request.query().getRawSql().getColumnMapping();
PathProperties pathProps = new PathProperties(); PathProperties pathProps = new PathProperties();
// convert list of columns into (tree like) PathProperties // convert list of columns into (tree like) PathProperties
@@ -523,7 +523,7 @@ final class CQueryBuilder {
* Return the SQL response with row limiting (when not an update statement). * Return the SQL response with row limiting (when not an update statement).
*/ */
private SqlLimitResponse buildSql(String selectClause, OrmQueryRequest<?> request, CQueryPredicates predicates, SqlTree select) { private SqlLimitResponse buildSql(String selectClause, OrmQueryRequest<?> request, CQueryPredicates predicates, SqlTree select) {
SpiQuery<?> query = request.getQuery(); SpiQuery<?> query = request.query();
if (query.isNativeSql()) { if (query.isNativeSql()) {
return new SqlLimitResponse(query.getGeneratedSql()); return new SqlLimitResponse(query.getGeneratedSql());
} }
@@ -562,7 +562,7 @@ final class CQueryBuilder {
private BuildReq(String selectClause, OrmQueryRequest<?> request, CQueryPredicates predicates, SqlTree select, boolean updateStatement) { private BuildReq(String selectClause, OrmQueryRequest<?> request, CQueryPredicates predicates, SqlTree select, boolean updateStatement) {
this.selectClause = selectClause; this.selectClause = selectClause;
this.request = request; this.request = request;
this.query = request.getQuery(); this.query = request.query();
this.predicates = predicates; this.predicates = predicates;
this.select = select; this.select = select;
this.updateStatement = updateStatement; this.updateStatement = updateStatement;
@@ -33,7 +33,7 @@ final class CQueryBuilderRawSql {
if (!rsql.isParsed()) { if (!rsql.isParsed()) {
String sql = rsql.getUnparsedSql(); String sql = rsql.getUnparsedSql();
BindParams bindParams = request.getQuery().getBindParams(); BindParams bindParams = request.query().getBindParams();
if (bindParams != null && bindParams.requiresNamedParamsPrepare()) { if (bindParams != null && bindParams.requiresNamedParamsPrepare()) {
// convert named parameters into positioned parameters // convert named parameters into positioned parameters
sql = BindParamsParser.parse(bindParams, sql); sql = BindParamsParser.parse(bindParams, sql);
@@ -46,7 +46,7 @@ final class CQueryBuilderRawSql {
// build the actual sql String // build the actual sql String
String sql = buildMainQuery(orderBy, request, predicates, rsql); String sql = buildMainQuery(orderBy, request, predicates, rsql);
SpiQuery<?> query = request.getQuery(); SpiQuery<?> query = request.query();
if (query.hasMaxRowsOrFirstRow() && sqlLimiter != null) { if (query.hasMaxRowsOrFirstRow() && sqlLimiter != null) {
// wrap with a limit offset or ROW_NUMBER() etc // wrap with a limit offset or ROW_NUMBER() etc
return sqlLimiter.limit(new OrmQueryLimitRequest(sql, orderBy, query, dbPlatform, rsql.isDistinct() || query.isDistinct())); return sqlLimiter.limit(new OrmQueryLimitRequest(sql, orderBy, query, dbPlatform, rsql.isDistinct() || query.isDistinct()));
@@ -66,7 +66,7 @@ final class CQueryBuilderRawSql {
sb.append(" "); sb.append(" ");
String s = sql.getPreWhere(); String s = sql.getPreWhere();
BindParams bindParams = request.getQuery().getBindParams(); BindParams bindParams = request.query().getBindParams();
if (bindParams != null && bindParams.requiresNamedParamsPrepare()) { if (bindParams != null && bindParams.requiresNamedParamsPrepare()) {
// convert named parameters into positioned parameters // convert named parameters into positioned parameters
// Named Parameters only allowed prior to dynamic where // Named Parameters only allowed prior to dynamic where
@@ -77,7 +77,7 @@ final class CQueryBuilderRawSql {
sb.append(" "); sb.append(" ");
String dynamicWhere = null; String dynamicWhere = null;
if (request.getQuery().getId() != null) { if (request.query().getId() != null) {
// need to convert this as well. This avoids the // need to convert this as well. This avoids the
// assumption that id has its proper dbColumn assigned // assumption that id has its proper dbColumn assigned
// which may change if using multiple raw sql statements // which may change if using multiple raw sql statements
@@ -105,13 +105,13 @@ public final class CQueryEngine {
logGeneratedSql(request, rcQuery.getGeneratedSql(), rcQuery.getBindLog(), rcQuery.micros()); logGeneratedSql(request, rcQuery.getGeneratedSql(), rcQuery.getBindLog(), rcQuery.micros());
} }
if (request.isLogSummary()) { if (request.isLogSummary()) {
request.getTransaction().logSummary(rcQuery.getSummary()); request.transaction().logSummary(rcQuery.getSummary());
} }
if (request.isQueryCachePut()) { if (request.isQueryCachePut()) {
request.addDependentTables(rcQuery.getDependentTables()); request.addDependentTables(rcQuery.getDependentTables());
list = Collections.unmodifiableList(list); list = Collections.unmodifiableList(list);
request.putToQueryCache(list); request.putToQueryCache(list);
if (Boolean.FALSE.equals(request.getQuery().isReadOnly())) { if (Boolean.FALSE.equals(request.query().isReadOnly())) {
list = new ArrayList<>(list); list = new ArrayList<>(list);
} }
} }
@@ -125,7 +125,7 @@ public final class CQueryEngine {
* Translate the SQLException into a PersistenceException. * Translate the SQLException into a PersistenceException.
*/ */
<T> PersistenceException translate(OrmQueryRequest<T> request, String bindLog, String sql, SQLException e) { <T> PersistenceException translate(OrmQueryRequest<T> request, String bindLog, String sql, SQLException e) {
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
if (t.isLogSummary()) { if (t.isLogSummary()) {
// log the error to the transaction log // log the error to the transaction log
String msg = "ERROR executing query, bindLog[" + bindLog + "] error[" + StringHelper.removeNewLines(e.getMessage()) + "]"; String msg = "ERROR executing query, bindLog[" + bindLog + "] error[" + StringHelper.removeNewLines(e.getMessage()) + "]";
@@ -163,10 +163,10 @@ public final class CQueryEngine {
logGeneratedSql(request, rcQuery.getGeneratedSql(), rcQuery.getBindLog(), rcQuery.micros()); logGeneratedSql(request, rcQuery.getGeneratedSql(), rcQuery.getBindLog(), rcQuery.micros());
} }
if (request.isLogSummary()) { if (request.isLogSummary()) {
request.getTransaction().logSummary(rcQuery.getSummary()); request.transaction().logSummary(rcQuery.getSummary());
} }
if (request.getQuery().isFutureFetch()) { if (request.query().isFutureFetch()) {
request.getTransaction().end(); request.transaction().end();
} }
if (request.isQueryCachePut()) { if (request.isQueryCachePut()) {
request.addDependentTables(rcQuery.getDependentTables()); request.addDependentTables(rcQuery.getDependentTables());
@@ -201,7 +201,7 @@ public final class CQueryEngine {
int iterateBufferSize = request.getSecondaryQueriesMinBatchSize(); int iterateBufferSize = request.getSecondaryQueriesMinBatchSize();
if (iterateBufferSize < 1) { if (iterateBufferSize < 1) {
// not set on query joins so check if batch size set on query itself // not set on query joins so check if batch size set on query itself
int queryBatch = request.getQuery().getLazyLoadBatchSize(); int queryBatch = request.query().getLazyLoadBatchSize();
if (queryBatch > 0) { if (queryBatch > 0) {
iterateBufferSize = queryBatch; iterateBufferSize = queryBatch;
} else { } else {
@@ -235,7 +235,7 @@ public final class CQueryEngine {
* Execute the find versions query returning version beans. * Execute the find versions query returning version beans.
*/ */
public <T> List<Version<T>> findVersions(OrmQueryRequest<T> request) { public <T> List<Version<T>> findVersions(OrmQueryRequest<T> request) {
SpiQuery<T> query = request.getQuery(); SpiQuery<T> query = request.query();
String sysPeriodLower = getSysPeriodLower(query); String sysPeriodLower = getSysPeriodLower(query);
if (query.isVersionsBetween() && !historySupport.isStandardsBased()) { if (query.isVersionsBetween() && !historySupport.isStandardsBased()) {
query.where().lt(sysPeriodLower, query.getVersionEnd()); query.where().lt(sysPeriodLower, query.getVersionEnd());
@@ -417,7 +417,7 @@ public final class CQueryEngine {
* Log the FindById summary to the transaction log. * Log the FindById summary to the transaction log.
*/ */
private void logFindBeanSummary(CQuery<?> q) { private void logFindBeanSummary(CQuery<?> q) {
SpiQuery<?> query = q.getQueryRequest().getQuery(); SpiQuery<?> query = q.getQueryRequest().query();
String loadMode = query.getLoadMode(); String loadMode = query.getLoadMode();
String loadDesc = query.getLoadDescription(); String loadDesc = query.getLoadDescription();
String lazyLoadProp = query.getLazyLoadProperty(); String lazyLoadProp = query.getLazyLoadProperty();
@@ -460,7 +460,7 @@ public final class CQueryEngine {
* Log the FindMany to the transaction log. * Log the FindMany to the transaction log.
*/ */
private void logFindManySummary(CQuery<?> q) { private void logFindManySummary(CQuery<?> q) {
SpiQuery<?> query = q.getQueryRequest().getQuery(); SpiQuery<?> query = q.getQueryRequest().query();
String loadMode = query.getLoadMode(); String loadMode = query.getLoadMode();
String loadDesc = query.getLoadDescription(); String loadDesc = query.getLoadDescription();
String lazyLoadProp = query.getLazyLoadProperty(); String lazyLoadProp = query.getLazyLoadProperty();
@@ -50,7 +50,7 @@ final class CQueryFetchSingleAttribute implements SpiProfileTransactionEvent, Ca
CQueryFetchSingleAttribute(OrmQueryRequest<?> request, CQueryPredicates predicates, CQueryPlan queryPlan, boolean containsCounts) { CQueryFetchSingleAttribute(OrmQueryRequest<?> request, CQueryPredicates predicates, CQueryPlan queryPlan, boolean containsCounts) {
this.request = request; this.request = request;
this.queryPlan = queryPlan; this.queryPlan = queryPlan;
this.query = request.getQuery(); this.query = request.query();
this.sql = queryPlan.getSql(); this.sql = queryPlan.getSql();
this.desc = request.getBeanDescriptor(); this.desc = request.getBeanDescriptor();
this.predicates = predicates; this.predicates = predicates;
@@ -105,7 +105,7 @@ final class CQueryFetchSingleAttribute implements SpiProfileTransactionEvent, Ca
} }
private SpiTransaction getTransaction() { private SpiTransaction getTransaction() {
return request.getTransaction(); return request.transaction();
} }
/** /**
@@ -89,7 +89,7 @@ public class CQueryPlan implements SpiQueryPlan {
this.dataTimeZone = server.getDataTimeZone(); this.dataTimeZone = server.getDataTimeZone();
this.beanType = request.getBeanDescriptor().getBeanType(); this.beanType = request.getBeanDescriptor().getBeanType();
this.planKey = request.getQueryPlanKey(); this.planKey = request.getQueryPlanKey();
SpiQuery<?> query = request.getQuery(); SpiQuery<?> query = request.query();
this.profileLocation = query.getProfileLocation(); this.profileLocation = query.getProfileLocation();
this.location = (profileLocation == null) ? null : profileLocation.location(); this.location = (profileLocation == null) ? null : profileLocation.location();
this.label = query.getPlanLabel(); this.label = query.getPlanLabel();
@@ -113,7 +113,7 @@ public class CQueryPlan implements SpiQueryPlan {
this.server = request.getServer(); this.server = request.getServer();
this.dataTimeZone = server.getDataTimeZone(); this.dataTimeZone = server.getDataTimeZone();
this.beanType = request.getBeanDescriptor().getBeanType(); this.beanType = request.getBeanDescriptor().getBeanType();
SpiQuery<?> query = request.getQuery(); SpiQuery<?> query = request.query();
this.profileLocation = query.getProfileLocation(); this.profileLocation = query.getProfileLocation();
this.location = (profileLocation == null) ? null : profileLocation.location(); this.location = (profileLocation == null) ? null : profileLocation.location();
this.label = query.getPlanLabel(); this.label = query.getPlanLabel();
@@ -28,7 +28,7 @@ final class CQueryPlanRawSql extends CQueryPlan {
private int[] createIndexPositions(OrmQueryRequest<?> request, SqlTree sqlTree) { private int[] createIndexPositions(OrmQueryRequest<?> request, SqlTree sqlTree) {
List<String> chain = sqlTree.buildRawSqlSelectChain(); List<String> chain = sqlTree.buildRawSqlSelectChain();
ColumnMapping columnMapping = request.getQuery().getRawSql().getColumnMapping(); ColumnMapping columnMapping = request.query().getRawSql().getColumnMapping();
int[] indexPositions = new int[chain.size()]; int[] indexPositions = new int[chain.size()];
@@ -88,7 +88,7 @@ public final class CQueryPredicates {
CQueryPredicates(Binder binder, OrmQueryRequest<?> request) { CQueryPredicates(Binder binder, OrmQueryRequest<?> request) {
this.binder = binder; this.binder = binder;
this.request = request; this.request = request;
this.query = request.getQuery(); this.query = request.query();
this.bindParams = query.getBindParams(); this.bindParams = query.getBindParams();
this.idValue = query.getId(); this.idValue = query.getId();
} }
@@ -41,7 +41,7 @@ final class CQueryRowCount implements SpiProfileTransactionEvent, CancelableQuer
CQueryRowCount(CQueryPlan queryPlan, OrmQueryRequest<?> request, CQueryPredicates predicates) { CQueryRowCount(CQueryPlan queryPlan, OrmQueryRequest<?> request, CQueryPredicates predicates) {
this.queryPlan = queryPlan; this.queryPlan = queryPlan;
this.request = request; this.request = request;
this.query = request.getQuery(); this.query = request.query();
this.sql = queryPlan.getSql(); this.sql = queryPlan.getSql();
this.desc = request.getBeanDescriptor(); this.desc = request.getBeanDescriptor();
this.predicates = predicates; this.predicates = predicates;
@@ -120,7 +120,7 @@ final class CQueryRowCount implements SpiProfileTransactionEvent, CancelableQuer
} }
private SpiTransaction getTransaction() { private SpiTransaction getTransaction() {
return request.getTransaction(); return request.transaction();
} }
/** /**
@@ -37,7 +37,7 @@ final class CQueryUpdate implements SpiProfileTransactionEvent, CancelableQuery
CQueryUpdate(OrmQueryRequest<?> request, CQueryPredicates predicates, CQueryPlan queryPlan) { CQueryUpdate(OrmQueryRequest<?> request, CQueryPredicates predicates, CQueryPlan queryPlan) {
this.request = request; this.request = request;
this.queryPlan = queryPlan; this.queryPlan = queryPlan;
this.query = request.getQuery(); this.query = request.query();
this.sql = queryPlan.getSql(); this.sql = queryPlan.getSql();
this.desc = request.getBeanDescriptor(); this.desc = request.getBeanDescriptor();
this.predicates = predicates; this.predicates = predicates;
@@ -98,7 +98,7 @@ final class CQueryUpdate implements SpiProfileTransactionEvent, CancelableQuery
} }
private SpiTransaction getTransaction() { private SpiTransaction getTransaction() {
return request.getTransaction(); return request.transaction();
} }
/** /**
@@ -53,7 +53,7 @@ public final class DefaultOrmQueryEngine implements OrmQueryEngine {
*/ */
private <T> void flushJdbcBatchOnQuery(OrmQueryRequest<T> request) { private <T> void flushJdbcBatchOnQuery(OrmQueryRequest<T> request) {
SpiTransaction t = request.getTransaction(); SpiTransaction t = request.transaction();
if (t.isFlushOnQuery()) { if (t.isFlushOnQuery()) {
// before we perform a query, we need to flush any // before we perform a query, we need to flush any
// previous persist requests that are queued/batched. // previous persist requests that are queued/batched.
@@ -131,7 +131,7 @@ public final class DefaultOrmQueryEngine implements OrmQueryEngine {
result = queryEngine.findMany(request); result = queryEngine.findMany(request);
} }
SpiQuery<T> query = request.getQuery(); SpiQuery<T> query = request.query();
if (result != null && request.isBeanCachePutMany()) { if (result != null && request.isBeanCachePutMany()) {
// load the individual beans into the bean cache // load the individual beans into the bean cache
@@ -61,7 +61,7 @@ public final class SqlTreeBuilder {
this.rawSql = true; this.rawSql = true;
this.desc = request.getBeanDescriptor(); this.desc = request.getBeanDescriptor();
this.rawNoId = rawNoId; this.rawNoId = rawNoId;
this.disableLazyLoad = request.getQuery().isDisableLazyLoading(); this.disableLazyLoad = request.query().isDisableLazyLoading();
this.query = null; this.query = null;
this.subQuery = false; this.subQuery = false;
this.distinctOnPlatform = false; this.distinctOnPlatform = false;
@@ -83,7 +83,7 @@ public final class SqlTreeBuilder {
this.rawSql = false; this.rawSql = false;
this.rawNoId = false; this.rawNoId = false;
this.desc = request.getBeanDescriptor(); this.desc = request.getBeanDescriptor();
this.query = request.getQuery(); this.query = request.query();
this.temporalMode = SpiQuery.TemporalMode.of(query); this.temporalMode = SpiQuery.TemporalMode.of(query);
this.disableLazyLoad = query.isDisableLazyLoading(); this.disableLazyLoad = query.isDisableLazyLoading();
this.subQuery = Type.SQ_EXISTS == query.getType() this.subQuery = Type.SQ_EXISTS == query.getType()
@@ -28,7 +28,7 @@ public final class BulkEventListenerMap {
} }
public void process(BulkTableEvent event) { public void process(BulkTableEvent event) {
Entry entry = map.get(event.getTableName()); Entry entry = map.get(event.tableName());
if (entry != null) { if (entry != null) {
entry.process(event); entry.process(event);
} }
@@ -13,7 +13,7 @@ public interface DocQueryRequest<T> extends DocQueryContext<T> {
/** /**
* Return the transaction for this request (can be null for document store only queries). * Return the transaction for this request (can be null for document store only queries).
*/ */
SpiTransaction getTransaction(); SpiTransaction transaction();
/** /**
* Set the (document store) transaction to use for this query. * Set the (document store) transaction to use for this query.
@@ -23,7 +23,7 @@ public interface DocQueryRequest<T> extends DocQueryContext<T> {
/** /**
* Return the query for this request. * Return the query for this request.
*/ */
SpiQuery<T> getQuery(); SpiQuery<T> query();
/** /**
* Create JsonReadOptions taking into account persistence context and lazy loading support. * Create JsonReadOptions taking into account persistence context and lazy loading support.
@@ -168,7 +168,7 @@ public class BeanPersistControllerTest {
public boolean preUpdate(BeanPersistRequest<?> request) { public boolean preUpdate(BeanPersistRequest<?> request) {
methodsCalled.add("preUpdate"); methodsCalled.add("preUpdate");
Object bean = request.getBean(); Object bean = request.bean();
if (bean instanceof UTDetail) { if (bean instanceof UTDetail) {
UTDetail detail = (UTDetail)bean; UTDetail detail = (UTDetail)bean;
// invoke lazy loading ... which invoke the flush of the jdbc batch // invoke lazy loading ... which invoke the flush of the jdbc batch
@@ -23,7 +23,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
} }
OrmQueryDetail detail(Query<Order> query) { OrmQueryDetail detail(Query<Order> query) {
return queryRequest(query).getQuery().getDetail(); return queryRequest(query).query().getDetail();
} }
@Test @Test
@@ -120,7 +120,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetch("details"); .fetch("details");
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer", "details"); assertThat(detail.getFetchPaths()).containsExactly("customer", "details");
} }
@@ -134,7 +134,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.where().eq("customer.name", "rob").query(); .where().eq("customer.name", "rob").query();
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("details"); assertThat(detail.getFetchPaths()).containsExactly("details");
} }
@@ -148,7 +148,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetchQuery("details"); .fetchQuery("details");
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer"); assertThat(detail.getFetchPaths()).containsExactly("customer");
} }
@@ -162,7 +162,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetchQuery("details"); .fetchQuery("details");
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer"); assertThat(detail.getFetchPaths()).containsExactly("customer");
} }
@@ -176,7 +176,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetch("details", FetchConfig.ofLazy()); .fetch("details", FetchConfig.ofLazy());
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer"); assertThat(detail.getFetchPaths()).containsExactly("customer");
} }
@@ -190,7 +190,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetchLazy("details"); .fetchLazy("details");
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer"); assertThat(detail.getFetchPaths()).containsExactly("customer");
} }
@@ -205,7 +205,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetch("details.product"); .fetch("details.product");
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer"); assertThat(detail.getFetchPaths()).containsExactly("customer");
} }
@@ -220,7 +220,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetch("customer", "name"); .fetch("customer", "name");
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("details", "details.product", "customer"); assertThat(detail.getFetchPaths()).containsExactly("details", "details.product", "customer");
} }
@@ -235,7 +235,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetch("customer", "name"); .fetch("customer", "name");
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer"); assertThat(detail.getFetchPaths()).containsExactly("customer");
} }
@@ -250,7 +250,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetch("customer.contacts"); // second many path .fetch("customer.contacts"); // second many path
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("details", "details.product", "customer"); assertThat(detail.getFetchPaths()).containsExactly("details", "details.product", "customer");
} }
@@ -266,7 +266,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetch("customer.contacts"); // many path .fetch("customer.contacts"); // many path
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer"); assertThat(detail.getFetchPaths()).containsExactly("customer");
} }
@@ -282,7 +282,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.fetch("customer.contacts"); // many path .fetch("customer.contacts"); // many path
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer"); assertThat(detail.getFetchPaths()).containsExactly("customer");
} }
@@ -299,7 +299,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.query(); .query();
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("details", "details.product", "customer"); assertThat(detail.getFetchPaths()).containsExactly("details", "details.product", "customer");
} }
@@ -316,7 +316,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.query(); .query();
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer", "customer.contacts"); assertThat(detail.getFetchPaths()).containsExactly("customer", "customer.contacts");
} }
@@ -333,7 +333,7 @@ public class DefaultServer_createOrmQueryRequestTest extends BaseTestCase {
.query(); .query();
OrmQueryRequest<Order> queryRequest = queryRequest(query); OrmQueryRequest<Order> queryRequest = queryRequest(query);
OrmQueryDetail detail = queryRequest.getQuery().getDetail(); OrmQueryDetail detail = queryRequest.query().getDetail();
assertThat(detail.getFetchPaths()).containsExactly("customer", "customer.contacts"); assertThat(detail.getFetchPaths()).containsExactly("customer", "customer.contacts");
} }
@@ -67,12 +67,12 @@ public abstract class BaseExpressionTest extends BaseTestCase {
} }
@Override @Override
public Transaction getTransaction() { public Transaction transaction() {
return null; return null;
} }
@Override @Override
public Query<T> getQuery() { public Query<T> query() {
return null; return null;
} }
@@ -33,13 +33,13 @@ public class TestDbJson_Jackson3 extends BaseTestCase {
@Override @Override
public boolean preInsert(BeanPersistRequest<?> request) { public boolean preInsert(BeanPersistRequest<?> request) {
updatedValues = request.getUpdatedValues(); updatedValues = request.updatedValues();
return true; return true;
} }
@Override @Override
public boolean preUpdate(BeanPersistRequest<?> request) { public boolean preUpdate(BeanPersistRequest<?> request) {
updatedValues = request.getUpdatedValues(); updatedValues = request.updatedValues();
return true; return true;
} }
} }
@@ -21,7 +21,7 @@ public class SimpleTOneQueryAdapter implements BeanQueryAdapter {
@Override @Override
public void preQuery(BeanQueryRequest<?> request) { public void preQuery(BeanQueryRequest<?> request) {
Query<?> query = request.getQuery(); Query<?> query = request.query();
switch (query.getQueryType()) { switch (query.getQueryType()) {
case DELETE: { case DELETE: {
@@ -14,7 +14,7 @@ public class TWithPreInsertPersistAdapter extends BeanPersistAdapter {
@Override @Override
public boolean preInsert(BeanPersistRequest<?> request) { public boolean preInsert(BeanPersistRequest<?> request) {
TWithPreInsert e = (TWithPreInsert) request.getBean(); TWithPreInsert e = (TWithPreInsert) request.bean();
if (e.getName() == null) { if (e.getName() == null) {
e.setName("set on preInsert"); e.setName("set on preInsert");
} }
@@ -24,7 +24,7 @@ public class TWithPreInsertPersistAdapter extends BeanPersistAdapter {
@Override @Override
public boolean preUpdate(BeanPersistRequest<?> request) { public boolean preUpdate(BeanPersistRequest<?> request) {
TWithPreInsert b = (TWithPreInsert) request.getBean(); TWithPreInsert b = (TWithPreInsert) request.bean();
System.out.println("preUpdate - title is: " + b.getTitle()); System.out.println("preUpdate - title is: " + b.getTitle());
if (b.getTitle() == null) { if (b.getTitle() == null) {
b.setTitle("set on preUpdate"); b.setTitle("set on preUpdate");
@@ -18,8 +18,8 @@ public class MPrinterListener extends BeanPersistAdapter {
public boolean preUpdate(BeanPersistRequest<?> request) { public boolean preUpdate(BeanPersistRequest<?> request) {
logger.info("preUpdate ..."); logger.info("preUpdate ...");
logger.info("preUpdate ..." + request.getUpdatedValues()); logger.info("preUpdate ..." + request.updatedValues());
request.getUpdatedProperties(); request.updatedProperties();
return super.preUpdate(request); return super.preUpdate(request);
} }
} }