From afbf914d8189f60208b42b5f8ecc741bf5bb0bb3 Mon Sep 17 00:00:00 2001 From: XingY Date: Sat, 14 Mar 2026 22:23:54 -0700 Subject: [PATCH] Empty line with mvtc column should be treated as empty line --- api/src/org/labkey/api/reader/DataLoader.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/api/src/org/labkey/api/reader/DataLoader.java b/api/src/org/labkey/api/reader/DataLoader.java index a500d443ea4..007ead3d869 100644 --- a/api/src/org/labkey/api/reader/DataLoader.java +++ b/api/src/org/labkey/api/reader/DataLoader.java @@ -729,6 +729,7 @@ protected final Map convertValues(Object[] fields) boolean foundData = false; for (int i = 0; i < _activeColumns.length; i++) { + boolean isEmptyArray = false; ColumnDescriptor column = _activeColumns[i]; if (_preserveEmptyString && null == column.missingValues) { @@ -831,6 +832,12 @@ else if (column.clazz == MultiChoice.Array.class) // GitHub Issue 925: Not providing a MVTC value in an assay result throws error // convert blank to empty array, not null values[i] = column.converter.convert(column.clazz, fld); + if (values[i] instanceof MultiChoice.Array array) + { + // If line is blank, array will be empty array instead of null + if (array.isEmpty()) + isEmptyArray = true; + } } else { @@ -878,7 +885,7 @@ else if (ERROR_VALUE_USE_ORIGINAL.equals(column.errorValues)) values[i] = column.errorValues; } - if (values[i] != null) + if (values[i] != null && !isEmptyArray) foundData = true; }