From e71be4e1b10e2befce35f1a0e60be89b6091cfb2 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Thu, 1 Jun 2023 21:21:39 +1200 Subject: [PATCH] Deprecate order() methods on Query, ExpressionList - migrate to orderBy() Unfortunately we have order() and orderBy() methods which do the same thing. I have decided to deprecate the order() ones in favour of the orderBy() methods so that ultimately we will end up with less methods and I think orderBy() is the correct choice. Apologies for the migration pain here. --- .../main/java/io/ebean/ExpressionList.java | 25 +++++++---------- ebean-api/src/main/java/io/ebean/Query.java | 20 +++++--------- .../expression/DefaultExpressionList.java | 15 ++--------- .../expression/FilterExpressionList.java | 10 ++----- .../server/expression/JunctionExpression.java | 10 ------- .../java/io/ebean/typequery/TQRootBean.java | 27 ++++--------------- 6 files changed, 25 insertions(+), 82 deletions(-) diff --git a/ebean-api/src/main/java/io/ebean/ExpressionList.java b/ebean-api/src/main/java/io/ebean/ExpressionList.java index ec1e36c31..05b9084e7 100644 --- a/ebean-api/src/main/java/io/ebean/ExpressionList.java +++ b/ebean-api/src/main/java/io/ebean/ExpressionList.java @@ -54,14 +54,12 @@ public interface ExpressionList { Query orderById(boolean orderById); /** - * Set the order by clause replacing the existing order by clause if there is - * one. - *

- * This follows SQL syntax using commas between each property with the - * optional asc and desc keywords representing ascending and descending order - * respectively. + * Deprecated migrate to {@link #orderBy(String)} */ - ExpressionList order(String orderByClause); + @Deprecated(since = "13.19") + default ExpressionList order(String orderByClause) { + return orderBy(orderByClause); + } /** * Set the order by clause replacing the existing order by clause if there is @@ -74,15 +72,12 @@ public interface ExpressionList { ExpressionList orderBy(String orderBy); /** - * Return the OrderBy so that you can append an ascending or descending - * property to the order by clause. - *

- * This will never return a null. If no order by clause exists then an 'empty' - * OrderBy object is returned. - *

- * This is the same as orderBy() + * Deprecated migrate to orderBy(). */ - OrderBy order(); + @Deprecated + default OrderBy order() { + return orderBy(); + } /** * Return the OrderBy so that you can append an ascending or descending diff --git a/ebean-api/src/main/java/io/ebean/Query.java b/ebean-api/src/main/java/io/ebean/Query.java index 195c8948e..f7cd56824 100644 --- a/ebean-api/src/main/java/io/ebean/Query.java +++ b/ebean-api/src/main/java/io/ebean/Query.java @@ -1372,13 +1372,9 @@ public interface Query extends CancelableQuery { Query orderBy(String orderByClause); /** - * Set the order by clause replacing the existing order by clause if there is - * one. - *

- * This follows SQL syntax using commas between each property with the - * optional asc and desc keywords representing ascending and descending order - * respectively. + * Deprecated migrate to orderBy(). */ + @Deprecated(since = "13.19") default Query order(String orderByClause) { return orderBy(orderByClause); } @@ -1395,14 +1391,9 @@ public interface Query extends CancelableQuery { OrderBy orderBy(); /** - * Return the OrderBy so that you can append an ascending or descending - * property to the order by clause. - *

- * This will never return a null. If no order by clause exists then an 'empty' - * OrderBy object is returned. - *

- * This is the same as orderBy() + * Deprecated migrate to orderBy(). */ + @Deprecated(since = "13.19") default OrderBy order() { return orderBy(); } @@ -1413,8 +1404,9 @@ public interface Query extends CancelableQuery { Query setOrderBy(OrderBy orderBy); /** - * Set an OrderBy object to replace any existing OrderBy clause. + * Deprecated migrate to setOrderBy(). */ + @Deprecated(since = "13.19") default Query setOrder(OrderBy orderBy) { return setOrderBy(orderBy); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/expression/DefaultExpressionList.java b/ebean-core/src/main/java/io/ebeaninternal/server/expression/DefaultExpressionList.java index fffa19d09..2898b50eb 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/expression/DefaultExpressionList.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/expression/DefaultExpressionList.java @@ -290,25 +290,14 @@ public class DefaultExpressionList implements SpiExpressionList { return query.where(); } - @Override - public OrderBy order() { - return query.order(); - } - @Override public OrderBy orderBy() { - return query.order(); - } - - @Override - public ExpressionList order(String orderByClause) { - query.order(orderByClause); - return this; + return query.orderBy(); } @Override public ExpressionList orderBy(String orderBy) { - query.order(orderBy); + query.orderBy(orderBy); return this; } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/expression/FilterExpressionList.java b/ebean-core/src/main/java/io/ebeaninternal/server/expression/FilterExpressionList.java index 3b8c5005b..d58a6fdfe 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/expression/FilterExpressionList.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/expression/FilterExpressionList.java @@ -131,8 +131,8 @@ public final class FilterExpressionList extends DefaultExpressionList { } @Override - public OrderBy order() { - return rootQuery.order(); + public OrderBy orderBy() { + return rootQuery.orderBy(); } @Override @@ -141,12 +141,6 @@ public final class FilterExpressionList extends DefaultExpressionList { return this; } - @Override - public ExpressionList order(String orderByClause) { - this.orderByClause = orderByClause; - return this; - } - @Override public ExpressionList setMaxRows(int maxRows) { this.maxRows = maxRows; diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/expression/JunctionExpression.java b/ebean-core/src/main/java/io/ebeaninternal/server/expression/JunctionExpression.java index 05268588b..9bed90231 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/expression/JunctionExpression.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/expression/JunctionExpression.java @@ -895,16 +895,6 @@ final class JunctionExpression implements SpiJunction, SpiExpression, Expr return exprList.or(expOne, expTwo); } - @Override - public OrderBy order() { - return exprList.order(); - } - - @Override - public ExpressionList order(String orderByClause) { - return exprList.order(orderByClause); - } - @Override public OrderBy orderBy() { return exprList.orderBy(); diff --git a/ebean-querybean/src/main/java/io/ebean/typequery/TQRootBean.java b/ebean-querybean/src/main/java/io/ebean/typequery/TQRootBean.java index be8a42c7a..4e13d8238 100644 --- a/ebean-querybean/src/main/java/io/ebean/typequery/TQRootBean.java +++ b/ebean-querybean/src/main/java/io/ebean/typequery/TQRootBean.java @@ -1241,23 +1241,10 @@ public abstract class TQRootBean { } /** - * Marker that can be used to indicate that the order by clause is defined after this. - *

- *

Example: order by customer name, order date

- *
{@code
-   *   List orders =
-   *          new QOrder()
-   *            .customer.name.ilike("rob")
-   *            .orderBy()
-   *              .customer.name.asc()
-   *              .orderDate.asc()
-   *            .findList();
-   *
-   * }
+ * Deprecated migrate to orderBy(). */ + @Deprecated(since = "13.19") public R order() { - // Yes this does not actually do anything! We include it because style wise it makes - // the query nicer to read and suggests that order by definitions are added after this return root; } @@ -1274,15 +1261,11 @@ public abstract class TQRootBean { } /** - * Set the full raw order by clause replacing the existing order by clause if there is one. - *

- * This follows SQL syntax using commas between each property with the - * optional asc and desc keywords representing ascending and descending order - * respectively. + * Deprecated migrate to {@link #orderBy(String)} */ + @Deprecated(since = "13.19") public R order(String orderByClause) { - query.order(orderByClause); - return root; + return orderBy(orderByClause); } /**