Skip to content

Commit d7a3915

Browse files
committed
add more metadata to restore colors in GUI
Signed-off-by: basseche <[email protected]>
1 parent 0f6aeba commit d7a3915

File tree

7 files changed

+70
-11
lines changed

7 files changed

+70
-11
lines changed

src/main/java/org/gridsuite/actions/server/ContingencyListController.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,17 @@ public ResponseEntity<PersistentContingencyList> createFilterBasedContingencyLis
159159
.body(service.createFilterBasedContingencyList(id, filterBasedContingencyList));
160160
}
161161

162+
@GetMapping(value = "/filter-based-contingency-lists/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
163+
@Operation(summary = "Get filter based contingency list by id")
164+
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The filter based contingency list"),
165+
@ApiResponse(responseCode = "404", description = "The filter based contingency list does not exists")})
166+
public ResponseEntity<PersistentContingencyList> getFilterBasedContingencylist(@PathVariable("id") UUID id) {
167+
return service.getFilterBasedContingencyList(id).map(contingencyList -> ResponseEntity.ok()
168+
.contentType(MediaType.APPLICATION_JSON)
169+
.body(contingencyList))
170+
.orElse(ResponseEntity.notFound().build());
171+
}
172+
162173
@PostMapping(value = "/form-contingency-lists", params = "duplicateFrom")
163174
@Operation(summary = "Create a form contingency list from another existing one")
164175
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The form contingency list have been duplicated successfully"),

src/main/java/org/gridsuite/actions/server/ContingencyListService.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,16 @@ private Optional<PersistentContingencyList> doGetIdBasedContingencyList(UUID id,
134134
return idBasedContingencyListRepository.findById(id).map(idBasedContingencyListEntity -> fromIdBasedContingencyListEntity(idBasedContingencyListEntity, network));
135135
}
136136

137+
@Transactional(readOnly = true)
138+
public Optional<PersistentContingencyList> getFilterBasedContingencyList(UUID id) {
139+
return doGetFilterBasedContingencyList(id);
140+
}
141+
142+
private Optional<PersistentContingencyList> doGetFilterBasedContingencyList(UUID id) {
143+
Objects.requireNonNull(id);
144+
return filterBasedContingencyListRepository.findById(id).map(ContingencyListService::fromFilterBasedContingencyListEntity);
145+
}
146+
137147
private List<Contingency> getPowsyblContingencies(PersistentContingencyList contingencyList, Network network) {
138148
ContingencyList powsyblContingencyList = contingencyList.toPowsyblContingencyList(network);
139149
return powsyblContingencyList == null ? Collections.emptyList() : powsyblContingencyList.getContingencies(network);
@@ -302,7 +312,7 @@ public void deleteContingencyList(UUID id) throws EmptyResultDataAccessException
302312
if (formContingencyListRepository.deleteFormContingencyListEntityById(id) == 0
303313
&& idBasedContingencyListRepository.deleteIdBasedContingencyListEntityById(id) == 0
304314
&& filterBasedContingencyListRepository.deleteFilterBasedContingencyListEntityById(id) == 0) {
305-
throw new EmptyResultDataAccessException("No element found", 1);
315+
throw new EmptyResultDataAccessException("No element found", 1);
306316
}
307317
}
308318

@@ -327,8 +337,8 @@ private static IdBasedContingencyList fromIdBasedContingencyListEntity(IdBasedCo
327337
}
328338

329339
private static FilterBasedContingencyList fromFilterBasedContingencyListEntity(FilterBasedContingencyListEntity entity) {
330-
List<UUID> filterList = new ArrayList<>();
331-
entity.getFiltersListEntities().forEach(f -> filterList.add(f.getId()));
340+
List<FilterMetaData> filterList = new ArrayList<>();
341+
entity.getFiltersListEntities().forEach(f -> filterList.add(new FilterMetaData(f.getFilterId(), f.getName(), f.getEquipmentType())));
332342
return new FilterBasedContingencyList(entity.getId(), entity.getModificationDate(), filterList);
333343
}
334344

