diff --git a/src/main/java/org/gridsuite/modification/server/NetworkModificationController.java b/src/main/java/org/gridsuite/modification/server/NetworkModificationController.java index bfd2c1f4c..0e7f2490c 100644 --- a/src/main/java/org/gridsuite/modification/server/NetworkModificationController.java +++ b/src/main/java/org/gridsuite/modification/server/NetworkModificationController.java @@ -147,7 +147,17 @@ public CompletableFuture> handleNetwo public ResponseEntity deleteModificationGroup(@Parameter(description = "Group UUID") @PathVariable("groupUuid") UUID groupUuid, @Parameter(description = "Return 404 if group is not found") @RequestParam(name = "errorOnGroupNotFound", required = false, defaultValue = "true") Boolean errorOnGroupNotFound) { - networkModificationService.deleteModificationGroup(groupUuid, errorOnGroupNotFound); + networkModificationService.deleteModificationGroups(List.of(groupUuid), errorOnGroupNotFound); + return ResponseEntity.ok().build(); + } + + @DeleteMapping(value = "/groups") + @Operation(summary = "Delete the modifications group") + @ApiResponse(responseCode = "200", description = "Modifications group deleted") + public ResponseEntity deleteModificationGroups(@Parameter(description = "Return 404 if group is not found") @RequestParam(name = "errorOnGroupNotFound", required = false, + defaultValue = "true") Boolean errorOnGroupNotFound, + @Parameter(description = "Group UUIDs") @RequestBody List groupUuids) { + networkModificationService.deleteModificationGroups(groupUuids, errorOnGroupNotFound); return ResponseEntity.ok().build(); } @@ -318,6 +328,17 @@ public ResponseEntity updateNetworkModificationMetadata( return ResponseEntity.ok().build(); } + @DeleteMapping(value = "/groups/stashed-modifications") + @Operation(summary = "Delete all the stashed modifications in all specified groups") + @ApiResponse(responseCode = "200", description = "All stashed modifications in all the groups are deleted") + public ResponseEntity deleteStashedModificationInAllGroups( + @Parameter(description = "Return 404 if group is not found") @RequestParam(name = "errorOnGroupNotFound", required = false, + defaultValue = "true") Boolean errorOnGroupNotFound, + @Parameter(description = "Group UUIDs") @RequestBody List groupUuids) { + networkModificationService.deleteStashedModificationInAllGroups(groupUuids, errorOnGroupNotFound); + return ResponseEntity.ok().build(); + } + @PutMapping(value = "/network-modifications/root-network-applicability") @Operation(summary = "Updates the applicability of network modifications for a root network tag") @ApiResponse(responseCode = "200", description = "The applicability of the network modifications has been successfully updated") @@ -356,7 +377,7 @@ public ResponseEntity deleteRootNetworkTags( public ResponseEntity deleteStashedModificationInGroup(@Parameter(description = "Group UUID") @PathVariable("groupUuid") UUID groupUuid, @Parameter(description = "Return 404 if group is not found") @RequestParam(name = "errorOnGroupNotFound", required = false, defaultValue = "true") Boolean errorOnGroupNotFound) { - networkModificationService.deleteStashedModificationInGroup(groupUuid, errorOnGroupNotFound); + networkModificationService.deleteStashedModificationInAllGroups(List.of(groupUuid), errorOnGroupNotFound); return ResponseEntity.ok().build(); } diff --git a/src/main/java/org/gridsuite/modification/server/repositories/NetworkModificationRepository.java b/src/main/java/org/gridsuite/modification/server/repositories/NetworkModificationRepository.java index 290ff23cc..6b4b7e62f 100644 --- a/src/main/java/org/gridsuite/modification/server/repositories/NetworkModificationRepository.java +++ b/src/main/java/org/gridsuite/modification/server/repositories/NetworkModificationRepository.java @@ -793,14 +793,19 @@ public ModificationEntity getModificationEntity(UUID modificationUuid) { } @Transactional - public void deleteModificationGroup(UUID groupUuid, boolean errorOnGroupNotFound) { + public void deleteModificationGroup(List groupUuids, boolean errorOnGroupNotFound) { try { - ModificationGroupEntity groupEntity = getModificationGroup(groupUuid); - if (!groupEntity.getModifications().isEmpty()) { - deleteModifications(groupEntity.getModifications().stream().filter(Objects::nonNull).toList()); + List groupEntities = getModificationGroups(groupUuids); + if (groupEntities.size() != groupUuids.size()) { + List notFoundGroups = groupUuids.stream().filter(uuid -> groupEntities.stream().noneMatch(groupEntity -> uuid.equals(groupEntity.getId()))).toList(); + throw new NetworkModificationServerException(MODIFICATION_CONTAINER_NOT_FOUND, notFoundGroups.toString()); + } + List modifications = groupEntities.stream().flatMap(groupEntity -> groupEntity.getModifications().stream()).toList(); + if (!modifications.isEmpty()) { + deleteModifications(modifications); } // deleting the group deletes its modification_container row (JOINED subtype delete) - modificationGroupRepository.delete(groupEntity); + modificationGroupRepository.deleteAll(groupEntities); } catch (NetworkModificationServerException e) { if (e.getBusinessErrorCode() == MODIFICATION_CONTAINER_NOT_FOUND && !errorOnGroupNotFound) { return; @@ -841,6 +846,10 @@ private ModificationGroupEntity getModificationGroup(UUID groupUuid) { .orElseThrow(() -> getModificationContainerNotFoundException(groupUuid.toString(), ModificationContainerType.GROUP)); } + private List getModificationGroups(List groupUuids) { + return this.modificationGroupRepository.findAllById(groupUuids); + } + private ModificationGroupEntity getOrCreateModificationGroup(UUID groupUuid) { return this.modificationGroupRepository.findById(groupUuid) .orElseGet( @@ -1136,9 +1145,10 @@ public void updateModification(@NonNull UUID modificationUuid, @NonNull Modifica } @Transactional - public void deleteStashedModificationInGroup(UUID groupUuid, boolean errorOnGroupNotFound) { + public void deleteStashedModificationInAllGroup(List groupUuids, boolean errorOnGroupNotFound) { try { - List modifications = getModificationGroup(groupUuid).removeAllStashedModifications(); + List modifications = getModificationGroups(groupUuids).stream() + .flatMap(group -> group.removeAllStashedModifications().stream()).collect(Collectors.toList()); if (!modifications.isEmpty()) { deleteModifications(modifications); } diff --git a/src/main/java/org/gridsuite/modification/server/service/NetworkModificationService.java b/src/main/java/org/gridsuite/modification/server/service/NetworkModificationService.java index fc0bb9eb6..17edfbc0a 100644 --- a/src/main/java/org/gridsuite/modification/server/service/NetworkModificationService.java +++ b/src/main/java/org/gridsuite/modification/server/service/NetworkModificationService.java @@ -241,9 +241,9 @@ public Integer getNetworkModificationsCount(UUID groupUuid, boolean stashed) { } @Transactional - public void deleteModificationGroup(UUID groupUuid, boolean errorOnGroupNotFound) { - deleteIndexedModificationGroup(List.of(groupUuid)); - networkModificationRepository.deleteModificationGroup(groupUuid, errorOnGroupNotFound); + public void deleteModificationGroups(List groupUuids, boolean errorOnGroupNotFound) { + deleteIndexedModificationGroup(groupUuids); + networkModificationRepository.deleteModificationGroup(groupUuids, errorOnGroupNotFound); } private void deleteIndexedModificationGroup(List groupUuids) { @@ -612,8 +612,8 @@ public void replaceCompositeModification(@NonNull UUID compositeUuid, String nam networkModificationRepository.replaceCompositeModification(compositeUuid, name, modificationUuids); } - public void deleteStashedModificationInGroup(UUID groupUuid, boolean errorOnGroupNotFound) { - networkModificationRepository.deleteStashedModificationInGroup(groupUuid, errorOnGroupNotFound); + public void deleteStashedModificationInAllGroups(List groupUuids, boolean errorOnGroupNotFound) { + networkModificationRepository.deleteStashedModificationInAllGroup(groupUuids, errorOnGroupNotFound); } public List getModificationsMetadata(List ids) { diff --git a/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java b/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java index e11dbf9c9..81938db40 100644 --- a/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java +++ b/src/test/java/org/gridsuite/modification/server/ModificationControllerTest.java @@ -107,6 +107,7 @@ class ModificationControllerTest { private static final UUID TEST_NETWORK_WITH_FLUSH_ERROR_ID = UUID.fromString("eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee"); private static final UUID TEST_GROUP_ID = UUID.randomUUID(); private static final UUID TEST_GROUP2_ID = UUID.randomUUID(); + private static final UUID TEST_GROUP3_ID = UUID.randomUUID(); private static final UUID TEST_NETWORK_BUS_BREAKER_ID = UUID.fromString("11111111-7977-4592-ba19-88027e4254e4"); private static final UUID TEST_NETWORK_MIXED_TOPOLOGY_ID = UUID.fromString("22222222-7977-4592-ba19-88027e4254e4"); private static final String VARIANT_NOT_EXISTING_ID = "variant_not_existing"; @@ -117,6 +118,8 @@ class ModificationControllerTest { private static final String URI_NETWORK_MODIF_BASE = "/v1/network-modifications"; private static final String NETWORK_MODIFICATION_URI = URI_NETWORK_MODIF_BASE + "?groupUuid=" + TEST_GROUP_ID; + private static final String NETWORK_MODIFICATION_URI_2 = URI_NETWORK_MODIF_BASE + "?groupUuid=" + TEST_GROUP2_ID; + private static final String NETWORK_MODIFICATION_URI_3 = URI_NETWORK_MODIF_BASE + "?groupUuid=" + TEST_GROUP3_ID; @Autowired private MockMvc mockMvc; @@ -1697,6 +1700,100 @@ void testDeleteStashedNetworkModifications() throws Exception { mockMvc.perform(delete("/v1/groups/" + UUID.randomUUID() + "/stashed-modifications").queryParam("errorOnGroupNotFound", "false")).andExpect(status().isOk()); } + @Test + void testDeleteAllStashedNetworkModifications() throws Exception { + MvcResult mvcResult; + EquipmentAttributeModificationInfos loadModificationInfos = EquipmentAttributeModificationInfos.builder() + .equipmentType(IdentifiableType.LOAD) + .equipmentId("v1load") + .build(); + + // create some modifications with several groups + String modificationInfosJson = TestUtils.getJsonBody(loadModificationInfos, TEST_NETWORK_ID, NetworkCreation.VARIANT_ID); + mvcResult = runRequestAsync(mockMvc, post(NETWORK_MODIFICATION_URI).content(modificationInfosJson).contentType(MediaType.APPLICATION_JSON), status().isOk()); + assertApplicationStatusOK(mvcResult); + + modificationInfosJson = TestUtils.getJsonBody(loadModificationInfos, TEST_NETWORK_ID, NetworkCreation.VARIANT_ID); + mvcResult = runRequestAsync(mockMvc, post(NETWORK_MODIFICATION_URI_2).content(modificationInfosJson).contentType(MediaType.APPLICATION_JSON), status().isOk()); + assertApplicationStatusOK(mvcResult); + + modificationInfosJson = TestUtils.getJsonBody(loadModificationInfos, TEST_NETWORK_ID, NetworkCreation.VARIANT_ID); + mvcResult = runRequestAsync(mockMvc, post(NETWORK_MODIFICATION_URI_2).content(modificationInfosJson).contentType(MediaType.APPLICATION_JSON), status().isOk()); + assertApplicationStatusOK(mvcResult); + + modificationInfosJson = TestUtils.getJsonBody(loadModificationInfos, TEST_NETWORK_ID, NetworkCreation.VARIANT_ID); + mvcResult = runRequestAsync(mockMvc, post(NETWORK_MODIFICATION_URI_3).content(modificationInfosJson).contentType(MediaType.APPLICATION_JSON), status().isOk()); + assertApplicationStatusOK(mvcResult); + + // check creation + List modificationsGroup1 = modificationRepository.getModifications(TEST_GROUP_ID, true, true); + assertEquals(1, modificationsGroup1.size()); + List modificationsGroup2 = modificationRepository.getModifications(TEST_GROUP2_ID, true, true); + assertEquals(2, modificationsGroup2.size()); + List modificationsGroup3 = modificationRepository.getModifications(TEST_GROUP3_ID, true, true); + assertEquals(1, modificationsGroup3.size()); + String uuidString = modificationsGroup1.getFirst().getUuid().toString(); + + // stash + mockMvc.perform(put(URI_NETWORK_MODIF_BASE) + .queryParam("groupUuid", TEST_GROUP_ID.toString()) + .queryParam("uuids", uuidString) + .queryParam("stashed", "true")) + .andExpect(status().isOk()); + String uuidString2 = modificationsGroup2.getFirst().getUuid().toString(); + mockMvc.perform(put(URI_NETWORK_MODIF_BASE) + .queryParam("groupUuid", TEST_GROUP2_ID.toString()) + .queryParam("uuids", uuidString2) + .queryParam("stashed", "true")) + .andExpect(status().isOk()); + assertEquals(1, modificationRepository.getModifications(TEST_GROUP_ID, true, true, true).size()); + assertEquals(1, modificationRepository.getModifications(TEST_GROUP2_ID, true, true, true).size()); + assertEquals(0, modificationRepository.getModifications(TEST_GROUP3_ID, true, true, true).size()); + + // remove + String body = mapper.writeValueAsString(List.of(TEST_GROUP_ID, TEST_GROUP2_ID)); + mockMvc.perform(delete("/v1/groups/stashed-modifications").queryParam("errorOnGroupNotFound", "false") + .content(body) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()); + assertEquals(0, modificationRepository.getModifications(TEST_GROUP_ID, true, true).size()); + assertEquals(1, modificationRepository.getModifications(TEST_GROUP2_ID, true, true).size()); + assertEquals(1, modificationRepository.getModifications(TEST_GROUP3_ID, true, true).size()); + } + + @Test + void testDeleteSeveralGroups() throws Exception { + MvcResult mvcResult; + EquipmentAttributeModificationInfos loadModificationInfos = EquipmentAttributeModificationInfos.builder() + .equipmentType(IdentifiableType.LOAD) + .equipmentId("v1load") + .build(); + + // create some modifications with several groups + String modificationInfosJson = TestUtils.getJsonBody(loadModificationInfos, TEST_NETWORK_ID, NetworkCreation.VARIANT_ID); + mvcResult = runRequestAsync(mockMvc, post(NETWORK_MODIFICATION_URI).content(modificationInfosJson).contentType(MediaType.APPLICATION_JSON), status().isOk()); + assertApplicationStatusOK(mvcResult); + + modificationInfosJson = TestUtils.getJsonBody(loadModificationInfos, TEST_NETWORK_ID, NetworkCreation.VARIANT_ID); + mvcResult = runRequestAsync(mockMvc, post(NETWORK_MODIFICATION_URI_2).content(modificationInfosJson).contentType(MediaType.APPLICATION_JSON), status().isOk()); + assertApplicationStatusOK(mvcResult); + + modificationInfosJson = TestUtils.getJsonBody(loadModificationInfos, TEST_NETWORK_ID, NetworkCreation.VARIANT_ID); + mvcResult = runRequestAsync(mockMvc, post(NETWORK_MODIFICATION_URI_3).content(modificationInfosJson).contentType(MediaType.APPLICATION_JSON), status().isOk()); + assertApplicationStatusOK(mvcResult); + + // remove the first two groups + String body = mapper.writeValueAsString(List.of(TEST_GROUP_ID, TEST_GROUP2_ID)); + mockMvc.perform(delete("/v1/groups").queryParam("errorOnGroupNotFound", "false") + .content(body) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()); + + assertEquals(1, modificationRepository.getModificationGroupsUuids().size()); + assertEquals(TEST_GROUP3_ID, modificationRepository.getModificationGroupsUuids().getFirst()); + assertEquals(1, modificationRepository.getModifications(TEST_GROUP3_ID, true, true).size()); + } + @Test void testGetModificationsCount() throws Exception { MvcResult mvcResult; diff --git a/src/test/java/org/gridsuite/modification/server/service/ModificationIndexationTest.java b/src/test/java/org/gridsuite/modification/server/service/ModificationIndexationTest.java index 004bc8068..13e959870 100644 --- a/src/test/java/org/gridsuite/modification/server/service/ModificationIndexationTest.java +++ b/src/test/java/org/gridsuite/modification/server/service/ModificationIndexationTest.java @@ -379,8 +379,8 @@ void testDeleteModificationGroup() { /* Delete modification group */ - networkModificationService.deleteModificationGroup( - groupUuid1, + networkModificationService.deleteModificationGroups( + List.of(groupUuid1), true ); diff --git a/src/test/java/org/gridsuite/modification/server/service/ModificationRepositoryTest.java b/src/test/java/org/gridsuite/modification/server/service/ModificationRepositoryTest.java index 3447d31af..ce204da66 100644 --- a/src/test/java/org/gridsuite/modification/server/service/ModificationRepositoryTest.java +++ b/src/test/java/org/gridsuite/modification/server/service/ModificationRepositoryTest.java @@ -195,7 +195,7 @@ void test() { networkModificationRepository.deleteModifications(TEST_GROUP_ID, List.of(stringModifEntity.getId(), boolModifEntity.getId())); assertEquals(5, networkModificationRepository.getModifications(TEST_GROUP_ID, true, true).size()); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertEquals(0, modificationRepository.findAll().size()); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, true, true), new NetworkModificationServerException(MODIFICATION_CONTAINER_NOT_FOUND, TEST_GROUP_ID.toString()).getMessage()); @@ -268,11 +268,12 @@ void testDeleteModificationQueryCount() { assertRequestsCount(5, 0, 0, 2); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(5, 0, 0, 3); // Non-existent group modification uuid - assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true), + List notFoundGroups = List.of(TEST_GROUP_ID); + assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.deleteModificationGroup(notFoundGroups, true), new NetworkModificationServerException(MODIFICATION_CONTAINER_NOT_FOUND, TEST_GROUP_ID.toString()).getMessage()); } @@ -313,7 +314,7 @@ void testLoadCreation() { assertRequestsCount(3, 0, 0, 0); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(5, 0, 0, 3); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, true, true), @@ -394,7 +395,7 @@ void testGeneratorCreation() { assertRequestsCount(3, 0, 0, 0); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(5, 0, 0, 4); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, true, true), @@ -444,7 +445,7 @@ void testShuntCompensatorCreation() { assertRequestsCount(3, 0, 0, 0); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(5, 0, 0, 3); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, true, true), @@ -534,7 +535,7 @@ void testLineCreation() { assertRequestsCount(11, 0, 0, 0); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); // TODO : Due to an issue the deletion counter is not deterministic // https://github.com/jdbc-observations/datasource-proxy/issues/123 assertRequestsCount(12, 0, 0); @@ -801,7 +802,7 @@ void testGroovyScript() { assertRequestsCount(2, 0, 0, 0); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(4, 0, 0, 3); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true), @@ -854,7 +855,7 @@ void testSubstationCreation() { assertRequestsCount(3, 0, 0, 0); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(5, 0, 0, 4); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true), @@ -890,7 +891,7 @@ void testVoltageLevelCreation() { assertRequestsCount(6, 0, 0, 4); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(2, 0, 0, 1); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true), @@ -943,7 +944,7 @@ void testStatusLineModification() { .recursivelyEquals((OperatingStatusModificationInfos) entities.get(4).toModificationInfos()); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); // n+1 query because we are deleting modifications 1 by 1, it's for now accepted according to a comment in "deleteModificationGroup" assertRequestsCount(9, 0, 0, 3); } @@ -995,7 +996,7 @@ void testLineSplitWithVoltageLevel() { assertEquals(0, modificationInfos.size()); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(2, 0, 0, 1); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true), @@ -1057,7 +1058,7 @@ void testLineAttachToVoltageLevel() { assertRequestsCount(12, 0, 0, 12); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(2, 0, 0, 1); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true), @@ -1107,7 +1108,7 @@ void testLinesAttachToSplitLines() { assertRequestsCount(4, 0, 0, 2); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(2, 0, 0, 1); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true), @@ -1175,7 +1176,7 @@ void testDeleteAttachingLine() { assertRequestsCount(4, 0, 0, 2); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(2, 0, 0, 1); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true), @@ -1217,7 +1218,7 @@ void testDeleteVoltageLevelOnLine() { assertRequestsCount(4, 0, 0, 2); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(2, 0, 0, 1); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, false, true), @@ -1481,7 +1482,7 @@ void testStaticVarCompensatorCreation() { assertRequestsCount(3, 0, 0, 0); SQLStatementCountValidator.reset(); - networkModificationRepository.deleteModificationGroup(TEST_GROUP_ID, true); + networkModificationRepository.deleteModificationGroup(List.of(TEST_GROUP_ID), true); assertRequestsCount(5, 0, 0, 3); assertThrows(NetworkModificationServerException.class, () -> networkModificationRepository.getModifications(TEST_GROUP_ID, true, true),