From 1aac617cdf5133b99259c68cf52898d6a1c86f58 Mon Sep 17 00:00:00 2001 From: Gautier Bureau Date: Mon, 4 Apr 2022 11:40:00 +0200 Subject: [PATCH 1/2] Add a delete network endpoint. Signed-off-by: Gautier Bureau --- .../mapping/server/controller/NetworkController.java | 8 ++++++++ .../gridsuite/mapping/server/service/NetworkService.java | 2 ++ .../server/service/implementation/NetworkServiceImpl.java | 7 +++++++ .../gridsuite/mapping/server/NetworkControllerTest.java | 4 ++++ 4 files changed, 21 insertions(+) diff --git a/src/main/java/org/gridsuite/mapping/server/controller/NetworkController.java b/src/main/java/org/gridsuite/mapping/server/controller/NetworkController.java index 8b90b5b4..bca527e3 100644 --- a/src/main/java/org/gridsuite/mapping/server/controller/NetworkController.java +++ b/src/main/java/org/gridsuite/mapping/server/controller/NetworkController.java @@ -73,4 +73,12 @@ public ResponseEntity getNetworkMatches(@PathVariable("networkUuid" return ResponseEntity.ok().contentType(MediaType.APPLICATION_JSON).body(networkService.getNetworkMatches(networkUuid, ruleToMatch)); } + @DeleteMapping(path = "/{networkUuid}") + @Operation(summary = "delete the network") + @ApiResponse(responseCode = "200", description = "Network deleted") + public ResponseEntity deleteNetwork(@PathVariable("networkUuid") UUID networkUuid) { + networkService.deleteNetwork(networkUuid); + return ResponseEntity.ok().contentType(MediaType.TEXT_PLAIN).body(networkUuid.toString()); + } + } diff --git a/src/main/java/org/gridsuite/mapping/server/service/NetworkService.java b/src/main/java/org/gridsuite/mapping/server/service/NetworkService.java index 2562b428..fb0de1eb 100644 --- a/src/main/java/org/gridsuite/mapping/server/service/NetworkService.java +++ b/src/main/java/org/gridsuite/mapping/server/service/NetworkService.java @@ -30,4 +30,6 @@ public interface NetworkService { Network getNetwork(UUID networkUuid); MatchedRule getNetworkMatches(UUID networkUuid, RuleToMatch ruleToMatch); + + String deleteNetwork(UUID networkUuid); } diff --git a/src/main/java/org/gridsuite/mapping/server/service/implementation/NetworkServiceImpl.java b/src/main/java/org/gridsuite/mapping/server/service/implementation/NetworkServiceImpl.java index 2f59aa53..1e587732 100644 --- a/src/main/java/org/gridsuite/mapping/server/service/implementation/NetworkServiceImpl.java +++ b/src/main/java/org/gridsuite/mapping/server/service/implementation/NetworkServiceImpl.java @@ -101,6 +101,13 @@ public NetworkValues getNetworkValuesFromExistingNetwork(UUID networkUuid) { return new NetworkValues(networkUuid, equipmentValuesList); } + @Override + public String deleteNetwork(UUID networkUuid) { + networkRepository.deleteById(networkUuid); + networkStoreService.deleteNetwork(networkUuid); + return networkUuid.toString(); + } + private void setPropertyMap(HashMap> propertyMap, String value, String propertyName) { if (propertyMap.containsKey(propertyName)) { Set propertyValues = propertyMap.get(propertyName); diff --git a/src/test/java/org/gridsuite/mapping/server/NetworkControllerTest.java b/src/test/java/org/gridsuite/mapping/server/NetworkControllerTest.java index 1dac832b..e22da1a4 100644 --- a/src/test/java/org/gridsuite/mapping/server/NetworkControllerTest.java +++ b/src/test/java/org/gridsuite/mapping/server/NetworkControllerTest.java @@ -126,6 +126,10 @@ public void fileTest() throws Exception { NetworkEntity actualEntity = savedNetworks.get(0); assertTrue(expectedEntity.getNetworkId().equals(actualEntity.getNetworkId()) && expectedEntity.getNetworkName().equals(actualEntity.getNetworkName())); + mvc.perform(MockMvcRequestBuilders.delete("/network/" + networkUUID)).andExpect(status().isOk()); + savedNetworks = networkRepository.findAll(); + assertEquals(0, savedNetworks.size()); + } private String network(UUID id, String name) { From fbfed07c8c8c592f889126be9e9286d4c9d783e8 Mon Sep 17 00:00:00 2001 From: Thang PHAM Date: Sat, 18 Feb 2023 16:32:03 +0100 Subject: [PATCH 2/2] Use UUID instead of String for delete endpoint --- .../mapping/server/controller/NetworkController.java | 6 +++--- .../gridsuite/mapping/server/service/NetworkService.java | 2 +- .../server/service/implementation/NetworkServiceImpl.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/gridsuite/mapping/server/controller/NetworkController.java b/src/main/java/org/gridsuite/mapping/server/controller/NetworkController.java index bca527e3..b04559e1 100644 --- a/src/main/java/org/gridsuite/mapping/server/controller/NetworkController.java +++ b/src/main/java/org/gridsuite/mapping/server/controller/NetworkController.java @@ -76,9 +76,9 @@ public ResponseEntity getNetworkMatches(@PathVariable("networkUuid" @DeleteMapping(path = "/{networkUuid}") @Operation(summary = "delete the network") @ApiResponse(responseCode = "200", description = "Network deleted") - public ResponseEntity deleteNetwork(@PathVariable("networkUuid") UUID networkUuid) { - networkService.deleteNetwork(networkUuid); - return ResponseEntity.ok().contentType(MediaType.TEXT_PLAIN).body(networkUuid.toString()); + public ResponseEntity deleteNetwork(@PathVariable("networkUuid") UUID networkUuid) { + UUID deletedNetworkUuid = networkService.deleteNetwork(networkUuid); + return ResponseEntity.ok().contentType(MediaType.APPLICATION_JSON).body(deletedNetworkUuid); } } diff --git a/src/main/java/org/gridsuite/mapping/server/service/NetworkService.java b/src/main/java/org/gridsuite/mapping/server/service/NetworkService.java index fb0de1eb..9acb26a1 100644 --- a/src/main/java/org/gridsuite/mapping/server/service/NetworkService.java +++ b/src/main/java/org/gridsuite/mapping/server/service/NetworkService.java @@ -31,5 +31,5 @@ public interface NetworkService { MatchedRule getNetworkMatches(UUID networkUuid, RuleToMatch ruleToMatch); - String deleteNetwork(UUID networkUuid); + UUID deleteNetwork(UUID networkUuid); } diff --git a/src/main/java/org/gridsuite/mapping/server/service/implementation/NetworkServiceImpl.java b/src/main/java/org/gridsuite/mapping/server/service/implementation/NetworkServiceImpl.java index c116be61..35626941 100644 --- a/src/main/java/org/gridsuite/mapping/server/service/implementation/NetworkServiceImpl.java +++ b/src/main/java/org/gridsuite/mapping/server/service/implementation/NetworkServiceImpl.java @@ -102,10 +102,10 @@ public NetworkValues getNetworkValuesFromExistingNetwork(UUID networkUuid) { } @Override - public String deleteNetwork(UUID networkUuid) { + public UUID deleteNetwork(UUID networkUuid) { networkRepository.deleteById(networkUuid); networkStoreService.deleteNetwork(networkUuid); - return networkUuid.toString(); + return networkUuid; } private void setPropertyMap(HashMap> propertyMap, String value, String propertyName) {