Skip to content

Commit a781dd1

Browse files
authored
Include filter subtype to GlobalFilter (#54)
Signed-off-by: Hugo Marcellin <[email protected]>
1 parent 9cf29ef commit a781dd1

File tree

8 files changed

+51
-30
lines changed

8 files changed

+51
-30
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@
88

99
import io.swagger.v3.oas.annotations.media.Schema;
1010
import jakarta.validation.constraints.NotNull;
11+
import lombok.Builder;
1112

1213
import java.util.UUID;
1314

1415
/**
1516
* @author Achour BERRAHMA <achour.berrahma at rte-france.com>
1617
*/
18+
@Builder
1719
@Schema(name = "GlobalFilterDto", description = "Global filter configuration")
1820
public record GlobalFilterInfos(
1921

@@ -27,6 +29,9 @@ public record GlobalFilterInfos(
2729
@Schema(description = "Filter type")
2830
String filterType,
2931

32+
@Schema(description = "Filter subtype")
33+
String filterSubtype,
34+
3035
@NotNull(message = "Filter label is mandatory")
3136
@Schema(description = "Filter label")
3237
String label,

src/main/java/org/gridsuite/studyconfig/server/entities/GlobalFilterEntity.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ public class GlobalFilterEntity {
3131
@Column(name = "filter_type", nullable = false)
3232
private String filterType;
3333

34+
@Column(name = "filter_subtype")
35+
private String filterSubtype;
36+
3437
@Column(name = "label", nullable = false)
3538
private String label;
3639

src/main/java/org/gridsuite/studyconfig/server/mapper/SpreadsheetConfigMapper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ public static GlobalFilterInfos toGlobalFilterDto(GlobalFilterEntity entity) {
9797
entity.getId(),
9898
entity.getUuid(),
9999
entity.getFilterType(),
100+
entity.getFilterSubtype(),
100101
entity.getLabel(),
101102
entity.isRecent(),
102103
entity.getEquipmentType(),
@@ -107,6 +108,7 @@ public static GlobalFilterInfos toGlobalFilterDto(GlobalFilterEntity entity) {
107108
public static GlobalFilterEntity toGlobalFilterEntity(GlobalFilterInfos dto) {
108109
return GlobalFilterEntity.builder()
109110
.filterType(dto.filterType())
111+
.filterSubtype(dto.filterSubtype())
110112
.uuid(dto.uuid())
111113
.label(dto.label())
112114
.recent(dto.recent())
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
2+
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
3+
<changeSet author="marcelinhug (generated)" id="1749048080912-4">
4+
<addColumn tableName="spreadsheet_global_filter">
5+
<column name="filter_subtype" type="varchar(255)"/>
6+
</addColumn>
7+
</changeSet>
8+
</databaseChangeLog>

src/main/resources/db/changelog/db.changelog-master.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,6 @@ databaseChangeLog:
4747
- include:
4848
file: changesets/changelog_20250519T134047Z.xml
4949
relativeToChangelogFile: true
50+
- include:
51+
file: changesets/changelog_20250604T144112Z.xml
52+
relativeToChangelogFile: true

src/test/java/org/gridsuite/studyconfig/server/DtoConverterTest.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,24 @@ void testConversionToDtoOfSpreadsheetConfig() {
3939
.sheetType(SheetType.BATTERY)
4040
.columns(Arrays.asList(
4141
ColumnEntity.builder()
42-
.name("Column1")
43-
.formula("A+B")
44-
.id("id1")
45-
.filterDataType("text")
46-
.filterType("contains")
47-
.filterValue("test")
48-
.build(),
42+
.name("Column1")
43+
.formula("A+B")
44+
.id("id1")
45+
.filterDataType("text")
46+
.filterType("contains")
47+
.filterValue("test")
48+
.build(),
4949
ColumnEntity.builder().name("Column2").formula("C*D").id("id2").build()
5050
))
5151
.globalFilters(Arrays.asList(
5252
GlobalFilterEntity.builder()
53-
.uuid(UUID.randomUUID())
54-
.label("GlobalFilter1")
55-
.build(),
53+
.id(UUID.randomUUID())
54+
.label("GlobalFilter1")
55+
.build(),
5656
GlobalFilterEntity.builder()
57-
.uuid(UUID.randomUUID())
58-
.label("GlobalFilter2")
59-
.build()
57+
.id(UUID.randomUUID())
58+
.label("GlobalFilter2")
59+
.build()
6060
))
6161
.build();
6262

@@ -84,10 +84,10 @@ void testConversionToDtoOfSpreadsheetConfig() {
8484
assertThat(d.columns().get(1).filterValue()).isNull();
8585
// Global filters assertions
8686
assertThat(d.globalFilters()).hasSize(2);
87-
assertThat(d.globalFilters().get(0).uuid()).isNotNull();
87+
assertThat(d.globalFilters().get(0).id()).isNotNull();
8888
assertThat(d.globalFilters().get(0).label()).isEqualTo("GlobalFilter1");
8989

90-
assertThat(d.globalFilters().get(1).uuid()).isNotNull();
90+
assertThat(d.globalFilters().get(1).id()).isNotNull();
9191
assertThat(d.globalFilters().get(1).label()).isEqualTo("GlobalFilter2");
9292
});
9393
}
@@ -107,7 +107,7 @@ void testConversionToEntityOfSpreadsheetConfig() {
107107
null, null, null, null)
108108
),
109109
List.of(
110-
new GlobalFilterInfos(null, filterId, "country", "GlobalFilter1", false, null, null)
110+
GlobalFilterInfos.builder().uuid(filterId).filterType("country").label("GlobalFilter1").recent(false).build()
111111
)
112112
);
113113

@@ -259,7 +259,7 @@ void testConversionToDtoOfGlobalFilter() {
259259
void testConversionToEntityOfGlobalFilter() {
260260
UUID uuid = UUID.randomUUID();
261261
UUID filterId = UUID.randomUUID();
262-
GlobalFilterInfos dto = new GlobalFilterInfos(uuid, filterId, "country", "TestGlobalFilter", false, null, null);
262+
GlobalFilterInfos dto = GlobalFilterInfos.builder().id(uuid).uuid(filterId).filterType("country").label("TestGlobalFilter").recent(false).build();
263263

264264
GlobalFilterEntity entity = SpreadsheetConfigMapper.toGlobalFilterEntity(dto);
265265

src/test/java/org/gridsuite/studyconfig/server/SpreadsheetConfigCollectionIntegrationTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,8 @@ private List<SpreadsheetConfigInfos> createSpreadsheetConfigsWithFilters() {
425425
);
426426

427427
List<GlobalFilterInfos> globalFiltersConfig1 = Arrays.asList(
428-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Global Filter 1", false, null, null),
429-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Global Filter 2", false, null, null)
428+
GlobalFilterInfos.builder().uuid(UUID.randomUUID()).filterType("country").label("Global Filter 1").recent(false).build(),
429+
GlobalFilterInfos.builder().uuid(UUID.randomUUID()).filterType("country").label("Global Filter 2").recent(false).build()
430430
);
431431

432432
List<ColumnInfos> columnsConfig2 = Arrays.asList(
@@ -439,7 +439,7 @@ private List<SpreadsheetConfigInfos> createSpreadsheetConfigsWithFilters() {
439439
);
440440

441441
List<GlobalFilterInfos> globalFiltersConfig2 = List.of(
442-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Another Global Filter", false, null, null)
442+
GlobalFilterInfos.builder().uuid(UUID.randomUUID()).filterType("country").label("Another Global Filter").recent(false).build()
443443
);
444444

445445
return List.of(
@@ -472,9 +472,9 @@ private List<SpreadsheetConfigInfos> createUpdatedSpreadsheetConfigsWithFilters(
472472
);
473473

474474
List<GlobalFilterInfos> globalFiltersConfig1 = Arrays.asList(
475-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Updated Filter 1", false, null, null),
476-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Updated Filter 2", false, null, null),
477-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Updated Filter 3", false, null, null)
475+
GlobalFilterInfos.builder().uuid(UUID.randomUUID()).filterType("country").label("Updated Filter 1").recent(false).build(),
476+
GlobalFilterInfos.builder().uuid(UUID.randomUUID()).filterType("country").label("Updated Filter 2").recent(false).build(),
477+
GlobalFilterInfos.builder().uuid(UUID.randomUUID()).filterType("country").label("Updated Filter 3").recent(false).build()
478478
);
479479

480480
List<ColumnInfos> columnsConfig2 = Arrays.asList(
@@ -485,7 +485,7 @@ private List<SpreadsheetConfigInfos> createUpdatedSpreadsheetConfigsWithFilters(
485485
);
486486

487487
List<GlobalFilterInfos> globalFiltersConfig2 = List.of(
488-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Updated Other Filter", false, null, null)
488+
GlobalFilterInfos.builder().uuid(UUID.randomUUID()).filterType("country").label("Updated Other Filter").recent(false).build()
489489
);
490490

491491
List<ColumnInfos> columnsConfig3 = Arrays.asList(
@@ -496,7 +496,7 @@ private List<SpreadsheetConfigInfos> createUpdatedSpreadsheetConfigsWithFilters(
496496
);
497497

498498
List<GlobalFilterInfos> globalFiltersConfig3 = List.of(
499-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Third Config Filter", false, null, null)
499+
GlobalFilterInfos.builder().uuid(UUID.randomUUID()).filterType("country").label("Third Config Filter").recent(false).build()
500500
);
501501

502502
return List.of(

src/test/java/org/gridsuite/studyconfig/server/SpreadsheetConfigIntegrationTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ void testSetGlobalFiltersForSpreadsheetConfig() throws Exception {
401401

402402
// Create new filters to set
403403
List<GlobalFilterInfos> filtersToSet = List.of(
404-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Replacement Filter", false, null, null)
404+
GlobalFilterInfos.builder().id(UUID.randomUUID()).filterType("country").label("Replacement Filter").recent(false).build()
405405
);
406406

407407
// Call the endpoint to set the filters
@@ -422,7 +422,7 @@ void testSetGlobalFiltersForSpreadsheetConfig() throws Exception {
422422
void testSetGlobalFiltersToNonExistentConfig() throws Exception {
423423
UUID nonExistentConfigId = UUID.randomUUID();
424424
List<GlobalFilterInfos> filtersToAdd = List.of(
425-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Test Filter", false, null, null)
425+
GlobalFilterInfos.builder().id(UUID.randomUUID()).filterType("country").label("Test Filter").recent(false).build()
426426
);
427427

428428
mockMvc.perform(post(URI_SPREADSHEET_CONFIG_GET_PUT + nonExistentConfigId + "/global-filters")
@@ -474,14 +474,14 @@ private List<ColumnInfos> createUpdatedColumnsWithFilters() {
474474

475475
private List<GlobalFilterInfos> createGlobalFilters() {
476476
return Arrays.asList(
477-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Global Filter 1", false, null, null),
478-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Global Filter 2", false, null, null)
477+
GlobalFilterInfos.builder().id(UUID.randomUUID()).filterType("country").label("Global Filter 1").recent(false).build(),
478+
GlobalFilterInfos.builder().id(UUID.randomUUID()).filterType("country").label("Global Filter 2").recent(false).build()
479479
);
480480
}
481481

482482
private List<GlobalFilterInfos> createUpdatedGlobalFilters() {
483483
return List.of(
484-
new GlobalFilterInfos(null, UUID.randomUUID(), "country", "Updated Global Filter", false, null, null)
484+
GlobalFilterInfos.builder().id(UUID.randomUUID()).filterType("country").label("Updated Global Filter").recent(false).build()
485485
);
486486
}
487487

0 commit comments

Comments
 (0)