src/main/java/org/gridsuite/actions/server/dto/FilterBasedContingencyList.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
public class FilterBasedContingencyList extends AbstractContingencyList {
2626

2727
@Schema(description = "filter list")
28-
private List<UUID> filterList;
28+
private List<FilterMetaData> filterList;
2929

30-
public FilterBasedContingencyList(UUID uuid, Instant date, List<UUID> filterList) {
30+
public FilterBasedContingencyList(UUID uuid, Instant date, List<FilterMetaData> filterList) {
3131
super(new ContingencyListMetadataImpl(uuid, ContingencyListType.FILTERS, date));
3232
this.filterList = filterList;
3333
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.gridsuite.actions.server.dto;
2+
3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.util.UUID;
9+
10+
@Getter
11+
@NoArgsConstructor
12+
@AllArgsConstructor
13+
@Schema(description = "Metadata on filters composing filter based contingency list")
14+
public class FilterMetaData {
15+
@Schema(description = "filter uuid in filter data base")
16+
private UUID id;
17+
18+
@Schema(description = "filter name")
19+
private String name;
20+
21+
@Schema(description = "equipment type")
22+
private String equipmentType;
23+
}

src/main/java/org/gridsuite/actions/server/entities/FilterBasedContingencyListEntity.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,17 @@
2828
public class FilterBasedContingencyListEntity extends AbstractContingencyEntity {
2929

3030
@OneToMany(cascade = CascadeType.ALL)
31-
private List<FilterEntity> filtersListEntities;
31+
private List<FilterMetaDataEntity> filtersListEntities;
3232

3333
public FilterBasedContingencyListEntity(FilterBasedContingencyList contingencyList) {
3434
super();
3535
if (CollectionUtils.isEmpty(contingencyList.getFilterList())) {
3636
return;
3737
}
3838
filtersListEntities = new ArrayList<>();
39-
contingencyList.getFilterList().forEach(f -> filtersListEntities.add(new FilterEntity(UUID.randomUUID(), f)));
39+
contingencyList.getFilterList().forEach(f ->
40+
filtersListEntities.add(
41+
new FilterMetaDataEntity(UUID.randomUUID(), f.getId(), f.getName(), f.getEquipmentType()))
42+
);
4043
}
4144
}

src/main/java/org/gridsuite/actions/server/entities/FilterEntity.java renamed to src/main/java/org/gridsuite/actions/server/entities/FilterMetaDataEntity.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,19 @@
1818
@Getter
1919
@Setter
2020
@Entity
21-
@Table(name = "filter")
22-
public class FilterEntity {
21+
@Table(name = "filter_metadata")
22+
public class FilterMetaDataEntity {
2323
@Id
2424
@Column(name = "id")
2525
@GeneratedValue(strategy = GenerationType.AUTO)
2626
private UUID id;
2727

2828
@Column(name = "filter-id")
2929
private UUID filterId;
30+
31+
@Column(name = "name")
32+
private String name;
33+
34+
@Column(name = "equipment-type")
35+
private String equipmentType;
3036
}

src/main/resources/db/changelog/changesets/changelog_20250901T135222Z.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
22
<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">
33
<changeSet author="elcheikhbas (generated)" id="1756734757338-7">
4-
<createTable tableName="filter">
4+
<createTable tableName="filter_metadata">
55
<column name="id" type="UUID">
66
<constraints nullable="false" primaryKey="true" primaryKeyName="filterPK"/>
77
</column>
88
<column name="filter-id" type="UUID">
99
<constraints nullable="false"/>
1010
</column>
11+
<column name="name" type="VARCHAR(255)">
12+
<constraints nullable="false"/>
13+
</column>
14+
<column name="equipment-type" type="VARCHAR(255)">
15+
<constraints nullable="false"/>
16+
</column>
1117
</createTable>
1218
</changeSet>
1319
<changeSet author="elcheikhbas (generated)" id="1756734757338-8">
@@ -35,6 +41,6 @@
3541
<addForeignKeyConstraint baseColumnNames="filter_based_contingency_list_entity_id" baseTableName="filter_based_contingency_list_filters_list_entities" constraintName="FK9edqyxdc33w1i725puwjjfhf5" deferrable="false" initiallyDeferred="false" referencedColumnNames="id" referencedTableName="filter_based_contingency_list" validate="true"/>
3642
</changeSet>
3743
<changeSet author="elcheikhbas (generated)" id="1756734757338-15">
38-
<addForeignKeyConstraint baseColumnNames="filters_list_entities_id" baseTableName="filter_based_contingency_list_filters_list_entities" constraintName="FKgvj11ba8of2teiuumbgfho6c8" deferrable="false" initiallyDeferred="false" referencedColumnNames="id" referencedTableName="filter" validate="true"/>
44+
<addForeignKeyConstraint baseColumnNames="filters_list_entities_id" baseTableName="filter_based_contingency_list_filters_list_entities" constraintName="FKgvj11ba8of2teiuumbgfho6c8" deferrable="false" initiallyDeferred="false" referencedColumnNames="id" referencedTableName="filter_metadata" validate="true"/>
3945
</changeSet>
4046
</databaseChangeLog>

0 commit comments

Comments
 (0)