#1747 - Refactor io.ebeaninternal.server.query invert boolean methods

This commit is contained in:
rob bygrave
2019-07-02 23:10:21 +12:00
parent f5c12a916d
commit 8b18b2a20e
4 changed files with 20 additions and 26 deletions
@@ -137,7 +137,7 @@ class CQueryBuilder {
private <T> String buildDeleteSql(OrmQueryRequest<T> request, String rootTableAlias, CQueryPredicates predicates, SqlTree sqlTree) {
String alias = alias(rootTableAlias);
if (!sqlTree.isIncludeJoins()) {
if (sqlTree.noJoins()) {
if (dbPlatform.isSupportsDeleteTableAlias()) {
// delete from table <alias> ...
return aliasReplace(buildSql("delete", request, predicates, sqlTree).getSql(), alias);
@@ -169,7 +169,7 @@ class CQueryBuilder {
sb.append(" set ").append(predicates.getDbUpdateClause());
String updateClause = sb.toString();
if (!sqlTree.isIncludeJoins()) {
if (sqlTree.noJoins()) {
// simple - update table set ... where ...
return aliasStrip(buildSqlUpdate(updateClause, request, predicates, sqlTree).getSql());
}
@@ -645,7 +645,7 @@ class CQueryBuilder {
}
String dbWhere = predicates.getDbWhere();
if (!isEmpty(dbWhere)) {
if (hasValue(dbWhere)) {
if (!hasWhere) {
hasWhere = true;
sb.append(" where ");
@@ -656,7 +656,7 @@ class CQueryBuilder {
}
String dbFilterMany = predicates.getDbFilterMany();
if (!isEmpty(dbFilterMany)) {
if (hasValue(dbFilterMany)) {
if (!hasWhere) {
hasWhere = true;
sb.append(" where ");
@@ -689,7 +689,7 @@ class CQueryBuilder {
}
String dbHaving = predicates.getDbHaving();
if (!isEmpty(dbHaving)) {
if (hasValue(dbHaving)) {
sb.append(" having ").append(dbHaving);
}
@@ -744,8 +744,8 @@ class CQueryBuilder {
return true;
}
private boolean isEmpty(String s) {
return s == null || s.isEmpty();
private boolean hasValue(String s) {
return s != null && !s.isEmpty();
}
boolean isPlatformDistinctOn() {
@@ -90,7 +90,7 @@ class CQueryBuilderRawSql {
}
String dbWhere = predicates.getDbWhere();
if (!isEmpty(dbWhere)) {
if (hasValue(dbWhere)) {
if (dynamicWhere == null) {
dynamicWhere = dbWhere;
} else {
@@ -98,7 +98,7 @@ class CQueryBuilderRawSql {
}
}
if (!isEmpty(dynamicWhere)) {
if (hasValue(dynamicWhere)) {
if (sql.isAndWhereExpr()) {
sb.append(" and ");
} else {
@@ -109,13 +109,13 @@ class CQueryBuilderRawSql {
}
String preHaving = sql.getPreHaving();
if (!isEmpty(preHaving)) {
if (hasValue(preHaving)) {
sb.append(preHaving);
sb.append(" ");
}
String dbHaving = predicates.getDbHaving();
if (!isEmpty(dbHaving)) {
if (hasValue(dbHaving)) {
sb.append(" ");
if (sql.isAndHavingExpr()) {
sb.append("and ");
@@ -126,15 +126,15 @@ class CQueryBuilderRawSql {
sb.append(" ");
}
if (!isEmpty(orderBy)) {
if (hasValue(orderBy)) {
sb.append(" ").append(sql.getOrderByPrefix()).append(" ").append(orderBy);
}
return sb.toString().trim();
}
private boolean isEmpty(String s) {
return s == null || s.isEmpty();
private boolean hasValue(String s) {
return s != null && !s.isEmpty();
}
private String getOrderBy(CQueryPredicates predicates, SpiRawSql.Sql sql) {
@@ -37,7 +37,7 @@ class SqlTree {
*/
private final String inheritanceWhereSql;
private final boolean includeJoins;
private final boolean noJoins;
/**
* Create the SqlSelectClause.
@@ -53,7 +53,7 @@ class SqlTree {
this.inheritanceWhereSql = inheritanceWhereSql;
this.encryptedProps = encryptedProps;
this.manyProperty = manyProperty;
this.includeJoins = includeJoins;
this.noJoins = !includeJoins;
}
/**
@@ -66,8 +66,8 @@ class SqlTree {
/**
* Return true if the query includes joins (not valid for rawSql).
*/
boolean isIncludeJoins() {
return includeJoins;
boolean noJoins() {
return noJoins;
}
/**
@@ -35,8 +35,6 @@ public final class SqlTreeBuilder {
private final OrmQueryDetail queryDetail;
private final StringBuilder summary = new StringBuilder();
private final CQueryPredicates predicates;
private final boolean subQuery;
@@ -75,7 +73,7 @@ public final class SqlTreeBuilder {
/**
* Construct for RawSql query.
*/
public SqlTreeBuilder(OrmQueryRequest<?> request, CQueryPredicates predicates, OrmQueryDetail queryDetail, boolean rawNoId) {
SqlTreeBuilder(OrmQueryRequest<?> request, CQueryPredicates predicates, OrmQueryDetail queryDetail, boolean rawNoId) {
this.rawSql = true;
this.desc = request.getBeanDescriptor();
@@ -98,7 +96,7 @@ public final class SqlTreeBuilder {
* support the where and/or order by clause. If so these extra joins are added
* to the root node.
*/
public SqlTreeBuilder(CQueryBuilder builder, OrmQueryRequest<?> request, CQueryPredicates predicates) {
SqlTreeBuilder(CQueryBuilder builder, OrmQueryRequest<?> request, CQueryPredicates predicates) {
this.rawSql = false;
this.rawNoId = false;
@@ -126,8 +124,6 @@ public final class SqlTreeBuilder {
*/
public SqlTree build() {
summary.append(desc.getName());
// build the appropriate chain of SelectAdapter's
buildRoot(desc);
@@ -551,7 +547,6 @@ public final class SqlTreeBuilder {
}
manyProperty = manyProp;
summary.append(" +many:").append(propName);
return true;
}
return false;
@@ -569,7 +564,6 @@ public final class SqlTreeBuilder {
if (queryDetail.includesPath(prefix)) {
// explicitly included
summary.append(", ").append(prefix);
String[] splitNames = SplitName.split(prefix);
queryDetail.includeBeanJoin(splitNames[0], splitNames[1]);
return true;