Skip to content

Commit e775fd4

Browse files
committed
editing contingency list ok
Signed-off-by: basseche <[email protected]>
1 parent d7a3915 commit e775fd4

File tree

4 files changed

+39
-7
lines changed

4 files changed

+39
-7
lines changed

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

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public ResponseEntity<Void> modifyIdentifierContingencyList(
149149
}
150150
}
151151

152-
@PostMapping(value = "/filter-based-contingency-lists", consumes = MediaType.APPLICATION_JSON_VALUE)
152+
@PostMapping(value = "/filters-contingency-lists", consumes = MediaType.APPLICATION_JSON_VALUE)
153153
@Operation(summary = "Create an filter base contingency list")
154154
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The filter based contingency list has been created successfully")})
155155
public ResponseEntity<PersistentContingencyList> createFilterBasedContingencyList(@RequestParam(required = false, value = "id") UUID id,
@@ -159,7 +159,22 @@ 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)
162+
@PutMapping(value = "/filters-contingency-lists/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
163+
@Operation(summary = "Modify a filter based contingency list")
164+
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The filter based contingency list have been modified successfully")})
165+
public ResponseEntity<Void> modifyFormContingencyList(
166+
@PathVariable UUID id,
167+
@RequestBody FilterBasedContingencyList contingencyList,
168+
@RequestHeader("userId") String userId) {
169+
try {
170+
service.modifyFilterBasedContingencyList(id, contingencyList, userId);
171+
return ResponseEntity.ok().build();
172+
} catch (EntityNotFoundException ignored) {
173+
return ResponseEntity.notFound().build();
174+
}
175+
}
176+
177+
@GetMapping(value = "/filters-contingency-lists/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
163178
@Operation(summary = "Get filter based contingency list by id")
164179
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The filter based contingency list"),
165180
@ApiResponse(responseCode = "404", description = "The filter based contingency list does not exists")})

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,13 @@ public void modifyIdBasedContingencyList(UUID id, IdBasedContingencyList idBased
305305
notificationService.emitElementUpdated(id, userId);
306306
}
307307

308+
@Transactional
309+
public void modifyFilterBasedContingencyList(UUID id, FilterBasedContingencyList contingencyList, String userId) {
310+
// throw if not found
311+
filterBasedContingencyListRepository.save(filterBasedContingencyListRepository.getReferenceById(id).update(contingencyList));
312+
notificationService.emitElementUpdated(id, userId);
313+
}
314+
308315
@Transactional
309316
public void deleteContingencyList(UUID id) throws EmptyResultDataAccessException {
310317
Objects.requireNonNull(id);

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
@Schema(description = "filter based contingency list")
2525
public class FilterBasedContingencyList extends AbstractContingencyList {
2626

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

3030
public FilterBasedContingencyList(UUID uuid, Instant date, List<FilterMetaData> filterList) {
3131
super(new ContingencyListMetadataImpl(uuid, ContingencyListType.FILTERS, date));
32-
this.filterList = filterList;
32+
this.filters = filterList;
3333
}
3434

3535
@Override

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,23 @@ public class FilterBasedContingencyListEntity extends AbstractContingencyEntity
3232

3333
public FilterBasedContingencyListEntity(FilterBasedContingencyList contingencyList) {
3434
super();
35-
if (CollectionUtils.isEmpty(contingencyList.getFilterList())) {
35+
if (CollectionUtils.isEmpty(contingencyList.getFilters())) {
3636
return;
3737
}
38+
39+
init(contingencyList);
40+
}
41+
42+
private void init(FilterBasedContingencyList contingencyList) {
3843
filtersListEntities = new ArrayList<>();
39-
contingencyList.getFilterList().forEach(f ->
44+
contingencyList.getFilters().forEach(f ->
4045
filtersListEntities.add(
4146
new FilterMetaDataEntity(UUID.randomUUID(), f.getId(), f.getName(), f.getEquipmentType()))
4247
);
4348
}
49+
50+
public FilterBasedContingencyListEntity update(FilterBasedContingencyList contingencyList) {
51+
init(contingencyList);
52+
return this;
53+
}
4454
}

0 commit comments

Comments
 (0)