From ac88def08cd0f2f20ed977555bc46005b551390b Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Tue, 1 Aug 2023 18:44:03 -0500 Subject: [PATCH] CE-548 Update to handle process that aren't tied to a (single) table, but still take ids as input (e.g,. runScript) --- .../qqq/api/actions/ApiImplementation.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/ApiImplementation.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/ApiImplementation.java index ea6aa532..9abe151e 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/ApiImplementation.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/ApiImplementation.java @@ -986,9 +986,16 @@ public class ApiImplementation { String[] ids = paramMap.get(idParam).split(","); - QTableMetaData table = QContext.getQInstance().getTable(process.getTableName()); - QQueryFilter filter = new QQueryFilter(new QFilterCriteria(table.getPrimaryKeyField(), IN, Arrays.asList(ids))); - runProcessInput.setCallback(getCallback(filter)); + if(StringUtils.hasContent(process.getTableName())) + { + QTableMetaData table = QContext.getQInstance().getTable(process.getTableName()); + QQueryFilter filter = new QQueryFilter(new QFilterCriteria(table.getPrimaryKeyField(), IN, Arrays.asList(ids))); + runProcessInput.setCallback(getProcessCallback(filter)); + } + else + { + runProcessInput.addValue(idParam, paramMap.get(idParam)); + } } } @@ -1517,7 +1524,7 @@ public class ApiImplementation /******************************************************************************* ** *******************************************************************************/ - private static QProcessCallback getCallback(QQueryFilter filter) + public static QProcessCallback getProcessCallback(QQueryFilter filter) { return new QProcessCallback() {