Skip to content

Commit 7982f3f

Browse files
committed
Refactor column visibility handling to use Boolean type and improve column sorting logic
Signed-off-by: achour94 <[email protected]>
1 parent 9f2ec23 commit 7982f3f

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

src/main/java/org/gridsuite/studyconfig/server/dto/ColumnInfos.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,11 @@ public record ColumnInfos(
5454
Double filterTolerance,
5555

5656
@Schema(description = "Column visibility", defaultValue = "true")
57-
boolean visible
58-
) { }
57+
Boolean visible
58+
) {
59+
public ColumnInfos {
60+
if (visible == null) {
61+
visible = true;
62+
}
63+
}
64+
}

src/main/java/org/gridsuite/studyconfig/server/service/SpreadsheetConfigService.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -357,11 +357,7 @@ public void reorderColumns(UUID id, List<UUID> columnOrder) {
357357
}
358358

359359
private static void reorderColumns(List<UUID> columnOrder, List<ColumnEntity> columns) {
360-
columns.sort((c1, c2) -> {
361-
int idx1 = columnOrder.indexOf(c1.getUuid());
362-
int idx2 = columnOrder.indexOf(c2.getUuid());
363-
return Integer.compare(idx1, idx2);
364-
});
360+
columns.sort(Comparator.comparingInt(column -> columnOrder.indexOf(column.getUuid())));
365361
}
366362

367363
@Transactional
@@ -381,13 +377,11 @@ public void updateColumnStates(UUID id, List<ColumnStateUpdateInfos> columnState
381377
}
382378

383379
// Reorder columns based on the provided states
384-
columns.sort(Comparator.comparing(column ->
385-
columnStates.stream()
386-
.filter(state -> state.columnId().equals(column.getUuid()))
387-
.findFirst()
388-
.map(ColumnStateUpdateInfos::order)
389-
.orElse(Integer.MAX_VALUE)
390-
));
380+
List<UUID> orderedColumnIds = columnStates.stream()
381+
.sorted(Comparator.comparingInt(ColumnStateUpdateInfos::order))
382+
.map(ColumnStateUpdateInfos::columnId)
383+
.toList();
384+
reorderColumns(orderedColumnIds, columns);
391385
}
392386

393387
private SpreadsheetConfigCollectionInfos readDefaultSpreadsheetConfigCollection() throws IOException {

0 commit comments

Comments
 (0)