From 21a5c98376b50e7f2d5634ee2049c198d965f7a8 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 13 Dec 2024 10:56:46 -0600 Subject: [PATCH] add method addIfNotNull --- .../backend/core/utils/CollectionUtils.java | 12 +++++++++++ .../core/utils/CollectionUtilsTest.java | 21 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/CollectionUtils.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/CollectionUtils.java index f3b3e6ee..90e2756d 100755 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/CollectionUtils.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/CollectionUtils.java @@ -700,4 +700,16 @@ public class CollectionUtils return (map.containsKey(key) && map.get(key) != null); } + + + /*************************************************************************** + ** add an element to a collection, but, only if the element isn't null + ***************************************************************************/ + public static void addIfNotNull(Collection c, E element) + { + if(element != null) + { + c.add(element); + } + } } diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/CollectionUtilsTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/CollectionUtilsTest.java index e6de12b3..a243c775 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/CollectionUtilsTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/CollectionUtilsTest.java @@ -26,10 +26,12 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Hashtable; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.TreeMap; import java.util.function.Function; import com.google.gson.reflect.TypeToken; @@ -618,4 +620,23 @@ class CollectionUtilsTest extends BaseTest 4, Map.of("B", "B4")), output); } + + + /******************************************************************************* + ** + *******************************************************************************/ + @Test + void testAddIfNotNull() + { + HashSet s = new HashSet<>(); + CollectionUtils.addIfNotNull(s, null); + assertEquals(Set.of(), s); + + CollectionUtils.addIfNotNull(s, ""); + assertEquals(Set.of(""), s); + + CollectionUtils.addIfNotNull(s, "1"); + assertEquals(Set.of("", "1"), s); + } + }