Skip to content

Commit 702cdcf

Browse files
committed
fix : null values in arrays were wrongly persisted as empty strings in database
1 parent 48ebe05 commit 702cdcf

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

src/main/java/fr/insee/genesis/domain/ports/api/LunaticJsonRawDataApiPort.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ public interface LunaticJsonRawDataApiPort {
2727
Set<String> findDistinctQuestionnaireIds();
2828
long countResponsesByQuestionnaireId(String campaignId);
2929
Page<LunaticJsonRawDataModel> findRawDataByCampaignIdAndDate(String campaignId, Instant startDt, Instant endDt, Pageable pageable);
30-
3130
DataProcessResult processRawData(String campaignName, List<String> interrogationIdList, List<GenesisError> errors) throws GenesisException;
3231
Map<String, List<String>> findProcessedIdsgroupedByQuestionnaireSince(LocalDateTime since);
3332
}

src/main/java/fr/insee/genesis/domain/service/rawdata/LunaticJsonRawDataService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,9 @@ private static void convertListVar(Object valuesForState, Map.Entry<String, Obje
405405
if (!values.isEmpty()) {
406406
int iteration = 1;
407407
for (String value : values) {
408-
convertOneVar(collectedVariable, value, variablesMap, iteration, dstSurveyUnitModel);
408+
if (value!=null) {
409+
convertOneVar(collectedVariable, value, variablesMap, iteration, dstSurveyUnitModel);
410+
}
409411
iteration++;
410412
}
411413
}

src/main/java/fr/insee/genesis/domain/utils/JsonUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public static Map<String, Object> asMap(Object obj) {
2828
public static List<String> asStringList(Object obj) {
2929
if (obj instanceof List<?> list) {
3030
return list.stream()
31-
.map(e -> e == null ? "" : String.valueOf(e))
31+
.map(e -> e == null ? null : String.valueOf(e))
3232
.toList();
3333
}
3434
throw new IllegalArgumentException("Object is not a List");

0 commit comments

Comments
 (0)