mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Refactor rename methods on SpiExpressionRequest, DeployParser etc
This commit is contained in:
@@ -14,7 +14,7 @@ public interface SpiExpressionRequest {
|
||||
/**
|
||||
* Return the DB specific handler for JSON and ARRAY expressions.
|
||||
*/
|
||||
DbExpressionHandler getDbPlatformHandler();
|
||||
DbExpressionHandler platformHandler();
|
||||
|
||||
/**
|
||||
* Parse the logical property name to the deployment name.
|
||||
@@ -24,12 +24,12 @@ public interface SpiExpressionRequest {
|
||||
/**
|
||||
* Return the bean descriptor for the root type.
|
||||
*/
|
||||
BeanDescriptor<?> getBeanDescriptor();
|
||||
BeanDescriptor<?> descriptor();
|
||||
|
||||
/**
|
||||
* Return the associated QueryRequest.
|
||||
*/
|
||||
SpiOrmQueryRequest<?> getQueryRequest();
|
||||
SpiOrmQueryRequest<?> queryRequest();
|
||||
|
||||
/**
|
||||
* Append to the expression sql without any parsing.
|
||||
@@ -62,12 +62,12 @@ public interface SpiExpressionRequest {
|
||||
/**
|
||||
* Return the accumulated expression sql for all expressions in this request.
|
||||
*/
|
||||
String getSql();
|
||||
String sql();
|
||||
|
||||
/**
|
||||
* Return the ordered list of bind values for all expressions in this request.
|
||||
*/
|
||||
List<Object> getBindValues();
|
||||
List<Object> bindValues();
|
||||
|
||||
/**
|
||||
* Increments the parameter index and returns that value.
|
||||
|
||||
@@ -417,7 +417,7 @@ public class BeanPropertyAssocMany<T> extends BeanPropertyAssoc<T> implements ST
|
||||
boolean softDelete = targetDescriptor.isSoftDelete();
|
||||
boolean needsX2Table = softDelete || extraWhere() != null;
|
||||
StringBuilder sb = new StringBuilder(50).append("from "); // use from to stop parsing on table name
|
||||
SpiQuery<?> query = request.getQueryRequest().query();
|
||||
SpiQuery<?> query = request.queryRequest().query();
|
||||
if (hasJoinTable()) {
|
||||
sb.append(query.isAsDraft() ? intersectionDraftTable : intersectionPublishTable);
|
||||
} else {
|
||||
|
||||
@@ -51,7 +51,7 @@ public abstract class DeployParser {
|
||||
/**
|
||||
* Return the join includes.
|
||||
*/
|
||||
public abstract Set<String> getIncludes();
|
||||
public abstract Set<String> includes();
|
||||
|
||||
public void setEncrypted(boolean encrypted) {
|
||||
this.encrypted = encrypted;
|
||||
|
||||
@@ -37,12 +37,12 @@ public final class DeployPropertyParser extends DeployParser {
|
||||
/**
|
||||
* Return the first property found by the parser.
|
||||
*/
|
||||
public ElPropertyDeploy getFirstProp() {
|
||||
public ElPropertyDeploy firstProp() {
|
||||
return firstProp;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getIncludes() {
|
||||
public Set<String> includes() {
|
||||
return includes;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ public class DeployPropertyParserMap extends DeployParser {
|
||||
* Returns null for raw sql queries.
|
||||
*/
|
||||
@Override
|
||||
public Set<String> getIncludes() {
|
||||
public Set<String> includes() {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public final class DeployUpdateParser extends DeployParser {
|
||||
* Return null as not used for updates.
|
||||
*/
|
||||
@Override
|
||||
public Set<String> getIncludes() {
|
||||
public Set<String> includes() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ final class FormulaPropertyPath {
|
||||
parsed = parsed.replace("${}", "${" + path + "}");
|
||||
}
|
||||
this.parsedAggregation = buildFormula(parsed);
|
||||
this.firstProp = parser.getFirstProp();
|
||||
this.firstProp = parser.firstProp();
|
||||
}
|
||||
|
||||
private void parseSuffix(String suffix) {
|
||||
|
||||
@@ -82,9 +82,9 @@ public final class IntersectionRow {
|
||||
idIn.addSqlNoAlias(er);
|
||||
idIn.addBindValues(er);
|
||||
sb.append(" and not ( ");
|
||||
sb.append(er.getSql());
|
||||
sb.append(er.sql());
|
||||
sb.append(" ) ");
|
||||
List<Object> bindValues = er.getBindValues();
|
||||
List<Object> bindValues = er.bindValues();
|
||||
for (Object bindValue : bindValues) {
|
||||
bindParams.setParameter(++count, bindValue);
|
||||
}
|
||||
|
||||
@@ -2,11 +2,7 @@ package io.ebeaninternal.server.expression;
|
||||
|
||||
import io.ebean.event.BeanQueryRequest;
|
||||
import io.ebean.util.SplitName;
|
||||
import io.ebeaninternal.api.ManyWhereJoins;
|
||||
import io.ebeaninternal.api.NaturalKeyQueryData;
|
||||
import io.ebeaninternal.api.SpiExpression;
|
||||
import io.ebeaninternal.api.SpiExpressionRequest;
|
||||
import io.ebeaninternal.api.SpiExpressionValidation;
|
||||
import io.ebeaninternal.api.*;
|
||||
import io.ebeaninternal.server.deploy.BeanDescriptor;
|
||||
import io.ebeaninternal.server.el.ElPropertyDeploy;
|
||||
import io.ebeaninternal.server.el.ElPropertyValue;
|
||||
@@ -102,6 +98,6 @@ abstract class AbstractExpression implements SpiExpression {
|
||||
}
|
||||
|
||||
protected final ElPropertyValue getElProp(SpiExpressionRequest request) {
|
||||
return request.getBeanDescriptor().elGetValue(propName);
|
||||
return request.descriptor().elGetValue(propName);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@ final class ArrayContainsExpression extends AbstractExpression {
|
||||
|
||||
@Override
|
||||
public void addSql(SpiExpressionRequest request) {
|
||||
request.getDbPlatformHandler().arrayContains(request, propName, contains, values);
|
||||
request.platformHandler().arrayContains(request, propName, contains, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ final class ArrayIsEmptyExpression extends AbstractExpression {
|
||||
|
||||
@Override
|
||||
public void addSql(SpiExpressionRequest request) {
|
||||
request.getDbPlatformHandler().arrayIsEmpty(request, propName, empty);
|
||||
request.platformHandler().arrayIsEmpty(request, propName, empty);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -48,7 +48,7 @@ final class BitwiseExpression extends AbstractExpression {
|
||||
@Override
|
||||
public void addSql(SpiExpressionRequest request) {
|
||||
// Use DB specific expression handling
|
||||
request.getDbPlatformHandler().bitwise(request, propName, operator, flags, compare, match);
|
||||
request.platformHandler().bitwise(request, propName, operator, flags, compare, match);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+6
-6
@@ -67,7 +67,7 @@ public final class DefaultExpressionRequest implements SpiExpressionRequest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DbExpressionHandler getDbPlatformHandler() {
|
||||
public DbExpressionHandler platformHandler() {
|
||||
return binder.getDbExpressionHandler();
|
||||
}
|
||||
|
||||
@@ -101,12 +101,12 @@ public final class DefaultExpressionRequest implements SpiExpressionRequest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BeanDescriptor<?> getBeanDescriptor() {
|
||||
public BeanDescriptor<?> descriptor() {
|
||||
return beanDescriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpiOrmQueryRequest<?> getQueryRequest() {
|
||||
public SpiOrmQueryRequest<?> queryRequest() {
|
||||
return queryRequest;
|
||||
}
|
||||
|
||||
@@ -162,17 +162,17 @@ public final class DefaultExpressionRequest implements SpiExpressionRequest {
|
||||
}
|
||||
}
|
||||
|
||||
public String getBindLog() {
|
||||
public String bindLog() {
|
||||
return bindLog == null ? "" : bindLog.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSql() {
|
||||
public String sql() {
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Object> getBindValues() {
|
||||
public List<Object> bindValues() {
|
||||
return bindValues;
|
||||
}
|
||||
|
||||
|
||||
@@ -46,21 +46,16 @@ final class IdExpression extends NonPrepareExpression implements SpiExpression {
|
||||
|
||||
@Override
|
||||
public void addBindValues(SpiExpressionRequest request) {
|
||||
|
||||
// 'flatten' EmbeddedId and multiple ID cases
|
||||
// into an array of the underlying scalar field values
|
||||
DefaultExpressionRequest r = (DefaultExpressionRequest) request;
|
||||
Object[] bindIdValues = r.getBeanDescriptor().bindIdValues(value);
|
||||
for (Object bindIdValue : bindIdValues) {
|
||||
for (Object bindIdValue : request.descriptor().bindIdValues(value)) {
|
||||
request.addBindValue(bindIdValue);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addSql(SpiExpressionRequest request) {
|
||||
DefaultExpressionRequest r = (DefaultExpressionRequest) request;
|
||||
String idSql = r.getBeanDescriptor().idBinderIdSql(null);
|
||||
request.parse(idSql);
|
||||
request.parse(request.descriptor().idBinderIdSql(null));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -66,34 +66,29 @@ public final class IdInExpression extends NonPrepareExpression implements IdInCo
|
||||
return;
|
||||
}
|
||||
// Bind the ID values including EmbeddedId and multiple ID
|
||||
DefaultExpressionRequest r = (DefaultExpressionRequest) request;
|
||||
BeanDescriptor<?> descriptor = r.getBeanDescriptor();
|
||||
IdBinder idBinder = descriptor.idBinder();
|
||||
idBinder.addIdInBindValues(request, idCollection);
|
||||
request.descriptor().idBinder().addIdInBindValues(request, idCollection);
|
||||
}
|
||||
|
||||
/**
|
||||
* For use with deleting non-attached detail beans during stateless update.
|
||||
*/
|
||||
public void addSqlNoAlias(SpiExpressionRequest request) {
|
||||
DefaultExpressionRequest r = (DefaultExpressionRequest) request;
|
||||
BeanDescriptor<?> descriptor = r.getBeanDescriptor();
|
||||
IdBinder idBinder = descriptor.idBinder();
|
||||
if (idCollection.isEmpty()) {
|
||||
request.append(SQL_FALSE); // append false for this stage
|
||||
} else {
|
||||
final BeanDescriptor<?> descriptor = request.descriptor();
|
||||
request.property(descriptor.idBinder().getBindIdInSql(null));
|
||||
request.append(idBinder.getIdInValueExpr(false, idCollection.size()));
|
||||
request.append(descriptor.idBinder().getIdInValueExpr(false, idCollection.size()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addSql(SpiExpressionRequest request) {
|
||||
BeanDescriptor<?> descriptor = request.getBeanDescriptor();
|
||||
IdBinder idBinder = descriptor.idBinder();
|
||||
if (idCollection.isEmpty()) {
|
||||
request.append(SQL_FALSE); // append false for this stage
|
||||
} else {
|
||||
final BeanDescriptor<?> descriptor = request.descriptor();
|
||||
final IdBinder idBinder = descriptor.idBinder();
|
||||
if (idBinder.isComplexId()) {
|
||||
request.parse(descriptor.idBinderInLHSSql());
|
||||
request.append(idBinder.getIdInValueExpr(false, idCollection.size()));
|
||||
|
||||
@@ -89,7 +89,7 @@ final class InPairsExpression extends AbstractExpression {
|
||||
request.append(not ? SQL_TRUE : SQL_FALSE);
|
||||
return;
|
||||
}
|
||||
request.parse(request.getDbPlatformHandler().concat(property0, separator, property1, suffix));
|
||||
request.parse(request.platformHandler().concat(property0, separator, property1, suffix));
|
||||
request.appendInExpression(not, concatBindValues);
|
||||
}
|
||||
|
||||
|
||||
@@ -97,14 +97,12 @@ final class JsonPathExpression extends AbstractExpression {
|
||||
|
||||
@Override
|
||||
public void addSql(SpiExpressionRequest request) {
|
||||
|
||||
// Use DB specific expression handling (Postgres and Oracle supported)
|
||||
request.getDbPlatformHandler().json(request, propName, path, operator, value);
|
||||
request.platformHandler().json(request, propName, path, operator, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addBindValues(SpiExpressionRequest request) {
|
||||
|
||||
if (value != null) {
|
||||
// value is null for EXISTS/NOT EXISTS
|
||||
request.addBindValue(value);
|
||||
|
||||
@@ -185,7 +185,7 @@ public final class CQueryPredicates {
|
||||
dbOrderBy = deployParser.parse(logicalOrderBy);
|
||||
}
|
||||
// create a copy of the includes required to support the orderBy
|
||||
orderByIncludes = new HashSet<>(deployParser.getIncludes());
|
||||
orderByIncludes = new HashSet<>(deployParser.includes());
|
||||
}
|
||||
SpiExpressionList<?> whereExp = query.getWhereExpressions();
|
||||
if (whereExp != null) {
|
||||
@@ -212,7 +212,7 @@ public final class CQueryPredicates {
|
||||
}
|
||||
}
|
||||
if (buildSql) {
|
||||
predicateIncludes = deployParser.getIncludes();
|
||||
predicateIncludes = deployParser.includes();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -303,7 +303,7 @@ public final class CQueryPredicates {
|
||||
* Return the bind values for the where expression.
|
||||
*/
|
||||
public List<Object> whereExprBindValues() {
|
||||
return where == null ? Collections.emptyList() : where.getBindValues();
|
||||
return where == null ? Collections.emptyList() : where.bindValues();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ public class BetweenExpressionTest extends BaseExpressionTest {
|
||||
BetweenExpression exp = new BetweenExpression("startDate", 1, 2);
|
||||
exp.addSql(expReq);
|
||||
|
||||
assertThat(expReq.getSql()).isEqualTo("startDate between ? and ?");
|
||||
assertThat(expReq.sql()).isEqualTo("startDate between ? and ?");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ public class BetweenPropertyExpressionTest extends BaseExpressionTest {
|
||||
public void sqlExpression() {
|
||||
TDSpiExpressionRequest request = new TDSpiExpressionRequest(null);
|
||||
exp("a", "b", 10).addSql(request);
|
||||
Assertions.assertThat(request.getSql()).isEqualTo(" ? between a and b");
|
||||
Assertions.assertThat(request.sql()).isEqualTo(" ? between a and b");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ public class InRangeExpressionTest extends BaseExpressionTest {
|
||||
InRangeExpression exp = new InRangeExpression("startDate", 1, 2);
|
||||
exp.addSql(expReq);
|
||||
|
||||
assertThat(expReq.getSql()).isEqualTo("(startDate >= ? and startDate < ?)");
|
||||
assertThat(expReq.sql()).isEqualTo("(startDate >= ? and startDate < ?)");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ public class LogicExpressionTest extends BaseExpressionTest {
|
||||
LogicExpression and = and(eq("a", 10), eq("b", 10));
|
||||
and.addSql(expReq);
|
||||
|
||||
assertThat(expReq.getSql()).isEqualTo("(a = ? and b = ?)");
|
||||
assertThat(expReq.sql()).isEqualTo("(a = ? and b = ?)");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -22,7 +22,7 @@ public class NullExpressionTest extends BaseExpressionTest {
|
||||
|
||||
nullExp("id", true).addSql(expReq);
|
||||
|
||||
assertThat(expReq.getSql()).isEqualTo("id is not null");
|
||||
assertThat(expReq.sql()).isEqualTo("id is not null");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -32,7 +32,7 @@ public class NullExpressionTest extends BaseExpressionTest {
|
||||
|
||||
nullExp("id", false).addSql(expReq);
|
||||
|
||||
assertThat(expReq.getSql()).isEqualTo("id is null");
|
||||
assertThat(expReq.sql()).isEqualTo("id is null");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -42,7 +42,7 @@ public class NullExpressionTest extends BaseExpressionTest {
|
||||
|
||||
nullExp("customer", true).addSql(expReq);
|
||||
|
||||
assertThat(expReq.getSql()).isEqualTo("customer.id is not null");
|
||||
assertThat(expReq.sql()).isEqualTo("customer.id is not null");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -52,7 +52,7 @@ public class NullExpressionTest extends BaseExpressionTest {
|
||||
|
||||
nullExp("customer", false).addSql(expReq);
|
||||
|
||||
assertThat(expReq.getSql()).isEqualTo("customer.id is null");
|
||||
assertThat(expReq.sql()).isEqualTo("customer.id is null");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+5
-5
@@ -24,7 +24,7 @@ public class TDSpiExpressionRequest implements SpiExpressionRequest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DbExpressionHandler getDbPlatformHandler() {
|
||||
public DbExpressionHandler platformHandler() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -34,12 +34,12 @@ public class TDSpiExpressionRequest implements SpiExpressionRequest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BeanDescriptor<?> getBeanDescriptor() {
|
||||
public BeanDescriptor<?> descriptor() {
|
||||
return descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpiOrmQueryRequest<?> getQueryRequest() {
|
||||
public SpiOrmQueryRequest<?> queryRequest() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -72,12 +72,12 @@ public class TDSpiExpressionRequest implements SpiExpressionRequest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSql() {
|
||||
public String sql() {
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<Object> getBindValues() {
|
||||
public ArrayList<Object> bindValues() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -15,7 +15,7 @@ public class HanaDbExpressionTest {
|
||||
SpiExpressionRequest request = new DefaultExpressionRequest(null);
|
||||
expression.arrayContains(request, "arrayproperty", true, "v1", "v2", "v3");
|
||||
assertEquals("(? member of arrayproperty) and (? member of arrayproperty) and (? member of arrayproperty)",
|
||||
request.getSql());
|
||||
request.sql());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -24,28 +24,28 @@ public class HanaDbExpressionTest {
|
||||
expression.arrayContains(request, "arrayproperty", false, "v1", "v2", "v3");
|
||||
assertEquals(
|
||||
"(? not member of arrayproperty) and (? not member of arrayproperty) and (? not member of arrayproperty)",
|
||||
request.getSql());
|
||||
request.sql());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testArrayContainsEmpty() {
|
||||
SpiExpressionRequest request = new DefaultExpressionRequest(null);
|
||||
expression.arrayContains(request, "arrayproperty", true);
|
||||
assertEquals("", request.getSql());
|
||||
assertEquals("", request.sql());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testArrayIsEmpty() {
|
||||
SpiExpressionRequest request = new DefaultExpressionRequest(null);
|
||||
expression.arrayIsEmpty(request, "arrayproperty", true);
|
||||
assertEquals("cardinality(arrayproperty) = 0", request.getSql());
|
||||
assertEquals("cardinality(arrayproperty) = 0", request.sql());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testArrayIsNotEmpty() {
|
||||
SpiExpressionRequest request = new DefaultExpressionRequest(null);
|
||||
expression.arrayIsEmpty(request, "arrayproperty", false);
|
||||
assertEquals("cardinality(arrayproperty) <> 0", request.getSql());
|
||||
assertEquals("cardinality(arrayproperty) <> 0", request.sql());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -64,6 +64,6 @@ public class HanaDbExpressionTest {
|
||||
public void testJson() {
|
||||
SpiExpressionRequest request = new DefaultExpressionRequest(null);
|
||||
expression.json(request, "jsonproperty", "path", Op.EQ, "val");
|
||||
assertEquals("json_value(jsonproperty, '$.path') = ?", request.getSql());
|
||||
assertEquals("json_value(jsonproperty, '$.path') = ?", request.sql());
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -15,6 +15,6 @@ public class MySqlDbExpressionTest {
|
||||
public void testJson() {
|
||||
SpiExpressionRequest request = new DefaultExpressionRequest(null);
|
||||
expression.json(request, "jsonproperty", "path", Op.EQ, "val");
|
||||
assertEquals("(jsonproperty ->> '$.path') = ?", request.getSql());
|
||||
assertEquals("(jsonproperty ->> '$.path') = ?", request.sql());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user