From 44e091a1bcc974b01bfb6cafcb0716656b150e35 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Mon, 2 Jun 2025 14:48:59 -0500 Subject: [PATCH] Avoid NPE on empty input record --- .../kingsrook/qqq/api/actions/QRecordApiAdapter.java | 2 +- .../qqq/api/actions/QRecordApiAdapterTest.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/QRecordApiAdapter.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/QRecordApiAdapter.java index e88682e5..3148aea4 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/QRecordApiAdapter.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/QRecordApiAdapter.java @@ -94,7 +94,7 @@ public class QRecordApiAdapter for(QRecord record : records) { ApiOutputMapWrapper apiOutputMap = qRecordToApiMap(record, tableName, apiName, apiVersion, fieldValueMappers, new ApiOutputMapWrapper(new LinkedHashMap<>())); - rs.add(apiOutputMap.getContents()); + rs.add(apiOutputMap == null ? null : apiOutputMap.getContents()); } return (rs); diff --git a/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/actions/QRecordApiAdapterTest.java b/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/actions/QRecordApiAdapterTest.java index e2b9e09a..387806d2 100644 --- a/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/actions/QRecordApiAdapterTest.java +++ b/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/actions/QRecordApiAdapterTest.java @@ -39,6 +39,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -48,6 +49,17 @@ import static org.junit.jupiter.api.Assertions.assertTrue; class QRecordApiAdapterTest extends BaseTest { + /******************************************************************************* + ** + *******************************************************************************/ + @Test + void testNullInputRecord() throws QException + { + assertNull(QRecordApiAdapter.qRecordToApiMap(null, TestUtils.TABLE_NAME_PERSON, TestUtils.API_NAME, TestUtils.V2022_Q4)); + } + + + /******************************************************************************* ** *******************************************************************************/