From 702cdcfc617608e368939d81b4bcc11498a655be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Henninger?= Date: Thu, 27 Nov 2025 14:39:44 +0100 Subject: [PATCH 1/2] fix : null values in arrays were wrongly persisted as empty strings in database --- .../genesis/domain/ports/api/LunaticJsonRawDataApiPort.java | 1 - .../domain/service/rawdata/LunaticJsonRawDataService.java | 4 +++- src/main/java/fr/insee/genesis/domain/utils/JsonUtils.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java b/src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java index f52b66b2..7bdb85ee 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java @@ -27,7 +27,6 @@ public interface LunaticJsonRawDataApiPort { Set findDistinctQuestionnaireIds(); long countResponsesByQuestionnaireId(String campaignId); Page findRawDataByCampaignIdAndDate(String campaignId, Instant startDt, Instant endDt, Pageable pageable); - DataProcessResult processRawData(String campaignName, List interrogationIdList, List errors) throws GenesisException; Map> findProcessedIdsgroupedByQuestionnaireSince(LocalDateTime since); } diff --git a/src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java b/src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java index 6489a586..28291763 100644 --- a/src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java +++ b/src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java @@ -405,7 +405,9 @@ private static void convertListVar(Object valuesForState, Map.Entry asMap(Object obj) { public static List asStringList(Object obj) { if (obj instanceof List list) { return list.stream() - .map(e -> e == null ? "" : String.valueOf(e)) + .map(e -> e == null ? null : String.valueOf(e)) .toList(); } throw new IllegalArgumentException("Object is not a List"); From 68245384f80c858bd7fc3aadc8f5054fff0c16bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Henninger?= Date: Thu, 27 Nov 2025 15:01:59 +0100 Subject: [PATCH 2/2] fix: test reflects new behavior of method --- src/test/java/fr/insee/genesis/domain/utils/JsonUtilsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/fr/insee/genesis/domain/utils/JsonUtilsTest.java b/src/test/java/fr/insee/genesis/domain/utils/JsonUtilsTest.java index 67e537c9..01d1a880 100644 --- a/src/test/java/fr/insee/genesis/domain/utils/JsonUtilsTest.java +++ b/src/test/java/fr/insee/genesis/domain/utils/JsonUtilsTest.java @@ -65,7 +65,7 @@ void asStringList_shouldConvertValidList() { log.info("test"); List result = JsonUtils.asStringList(obj); - Assertions.assertThat(result).containsExactly("1", "text", ""); + Assertions.assertThat(result).containsExactly("1", "text", null); } @Test