From 00afad43bccc58176247a47051f36d5ee3670e48 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 30 May 2025 20:35:36 -0500 Subject: [PATCH] Move QueryExecutorUtils to ApiQueryFilterUtils --- .../executors/ApiAwareTableCountExecutor.java | 5 +++-- .../executors/ApiAwareTableQueryExecutor.java | 5 +++-- .../ApiQueryFilterUtils.java} | 10 +++++----- 3 files changed, 11 insertions(+), 9 deletions(-) rename qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/{middleware/executors/QueryExecutorUtils.java => utils/ApiQueryFilterUtils.java} (90%) diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/ApiAwareTableCountExecutor.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/ApiAwareTableCountExecutor.java index 3c8c1346..99ed5c07 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/ApiAwareTableCountExecutor.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/ApiAwareTableCountExecutor.java @@ -29,6 +29,7 @@ import java.util.Objects; import com.kingsrook.qqq.api.actions.ApiImplementation; import com.kingsrook.qqq.api.actions.GetTableApiFieldsAction; import com.kingsrook.qqq.api.model.metadata.ApiOperation; +import com.kingsrook.qqq.api.utils.ApiQueryFilterUtils; import com.kingsrook.qqq.backend.core.actions.permissions.PermissionsHelper; import com.kingsrook.qqq.backend.core.actions.permissions.TablePermissionSubType; import com.kingsrook.qqq.backend.core.actions.tables.CountAction; @@ -81,12 +82,12 @@ public class ApiAwareTableCountExecutor extends TableCountExecutor implements Ap // take care of managing criteria, which may not be in this version, etc // /////////////////////////////////////////////////////////////////////////// QQueryFilter filter = Objects.requireNonNullElseGet(input.getFilter(), () -> new QQueryFilter()); - QueryExecutorUtils.manageCriteriaFields(filter, tableApiFields, badRequestMessages, apiName, countInput); + ApiQueryFilterUtils.manageCriteriaFields(filter, tableApiFields, badRequestMessages, apiName, countInput); ////////////////////////////////////////// // no more badRequest checks below here // ////////////////////////////////////////// - QueryExecutorUtils.throwIfBadRequestMessages(badRequestMessages); + ApiQueryFilterUtils.throwIfBadRequestMessages(badRequestMessages); // CountAction countAction = new CountAction(); diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/ApiAwareTableQueryExecutor.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/ApiAwareTableQueryExecutor.java index b02473ee..909bbc34 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/ApiAwareTableQueryExecutor.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/ApiAwareTableQueryExecutor.java @@ -33,6 +33,7 @@ import com.kingsrook.qqq.api.model.actions.ApiFieldCustomValueMapper; import com.kingsrook.qqq.api.model.metadata.ApiOperation; import com.kingsrook.qqq.api.model.metadata.fields.ApiFieldMetaData; import com.kingsrook.qqq.api.model.metadata.fields.ApiFieldMetaDataContainer; +import com.kingsrook.qqq.api.utils.ApiQueryFilterUtils; import com.kingsrook.qqq.backend.core.actions.customizers.QCodeLoader; import com.kingsrook.qqq.backend.core.actions.permissions.PermissionsHelper; import com.kingsrook.qqq.backend.core.actions.permissions.TablePermissionSubType; @@ -105,12 +106,12 @@ public class ApiAwareTableQueryExecutor extends TableQueryExecutor implements Ap // take care of managing order-by fields and criteria, which may not be in this version, etc // /////////////////////////////////////////////////////////////////////////////////////////////// manageOrderByFields(filter, tableApiFields, badRequestMessages, apiName, queryInput); - QueryExecutorUtils.manageCriteriaFields(filter, tableApiFields, badRequestMessages, apiName, queryInput); + ApiQueryFilterUtils.manageCriteriaFields(filter, tableApiFields, badRequestMessages, apiName, queryInput); ////////////////////////////////////////// // no more badRequest checks below here // ////////////////////////////////////////// - QueryExecutorUtils.throwIfBadRequestMessages(badRequestMessages); + ApiQueryFilterUtils.throwIfBadRequestMessages(badRequestMessages); /////////////////////// // execute the query // diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/QueryExecutorUtils.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/utils/ApiQueryFilterUtils.java similarity index 90% rename from qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/QueryExecutorUtils.java rename to qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/utils/ApiQueryFilterUtils.java index aa7e07b3..89528eab 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/middleware/executors/QueryExecutorUtils.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/utils/ApiQueryFilterUtils.java @@ -19,7 +19,7 @@ * along with this program. If not, see . */ -package com.kingsrook.qqq.api.middleware.executors; +package com.kingsrook.qqq.api.utils; import java.util.List; @@ -39,15 +39,15 @@ import com.kingsrook.qqq.backend.core.utils.StringUtils; /******************************************************************************* - ** shared code for query & count executors + ** Utilities for working with Query Filters in the API (e.g., versioned field fun) *******************************************************************************/ -public class QueryExecutorUtils +public class ApiQueryFilterUtils { /*************************************************************************** ** ***************************************************************************/ - static void manageCriteriaFields(QQueryFilter filter, Map tableApiFields, List badRequestMessages, String apiName, QueryOrCountInputInterface input) + public static void manageCriteriaFields(QQueryFilter filter, Map tableApiFields, List badRequestMessages, String apiName, QueryOrCountInputInterface input) { for(QFilterCriteria criteria : CollectionUtils.nonNullList(filter.getCriteria())) { @@ -85,7 +85,7 @@ public class QueryExecutorUtils /*************************************************************************** * ***************************************************************************/ - static void throwIfBadRequestMessages(List badRequestMessages) throws QBadRequestException + public static void throwIfBadRequestMessages(List badRequestMessages) throws QBadRequestException { if(!badRequestMessages.isEmpty()) {