mirror of
https://github.com/ebean-orm/ebean.git
synced 2026-11-13 06:42:57 +00:00
#2353 - Rename BeanPersistRequest methods with deprecation
This commit is contained in:
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.
|
||||||
|
|||||||
+1
-1
@@ -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"
|
||||||
|
|||||||
+1
-1
@@ -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 {
|
||||||
|
|||||||
+1
-1
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+3
-3
@@ -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();
|
||||||
|
|||||||
+2
-2
@@ -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()
|
||||||
|
|||||||
+1
-1
@@ -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
|
||||||
|
|||||||
+16
-16
@@ -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: {
|
||||||
|
|||||||
+2
-2
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user