Skip to content

Commit cbcd311

Browse files
committed
Handle empty SQL array values in DashboardDrawerRowMapper
- Return an empty list if SQL array is null. - Check for single empty value in SQL array and return an empty list. - Convert valid SQL arrays to Java lists properly.
1 parent 116c767 commit cbcd311

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/main/java/edu/harvard/dbmi/avillach/dictionary/dashboarddrawer/DashboardDrawerRowMapper.java

+9-3
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,16 @@ public DashboardDrawer mapRow(ResultSet rs, int rowNum) throws SQLException {
2525
}
2626

2727
private List<String> convertSqlArrayToList(Array sqlArray) throws SQLException {
28-
if (sqlArray == null) {
28+
if (sqlArray == null ) {
2929
return List.of();
30+
} else {
31+
Object[] arrayContents = (Object[]) sqlArray.getArray();
32+
// Check if the array contains a single empty value
33+
if (arrayContents.length == 1 && "".equals(arrayContents[0])) {
34+
return List.of();
35+
} else {
36+
return Arrays.asList((String[]) sqlArray.getArray());
37+
}
3038
}
31-
// Convert SQL Array to Java Array, then to List
32-
return Arrays.asList((String[]) sqlArray.getArray());
3339
}
3440
}

0 commit comments

Comments
 (0)