From 4f889b69997113cf5809a489ab783ea4fef89665 Mon Sep 17 00:00:00 2001 From: Roger Ferrel Date: Tue, 19 Mar 2013 16:24:22 -0500 Subject: [PATCH] Issue #1807 Change DbQueryHandler to include order by informaton in the query. Change-Id: Icbdeddc4f730ff757cf4e107457a368178ddef48 Former-commit-id: 8e2030c19a79f8ae8fe2127bfb3c7364aa5f0516 --- .../dataquery/requests/DbQueryRequest.java | 18 +++++++++++++++--- .../edex/database/handlers/DbQueryHandler.java | 15 +++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/requests/DbQueryRequest.java b/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/requests/DbQueryRequest.java index 7415bb2fa8..702f03c0b8 100644 --- a/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/requests/DbQueryRequest.java +++ b/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/requests/DbQueryRequest.java @@ -37,6 +37,7 @@ import com.raytheon.uf.common.serialization.comm.IServerRequest; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Jan 21, 2010 mschenke Initial creation + * Mar 19, 2013 1807 rferrel Added orderBy to the toString. * * * @@ -288,9 +289,20 @@ public class DbQueryRequest implements IServerRequest { */ @Override public String toString() { - return "DbQueryRequest [database=" + database + ", entityClass=" - + entityClass + ", fields=" + fields + ", distinct=" + distinct - + ", constraints=" + constraints + "]"; + return "DbQueryRequest [database=" + + database + + ", entityClass=" + + entityClass + + ", fields=" + + fields + + ", distinct=" + + distinct + + ", constraints=" + + constraints + + ", orderBy=" + + (orderBy == null ? "null" : String.format( + "[field=%s, mode=%s]", orderBy.field, + orderBy.mode.toString())) + "]"; } } diff --git a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/handlers/DbQueryHandler.java b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/handlers/DbQueryHandler.java index eb9bc164a0..e41bc25a6e 100644 --- a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/handlers/DbQueryHandler.java +++ b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/handlers/DbQueryHandler.java @@ -29,6 +29,8 @@ import com.raytheon.uf.common.dataquery.db.QueryParam; import com.raytheon.uf.common.dataquery.db.QueryParam.QueryOperand; import com.raytheon.uf.common.dataquery.db.ReturnedField; import com.raytheon.uf.common.dataquery.requests.DbQueryRequest; +import com.raytheon.uf.common.dataquery.requests.DbQueryRequest.OrderBy; +import com.raytheon.uf.common.dataquery.requests.DbQueryRequest.OrderMode; import com.raytheon.uf.common.dataquery.requests.DbQueryRequest.RequestField; import com.raytheon.uf.common.dataquery.requests.RequestConstraint; import com.raytheon.uf.common.dataquery.responses.DbQueryResponse; @@ -48,6 +50,7 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Jan 21, 2010 mschenke Initial creation + * Mar 19, 2013 1807 rferrel OrderBy now performed. * * * @@ -56,6 +59,13 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery; */ public class DbQueryHandler implements IRequestHandler { + /* + * (non-Javadoc) + * + * @see + * com.raytheon.uf.common.serialization.comm.IRequestHandler#handleRequest + * (com.raytheon.uf.common.serialization.comm.IServerRequest) + */ @Override public DbQueryResponse handleRequest(DbQueryRequest request) throws Exception { @@ -152,6 +162,11 @@ public class DbQueryHandler implements IRequestHandler { dbQuery.addQueryParam(param); } + OrderBy orderBy = request.getOrderBy(); + if (orderBy != null) { + dbQuery.addOrder(orderBy.getField(), orderBy.mode == OrderMode.ASC); + } + List vals = new CoreDao(DaoConfig.forDatabase(dbName)) .queryByCriteria(dbQuery);