From 4985e1cdd5643590fba08e04aa798b41185727f1 Mon Sep 17 00:00:00 2001 From: AAJELLAL Date: Tue, 29 Jul 2025 09:18:12 +0200 Subject: [PATCH 1/9] Add the NAD config uuid and the generation mode. Signed-off-by: AAJELLAL --- .../server/dto/NetworkAreaDiagramParamInfos.java | 8 +++++--- .../server/entities/NetworkVisualizationParamEntity.java | 8 ++++++-- .../server/mapper/NetworkVisualizationParamMapper.java | 5 +++-- .../server/service/NetworkVisualizationsParamService.java | 3 ++- src/main/resources/db/changelog/db.changelog-master.yaml | 3 +++ .../server/NetworkVisualizationParamsIntegrationTest.java | 5 +++-- 6 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java index 7571a8e..0066c73 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java +++ b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java @@ -7,13 +7,15 @@ package org.gridsuite.studyconfig.server.dto; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.UUID; /** * @author David BRAQUART */ @Schema(name = "NetworkAreaDiagramParamDto", description = "Network area diagram parameters") public record NetworkAreaDiagramParamInfos( - - @Schema(description = "Initialize with geographical data") - Boolean initNadWithGeoData + @Schema(description = "The nad generation mode") + String nadGenerationMode, + @Schema(description = "The nad configuration uuid") + UUID nadConfigUuid ) { } diff --git a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java index ec3d4bd..71a9f96 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java +++ b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java @@ -12,6 +12,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; + import java.util.UUID; /** @@ -58,6 +59,9 @@ public class NetworkVisualizationParamEntity { @Column(name = "component_library") private String componentLibrary = ""; - @Column(name = "init_nad_with_geo_data") - private Boolean initNadWithGeoData = true; + @Column(name = "nad_generation_mode") + private String nadGenerationMode = "GEOGRAPHICAL_COORDINATES"; + + @Column(name = "nad_config_uuid") + private UUID nadConfigUuid; } diff --git a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java index 5ea0f42..07683a5 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java +++ b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java @@ -35,7 +35,7 @@ public static NetworkVisualizationParamInfos toDto(NetworkVisualizationParamEnti entity.getSubstationLayout(), entity.getComponentLibrary() ), - new NetworkAreaDiagramParamInfos(entity.getInitNadWithGeoData()) + new NetworkAreaDiagramParamInfos(entity.getNadGenerationMode(), entity.getNadConfigUuid()) ); } @@ -58,6 +58,7 @@ public static void updateEntity(NetworkVisualizationParamEntity entity, NetworkV entity.setSubstationLayout(dto.singleLineDiagramParameters().substationLayout()); entity.setComponentLibrary(dto.singleLineDiagramParameters().componentLibrary()); // NAD - entity.setInitNadWithGeoData(dto.networkAreaDiagramParameters().initNadWithGeoData()); + entity.setNadConfigUuid(dto.networkAreaDiagramParameters().nadConfigUuid()); + entity.setNadGenerationMode(dto.networkAreaDiagramParameters().nadGenerationMode()); } } diff --git a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java index b8f1306..5df4d6a 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java +++ b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java @@ -54,7 +54,8 @@ public UUID duplicateParameters(UUID id) { .substationLayout(entity.getSubstationLayout()) .componentLibrary(entity.getComponentLibrary()) // NAD - .initNadWithGeoData(entity.getInitNadWithGeoData()) + .nadGenerationMode(entity.getNadGenerationMode()) + .nadConfigUuid(entity.getNadConfigUuid()) .build(); return repository.save(duplicate).getId(); } diff --git a/src/main/resources/db/changelog/db.changelog-master.yaml b/src/main/resources/db/changelog/db.changelog-master.yaml index 5f2c487..80431fd 100644 --- a/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/src/main/resources/db/changelog/db.changelog-master.yaml @@ -62,3 +62,6 @@ databaseChangeLog: - include: file: changesets/changelog_20250619T162423Z.xml relativeToChangelogFile: true + - include: + file: changesets/changelog_20250723T155729Z.xml + relativeToChangelogFile: true diff --git a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java index d0f21a9..fcea8c2 100644 --- a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java +++ b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java @@ -35,6 +35,7 @@ class NetworkVisualizationParamsIntegrationTest { private static final String URI_NETWORK_VISUALIZATION_PARAM_BASE = "/v1/network-visualizations-params"; + private static final String GEOGRAPHICAL_COORDINATES = "GEOGRAPHICAL_COORDINATES"; @Autowired private MockMvc mockMvc; @@ -156,14 +157,14 @@ private NetworkVisualizationParamInfos createDto() { return new NetworkVisualizationParamInfos(null, new MapParamInfos(true, false, "flow", true, "base"), new SingleLineDiagramParamInfos(false, false, "layout", "lib"), - new NetworkAreaDiagramParamInfos(true)); + new NetworkAreaDiagramParamInfos(GEOGRAPHICAL_COORDINATES, null)); } private NetworkVisualizationParamInfos createDtoForUpdate(UUID id) { return new NetworkVisualizationParamInfos(id, new MapParamInfos(false, true, "flow2", false, "base2"), new SingleLineDiagramParamInfos(true, true, "layout2", "lib2"), - new NetworkAreaDiagramParamInfos(false)); + new NetworkAreaDiagramParamInfos(GEOGRAPHICAL_COORDINATES, null)); } private UUID saveAndReturnId(NetworkVisualizationParamInfos dto) { From 18a790d63a34937d794277f0890eb35d1353c02b Mon Sep 17 00:00:00 2001 From: AAJELLAL Date: Tue, 29 Jul 2025 09:18:29 +0200 Subject: [PATCH 2/9] Add the NAD config uuid and the generation mode. Signed-off-by: AAJELLAL --- .../changesets/changelog_20250723T155729Z.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml diff --git a/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml b/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml new file mode 100644 index 0000000..45ee7c6 --- /dev/null +++ b/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + From 9fdb74a481d38583dc4cf7f0737adbff9c44afa7 Mon Sep 17 00:00:00 2001 From: AAJELLAL Date: Wed, 6 Aug 2025 16:41:45 +0200 Subject: [PATCH 3/9] Add the NAD config uuid and the generation mode. Signed-off-by: AAJELLAL --- .../NetworkVisualizationsParamController.java | 22 +++++++++++-------- .../dto/NetworkAreaDiagramParamInfos.java | 8 +++---- .../NetworkVisualizationParamEntity.java | 8 +++---- .../NetworkVisualizationParamMapper.java | 12 +++++++--- .../NetworkVisualizationsParamService.java | 10 +++++++-- .../changesets/changelog_20250723T155729Z.xml | 4 ++-- 6 files changed, 40 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java b/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java index 18a19ed..24bdd9c 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java +++ b/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java @@ -19,15 +19,7 @@ import org.gridsuite.studyconfig.server.service.NetworkVisualizationsParamService; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.UUID; @@ -110,4 +102,16 @@ public ResponseEntity deleteParameters( service.deleteParameters(id); return ResponseEntity.noContent().build(); } + + @PostMapping("/{id}/positions-config-uuid") + @Operation(summary = "Update the positions configuration uuid", + description = "Updates existing network visualizations parameter") + @ApiResponse(responseCode = "204", description = "the positions configuration uuid parameter updated") + @ApiResponse(responseCode = "404", description = "the positions configuration uuid parameter not found") + public ResponseEntity updateParameter( + @Parameter(description = "ID of the parameters") @PathVariable UUID id, + @RequestBody UUID positionsConfigUuid) { + service.updatePositionsConfigUuid(id, positionsConfigUuid); + return ResponseEntity.noContent().build(); + } } diff --git a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java index 0066c73..9e2642a 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java +++ b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java @@ -14,8 +14,8 @@ */ @Schema(name = "NetworkAreaDiagramParamDto", description = "Network area diagram parameters") public record NetworkAreaDiagramParamInfos( - @Schema(description = "The nad generation mode") - String nadGenerationMode, - @Schema(description = "The nad configuration uuid") - UUID nadConfigUuid + @Schema(description = "The nad positions generation mode") + String nadPositionsGenerationMode, + @Schema(description = "The positions configuration uuid") + UUID positionsConfigUuid ) { } diff --git a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java index 71a9f96..e14b995 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java +++ b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java @@ -59,9 +59,9 @@ public class NetworkVisualizationParamEntity { @Column(name = "component_library") private String componentLibrary = ""; - @Column(name = "nad_generation_mode") - private String nadGenerationMode = "GEOGRAPHICAL_COORDINATES"; + @Column(name = "nad_positions_generation_mode") + private String nadPositionsGenerationMode = "GEOGRAPHICAL_COORDINATES"; - @Column(name = "nad_config_uuid") - private UUID nadConfigUuid; + @Column(name = "positions_config_uuid") + private UUID positionsConfigUuid; } diff --git a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java index 07683a5..201c600 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java +++ b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java @@ -12,6 +12,8 @@ import org.gridsuite.studyconfig.server.dto.SingleLineDiagramParamInfos; import org.gridsuite.studyconfig.server.entities.NetworkVisualizationParamEntity; +import java.util.UUID; + /** * @author David BRAQUART */ @@ -35,7 +37,7 @@ public static NetworkVisualizationParamInfos toDto(NetworkVisualizationParamEnti entity.getSubstationLayout(), entity.getComponentLibrary() ), - new NetworkAreaDiagramParamInfos(entity.getNadGenerationMode(), entity.getNadConfigUuid()) + new NetworkAreaDiagramParamInfos(entity.getNadPositionsGenerationMode(), entity.getPositionsConfigUuid()) ); } @@ -58,7 +60,11 @@ public static void updateEntity(NetworkVisualizationParamEntity entity, NetworkV entity.setSubstationLayout(dto.singleLineDiagramParameters().substationLayout()); entity.setComponentLibrary(dto.singleLineDiagramParameters().componentLibrary()); // NAD - entity.setNadConfigUuid(dto.networkAreaDiagramParameters().nadConfigUuid()); - entity.setNadGenerationMode(dto.networkAreaDiagramParameters().nadGenerationMode()); + entity.setPositionsConfigUuid(dto.networkAreaDiagramParameters().positionsConfigUuid()); + entity.setNadPositionsGenerationMode(dto.networkAreaDiagramParameters().nadPositionsGenerationMode()); + } + + public static void updateEntity(NetworkVisualizationParamEntity entity, UUID positionsConfigUuid) { + entity.setPositionsConfigUuid(positionsConfigUuid); } } diff --git a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java index 5df4d6a..33af788 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java +++ b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java @@ -54,8 +54,8 @@ public UUID duplicateParameters(UUID id) { .substationLayout(entity.getSubstationLayout()) .componentLibrary(entity.getComponentLibrary()) // NAD - .nadGenerationMode(entity.getNadGenerationMode()) - .nadConfigUuid(entity.getNadConfigUuid()) + .nadPositionsGenerationMode(entity.getNadPositionsGenerationMode()) + .positionsConfigUuid(entity.getPositionsConfigUuid()) .build(); return repository.save(duplicate).getId(); } @@ -71,6 +71,12 @@ public void updateParameters(UUID id, NetworkVisualizationParamInfos dto) { NetworkVisualizationParamMapper.updateEntity(entity, dto); } + @Transactional + public void updatePositionsConfigUuid(UUID id, UUID positionsConfigUuid) { + NetworkVisualizationParamEntity entity = findEntityById(id); + NetworkVisualizationParamMapper.updateEntity(entity, positionsConfigUuid); + } + @Transactional public void deleteParameters(UUID id) { if (!repository.existsById(id)) { diff --git a/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml b/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml index 45ee7c6..b5ef948 100644 --- a/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml +++ b/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml @@ -2,12 +2,12 @@ - + - + From 7b98f797ce16e0e862fb9b95df62ea26ad15e495 Mon Sep 17 00:00:00 2001 From: AAJELLAL Date: Wed, 6 Aug 2025 16:57:57 +0200 Subject: [PATCH 4/9] Fix Http Methode. Signed-off-by: AAJELLAL --- .../server/controller/NetworkVisualizationsParamController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java b/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java index 24bdd9c..9b4d3df 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java +++ b/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java @@ -103,7 +103,7 @@ public ResponseEntity deleteParameters( return ResponseEntity.noContent().build(); } - @PostMapping("/{id}/positions-config-uuid") + @PutMapping("/{id}/positions-config-uuid") @Operation(summary = "Update the positions configuration uuid", description = "Updates existing network visualizations parameter") @ApiResponse(responseCode = "204", description = "the positions configuration uuid parameter updated") From fcad0348d9c95225587f403d0888690c015fd866 Mon Sep 17 00:00:00 2001 From: AAJELLAL Date: Wed, 6 Aug 2025 17:21:08 +0200 Subject: [PATCH 5/9] Add some tests. Signed-off-by: AAJELLAL --- ...orkVisualizationParamsIntegrationTest.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java index fcea8c2..b6dc14a 100644 --- a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java +++ b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java @@ -133,6 +133,44 @@ void testDuplicateParams() throws Exception { assertThat(networkVisualizationParamRepository.existsById(duplicatedParams.id())).isTrue(); } + @Test + void testUpdatePositionsConfigUuidParameter() throws Exception { + NetworkVisualizationParamInfos paramsToUpdate = createDto(); + UUID paramsUuid = saveAndReturnId(paramsToUpdate); + UUID updatedPositionsConfigUuid = UUID.randomUUID(); + mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + paramsUuid + "/positions-config-uuid") + .content("\"" + updatedPositionsConfigUuid + "\"") + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isNoContent()); + + NetworkVisualizationParamInfos retrievedParams = getParams(paramsUuid); + assertThat(retrievedParams.networkAreaDiagramParameters().positionsConfigUuid()) + .isEqualTo(updatedPositionsConfigUuid); + } + + @Test + void testUpdateWithInvalidPositionsConfigUuidParameter() throws Exception { + NetworkVisualizationParamInfos paramsToUpdate = createDto(); + UUID paramsUuid = saveAndReturnId(paramsToUpdate); + String invalidUuid = "\"not-a-valid-uuid\""; + mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + paramsUuid + "/positions-config-uuid") + .content(invalidUuid) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isBadRequest()); + } + + @Test + void testUpdateNotFoundPositionsConfigUuidParameter() throws Exception { + NetworkVisualizationParamInfos paramsToUpdate = createDto(); + saveAndReturnId(paramsToUpdate); + UUID nonExistentId = UUID.randomUUID(); + UUID updatedPositionsConfigUuid = UUID.randomUUID(); + mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + nonExistentId + "/positions-config-uuid") + .content("\"" + updatedPositionsConfigUuid + "\"") + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isNotFound()); + } + private NetworkVisualizationParamInfos getParams(UUID paramsUuid) throws Exception { MvcResult mvcGetResult = mockMvc.perform(get(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + paramsUuid)) .andExpect(status().isOk()) From 18da1794e905dfe003ad2638205647339d264588 Mon Sep 17 00:00:00 2001 From: Slimane AMAR Date: Tue, 12 Aug 2025 16:59:52 +0200 Subject: [PATCH 6/9] Review --- .../NetworkVisualizationsParamController.java | 12 ++++++------ .../server/dto/NetworkAreaDiagramParamInfos.java | 2 +- .../entities/NetworkVisualizationParamEntity.java | 4 ++-- .../mapper/NetworkVisualizationParamMapper.java | 8 ++++---- .../service/NetworkVisualizationsParamService.java | 6 +++--- .../changesets/changelog_20250723T155729Z.xml | 2 +- .../NetworkVisualizationParamsIntegrationTest.java | 8 ++++---- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java b/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java index 9b4d3df..642b743 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java +++ b/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java @@ -103,15 +103,15 @@ public ResponseEntity deleteParameters( return ResponseEntity.noContent().build(); } - @PutMapping("/{id}/positions-config-uuid") + @PutMapping("/{id}/nad-positions-config-uuid") @Operation(summary = "Update the positions configuration uuid", description = "Updates existing network visualizations parameter") - @ApiResponse(responseCode = "204", description = "the positions configuration uuid parameter updated") - @ApiResponse(responseCode = "404", description = "the positions configuration uuid parameter not found") - public ResponseEntity updateParameter( + @ApiResponse(responseCode = "204", description = "the nad positions configuration uuid parameter updated") + @ApiResponse(responseCode = "404", description = "the nad positions configuration uuid parameter not found") + public ResponseEntity updateNadPositionsConfigUuid( @Parameter(description = "ID of the parameters") @PathVariable UUID id, - @RequestBody UUID positionsConfigUuid) { - service.updatePositionsConfigUuid(id, positionsConfigUuid); + @RequestBody UUID nadPositionsConfigUuid) { + service.updateNadPositionsConfigUuid(id, nadPositionsConfigUuid); return ResponseEntity.noContent().build(); } } diff --git a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java index 9e2642a..065cfb8 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java +++ b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java @@ -17,5 +17,5 @@ public record NetworkAreaDiagramParamInfos( @Schema(description = "The nad positions generation mode") String nadPositionsGenerationMode, @Schema(description = "The positions configuration uuid") - UUID positionsConfigUuid + UUID nadPositionsConfigUuid ) { } diff --git a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java index e14b995..a767d5f 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java +++ b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java @@ -62,6 +62,6 @@ public class NetworkVisualizationParamEntity { @Column(name = "nad_positions_generation_mode") private String nadPositionsGenerationMode = "GEOGRAPHICAL_COORDINATES"; - @Column(name = "positions_config_uuid") - private UUID positionsConfigUuid; + @Column(name = "nad_positions_config_uuid") + private UUID nadPositionsConfigUuid = null; } diff --git a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java index 201c600..eb28667 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java +++ b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java @@ -37,7 +37,7 @@ public static NetworkVisualizationParamInfos toDto(NetworkVisualizationParamEnti entity.getSubstationLayout(), entity.getComponentLibrary() ), - new NetworkAreaDiagramParamInfos(entity.getNadPositionsGenerationMode(), entity.getPositionsConfigUuid()) + new NetworkAreaDiagramParamInfos(entity.getNadPositionsGenerationMode(), entity.getNadPositionsConfigUuid()) ); } @@ -60,11 +60,11 @@ public static void updateEntity(NetworkVisualizationParamEntity entity, NetworkV entity.setSubstationLayout(dto.singleLineDiagramParameters().substationLayout()); entity.setComponentLibrary(dto.singleLineDiagramParameters().componentLibrary()); // NAD - entity.setPositionsConfigUuid(dto.networkAreaDiagramParameters().positionsConfigUuid()); + entity.setNadPositionsConfigUuid(dto.networkAreaDiagramParameters().nadPositionsConfigUuid()); entity.setNadPositionsGenerationMode(dto.networkAreaDiagramParameters().nadPositionsGenerationMode()); } - public static void updateEntity(NetworkVisualizationParamEntity entity, UUID positionsConfigUuid) { - entity.setPositionsConfigUuid(positionsConfigUuid); + public static void updateNadPositionsConfigUuid(NetworkVisualizationParamEntity entity, UUID nadPositionsConfigUuid) { + entity.setNadPositionsConfigUuid(nadPositionsConfigUuid); } } diff --git a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java index 33af788..9732002 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java +++ b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java @@ -55,7 +55,7 @@ public UUID duplicateParameters(UUID id) { .componentLibrary(entity.getComponentLibrary()) // NAD .nadPositionsGenerationMode(entity.getNadPositionsGenerationMode()) - .positionsConfigUuid(entity.getPositionsConfigUuid()) + .nadPositionsConfigUuid(entity.getNadPositionsConfigUuid()) .build(); return repository.save(duplicate).getId(); } @@ -72,9 +72,9 @@ public void updateParameters(UUID id, NetworkVisualizationParamInfos dto) { } @Transactional - public void updatePositionsConfigUuid(UUID id, UUID positionsConfigUuid) { + public void updateNadPositionsConfigUuid(UUID id, UUID nadPositionsConfigUuid) { NetworkVisualizationParamEntity entity = findEntityById(id); - NetworkVisualizationParamMapper.updateEntity(entity, positionsConfigUuid); + NetworkVisualizationParamMapper.updateNadPositionsConfigUuid(entity, nadPositionsConfigUuid); } @Transactional diff --git a/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml b/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml index b5ef948..22cd2e6 100644 --- a/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml +++ b/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml @@ -2,7 +2,7 @@ - + diff --git a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java index b6dc14a..f621881 100644 --- a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java +++ b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java @@ -138,13 +138,13 @@ void testUpdatePositionsConfigUuidParameter() throws Exception { NetworkVisualizationParamInfos paramsToUpdate = createDto(); UUID paramsUuid = saveAndReturnId(paramsToUpdate); UUID updatedPositionsConfigUuid = UUID.randomUUID(); - mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + paramsUuid + "/positions-config-uuid") + mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + paramsUuid + "/nad-positions-config-uuid") .content("\"" + updatedPositionsConfigUuid + "\"") .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isNoContent()); NetworkVisualizationParamInfos retrievedParams = getParams(paramsUuid); - assertThat(retrievedParams.networkAreaDiagramParameters().positionsConfigUuid()) + assertThat(retrievedParams.networkAreaDiagramParameters().nadPositionsConfigUuid()) .isEqualTo(updatedPositionsConfigUuid); } @@ -153,7 +153,7 @@ void testUpdateWithInvalidPositionsConfigUuidParameter() throws Exception { NetworkVisualizationParamInfos paramsToUpdate = createDto(); UUID paramsUuid = saveAndReturnId(paramsToUpdate); String invalidUuid = "\"not-a-valid-uuid\""; - mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + paramsUuid + "/positions-config-uuid") + mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + paramsUuid + "/nad-positions-config-uuid") .content(invalidUuid) .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isBadRequest()); @@ -165,7 +165,7 @@ void testUpdateNotFoundPositionsConfigUuidParameter() throws Exception { saveAndReturnId(paramsToUpdate); UUID nonExistentId = UUID.randomUUID(); UUID updatedPositionsConfigUuid = UUID.randomUUID(); - mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + nonExistentId + "/positions-config-uuid") + mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + nonExistentId + "/nad-positions-config-uuid") .content("\"" + updatedPositionsConfigUuid + "\"") .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isNotFound()); From 772361b46e7891ab46a8caa9c4b4982fbf9c3951 Mon Sep 17 00:00:00 2001 From: Slimane AMAR Date: Wed, 13 Aug 2025 10:30:32 +0200 Subject: [PATCH 7/9] Add a enum for nad positions generation mode --- .../server/dto/NadPositionsGenerationMode.java | 16 ++++++++++++++++ .../server/dto/NetworkAreaDiagramParamInfos.java | 2 +- .../NetworkVisualizationParamEntity.java | 4 +++- .../mapper/NetworkVisualizationParamMapper.java | 9 +++------ ...etworkVisualizationParamsIntegrationTest.java | 2 +- 5 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 src/main/java/org/gridsuite/studyconfig/server/dto/NadPositionsGenerationMode.java diff --git a/src/main/java/org/gridsuite/studyconfig/server/dto/NadPositionsGenerationMode.java b/src/main/java/org/gridsuite/studyconfig/server/dto/NadPositionsGenerationMode.java new file mode 100644 index 0000000..054ce8c --- /dev/null +++ b/src/main/java/org/gridsuite/studyconfig/server/dto/NadPositionsGenerationMode.java @@ -0,0 +1,16 @@ +/** + * Copyright (c) 2025, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.gridsuite.studyconfig.server.dto; + +/** + * @author AJELLAL Ali + */ +public enum NadPositionsGenerationMode { + GEOGRAPHICAL_COORDINATES, + AUTOMATIC, + CONFIGURED +} diff --git a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java index 065cfb8..ef39e41 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java +++ b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java @@ -15,7 +15,7 @@ @Schema(name = "NetworkAreaDiagramParamDto", description = "Network area diagram parameters") public record NetworkAreaDiagramParamInfos( @Schema(description = "The nad positions generation mode") - String nadPositionsGenerationMode, + NadPositionsGenerationMode nadPositionsGenerationMode, @Schema(description = "The positions configuration uuid") UUID nadPositionsConfigUuid ) { } diff --git a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java index a767d5f..99f7cd6 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java +++ b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java @@ -15,6 +15,8 @@ import java.util.UUID; +import static org.gridsuite.studyconfig.server.dto.NadPositionsGenerationMode.GEOGRAPHICAL_COORDINATES; + /** * @author David BRAQUART */ @@ -60,7 +62,7 @@ public class NetworkVisualizationParamEntity { private String componentLibrary = ""; @Column(name = "nad_positions_generation_mode") - private String nadPositionsGenerationMode = "GEOGRAPHICAL_COORDINATES"; + private String nadPositionsGenerationMode = GEOGRAPHICAL_COORDINATES.name(); @Column(name = "nad_positions_config_uuid") private UUID nadPositionsConfigUuid = null; diff --git a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java index eb28667..05424fe 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java +++ b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java @@ -6,10 +6,7 @@ */ package org.gridsuite.studyconfig.server.mapper; -import org.gridsuite.studyconfig.server.dto.MapParamInfos; -import org.gridsuite.studyconfig.server.dto.NetworkAreaDiagramParamInfos; -import org.gridsuite.studyconfig.server.dto.NetworkVisualizationParamInfos; -import org.gridsuite.studyconfig.server.dto.SingleLineDiagramParamInfos; +import org.gridsuite.studyconfig.server.dto.*; import org.gridsuite.studyconfig.server.entities.NetworkVisualizationParamEntity; import java.util.UUID; @@ -37,7 +34,7 @@ public static NetworkVisualizationParamInfos toDto(NetworkVisualizationParamEnti entity.getSubstationLayout(), entity.getComponentLibrary() ), - new NetworkAreaDiagramParamInfos(entity.getNadPositionsGenerationMode(), entity.getNadPositionsConfigUuid()) + new NetworkAreaDiagramParamInfos(NadPositionsGenerationMode.valueOf(entity.getNadPositionsGenerationMode()), entity.getNadPositionsConfigUuid()) ); } @@ -61,7 +58,7 @@ public static void updateEntity(NetworkVisualizationParamEntity entity, NetworkV entity.setComponentLibrary(dto.singleLineDiagramParameters().componentLibrary()); // NAD entity.setNadPositionsConfigUuid(dto.networkAreaDiagramParameters().nadPositionsConfigUuid()); - entity.setNadPositionsGenerationMode(dto.networkAreaDiagramParameters().nadPositionsGenerationMode()); + entity.setNadPositionsGenerationMode(dto.networkAreaDiagramParameters().nadPositionsGenerationMode().name()); } public static void updateNadPositionsConfigUuid(NetworkVisualizationParamEntity entity, UUID nadPositionsConfigUuid) { diff --git a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java index f621881..9788d63 100644 --- a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java +++ b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java @@ -24,6 +24,7 @@ import java.util.UUID; import static org.assertj.core.api.Assertions.assertThat; +import static org.gridsuite.studyconfig.server.dto.NadPositionsGenerationMode.GEOGRAPHICAL_COORDINATES; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; @@ -35,7 +36,6 @@ class NetworkVisualizationParamsIntegrationTest { private static final String URI_NETWORK_VISUALIZATION_PARAM_BASE = "/v1/network-visualizations-params"; - private static final String GEOGRAPHICAL_COORDINATES = "GEOGRAPHICAL_COORDINATES"; @Autowired private MockMvc mockMvc; From 21c92b8ddbc11297d77c582c819deee6d4cc827f Mon Sep 17 00:00:00 2001 From: Slimane AMAR Date: Wed, 13 Aug 2025 11:07:44 +0200 Subject: [PATCH 8/9] Add a nad positions generation mode by default --- .../entities/NetworkVisualizationParamEntity.java | 10 ++-------- .../server/mapper/NetworkVisualizationParamMapper.java | 10 ++++++++-- .../service/NetworkVisualizationsParamService.java | 8 +++++++- src/main/resources/config/application.yaml | 3 +++ 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java index 99f7cd6..10dcef0 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java +++ b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java @@ -7,16 +7,10 @@ package org.gridsuite.studyconfig.server.entities; import jakarta.persistence.*; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; +import lombok.*; import java.util.UUID; -import static org.gridsuite.studyconfig.server.dto.NadPositionsGenerationMode.GEOGRAPHICAL_COORDINATES; - /** * @author David BRAQUART */ @@ -62,7 +56,7 @@ public class NetworkVisualizationParamEntity { private String componentLibrary = ""; @Column(name = "nad_positions_generation_mode") - private String nadPositionsGenerationMode = GEOGRAPHICAL_COORDINATES.name(); + private String nadPositionsGenerationMode = null; @Column(name = "nad_positions_config_uuid") private UUID nadPositionsConfigUuid = null; diff --git a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java index 05424fe..314e1f2 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java +++ b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java @@ -6,6 +6,7 @@ */ package org.gridsuite.studyconfig.server.mapper; +import org.apache.logging.log4j.util.Strings; import org.gridsuite.studyconfig.server.dto.*; import org.gridsuite.studyconfig.server.entities.NetworkVisualizationParamEntity; @@ -19,7 +20,7 @@ public final class NetworkVisualizationParamMapper { private NetworkVisualizationParamMapper() { } - public static NetworkVisualizationParamInfos toDto(NetworkVisualizationParamEntity entity) { + public static NetworkVisualizationParamInfos toDto(NetworkVisualizationParamEntity entity, NadPositionsGenerationMode nadPositionsGenerationDefaultMode) { return new NetworkVisualizationParamInfos( entity.getId(), new MapParamInfos( @@ -34,10 +35,15 @@ public static NetworkVisualizationParamInfos toDto(NetworkVisualizationParamEnti entity.getSubstationLayout(), entity.getComponentLibrary() ), - new NetworkAreaDiagramParamInfos(NadPositionsGenerationMode.valueOf(entity.getNadPositionsGenerationMode()), entity.getNadPositionsConfigUuid()) + new NetworkAreaDiagramParamInfos(getNadPositionsGenerationMode(entity.getNadPositionsGenerationMode(), nadPositionsGenerationDefaultMode), entity.getNadPositionsConfigUuid()) ); } + private static NadPositionsGenerationMode getNadPositionsGenerationMode(String nadPositionsGenerationMode, NadPositionsGenerationMode nadPositionsGenerationDefaultMode) { + return Strings.isEmpty(nadPositionsGenerationMode) ? nadPositionsGenerationDefaultMode : NadPositionsGenerationMode.valueOf(nadPositionsGenerationMode); + + } + public static NetworkVisualizationParamEntity toEntity(NetworkVisualizationParamInfos dto) { NetworkVisualizationParamEntity entity = new NetworkVisualizationParamEntity(); updateEntity(entity, dto); diff --git a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java index 9732002..e7c4309 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java +++ b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java @@ -8,10 +8,12 @@ import jakarta.persistence.EntityNotFoundException; import lombok.RequiredArgsConstructor; +import org.gridsuite.studyconfig.server.dto.NadPositionsGenerationMode; import org.gridsuite.studyconfig.server.dto.NetworkVisualizationParamInfos; import org.gridsuite.studyconfig.server.entities.NetworkVisualizationParamEntity; import org.gridsuite.studyconfig.server.mapper.NetworkVisualizationParamMapper; import org.gridsuite.studyconfig.server.repositories.NetworkVisualizationParamRepository; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -26,9 +28,13 @@ public class NetworkVisualizationsParamService { private final NetworkVisualizationParamRepository repository; + @Value("${study-config.nad-positions-generation-default-mode:}") + private NadPositionsGenerationMode nadPositionsGenerationDefaultMode; + @Transactional public UUID createDefaultParameters() { NetworkVisualizationParamEntity entity = new NetworkVisualizationParamEntity(); + entity.setNadPositionsGenerationMode(nadPositionsGenerationDefaultMode.toString()); return repository.save(entity).getId(); } @@ -62,7 +68,7 @@ public UUID duplicateParameters(UUID id) { @Transactional(readOnly = true) public NetworkVisualizationParamInfos getParameters(UUID id) { - return NetworkVisualizationParamMapper.toDto(findEntityById(id)); + return NetworkVisualizationParamMapper.toDto(findEntityById(id), nadPositionsGenerationDefaultMode); } @Transactional diff --git a/src/main/resources/config/application.yaml b/src/main/resources/config/application.yaml index 23d8290..90efa22 100644 --- a/src/main/resources/config/application.yaml +++ b/src/main/resources/config/application.yaml @@ -5,3 +5,6 @@ spring: powsybl-ws: database: name: studyconfig + +study-config: + nad-positions-generation-default-mode: GEOGRAPHICAL_COORDINATES From 7cea480c1cbe73b844d5f6d7c14a9f26e9b20a49 Mon Sep 17 00:00:00 2001 From: AAJELLAL Date: Mon, 18 Aug 2025 15:18:36 +0200 Subject: [PATCH 9/9] Remove the nadPositionsConfigUuid and adapt the tests. Signed-off-by: AAJELLAL --- .../NetworkVisualizationsParamController.java | 12 -------- .../dto/NetworkAreaDiagramParamInfos.java | 5 +--- .../NetworkVisualizationParamEntity.java | 3 -- .../NetworkVisualizationParamMapper.java | 9 +----- .../NetworkVisualizationsParamService.java | 7 ----- .../changesets/changelog_20250723T155729Z.xml | 5 ---- ...orkVisualizationParamsIntegrationTest.java | 30 ++----------------- 7 files changed, 4 insertions(+), 67 deletions(-) diff --git a/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java b/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java index 642b743..bb6c547 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java +++ b/src/main/java/org/gridsuite/studyconfig/server/controller/NetworkVisualizationsParamController.java @@ -102,16 +102,4 @@ public ResponseEntity deleteParameters( service.deleteParameters(id); return ResponseEntity.noContent().build(); } - - @PutMapping("/{id}/nad-positions-config-uuid") - @Operation(summary = "Update the positions configuration uuid", - description = "Updates existing network visualizations parameter") - @ApiResponse(responseCode = "204", description = "the nad positions configuration uuid parameter updated") - @ApiResponse(responseCode = "404", description = "the nad positions configuration uuid parameter not found") - public ResponseEntity updateNadPositionsConfigUuid( - @Parameter(description = "ID of the parameters") @PathVariable UUID id, - @RequestBody UUID nadPositionsConfigUuid) { - service.updateNadPositionsConfigUuid(id, nadPositionsConfigUuid); - return ResponseEntity.noContent().build(); - } } diff --git a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java index ef39e41..3981435 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java +++ b/src/main/java/org/gridsuite/studyconfig/server/dto/NetworkAreaDiagramParamInfos.java @@ -7,7 +7,6 @@ package org.gridsuite.studyconfig.server.dto; import io.swagger.v3.oas.annotations.media.Schema; -import java.util.UUID; /** * @author David BRAQUART @@ -15,7 +14,5 @@ @Schema(name = "NetworkAreaDiagramParamDto", description = "Network area diagram parameters") public record NetworkAreaDiagramParamInfos( @Schema(description = "The nad positions generation mode") - NadPositionsGenerationMode nadPositionsGenerationMode, - @Schema(description = "The positions configuration uuid") - UUID nadPositionsConfigUuid + NadPositionsGenerationMode nadPositionsGenerationMode ) { } diff --git a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java index 10dcef0..b945759 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java +++ b/src/main/java/org/gridsuite/studyconfig/server/entities/NetworkVisualizationParamEntity.java @@ -57,7 +57,4 @@ public class NetworkVisualizationParamEntity { @Column(name = "nad_positions_generation_mode") private String nadPositionsGenerationMode = null; - - @Column(name = "nad_positions_config_uuid") - private UUID nadPositionsConfigUuid = null; } diff --git a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java index 314e1f2..980ba5d 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java +++ b/src/main/java/org/gridsuite/studyconfig/server/mapper/NetworkVisualizationParamMapper.java @@ -10,8 +10,6 @@ import org.gridsuite.studyconfig.server.dto.*; import org.gridsuite.studyconfig.server.entities.NetworkVisualizationParamEntity; -import java.util.UUID; - /** * @author David BRAQUART */ @@ -35,7 +33,7 @@ public static NetworkVisualizationParamInfos toDto(NetworkVisualizationParamEnti entity.getSubstationLayout(), entity.getComponentLibrary() ), - new NetworkAreaDiagramParamInfos(getNadPositionsGenerationMode(entity.getNadPositionsGenerationMode(), nadPositionsGenerationDefaultMode), entity.getNadPositionsConfigUuid()) + new NetworkAreaDiagramParamInfos(getNadPositionsGenerationMode(entity.getNadPositionsGenerationMode(), nadPositionsGenerationDefaultMode)) ); } @@ -63,11 +61,6 @@ public static void updateEntity(NetworkVisualizationParamEntity entity, NetworkV entity.setSubstationLayout(dto.singleLineDiagramParameters().substationLayout()); entity.setComponentLibrary(dto.singleLineDiagramParameters().componentLibrary()); // NAD - entity.setNadPositionsConfigUuid(dto.networkAreaDiagramParameters().nadPositionsConfigUuid()); entity.setNadPositionsGenerationMode(dto.networkAreaDiagramParameters().nadPositionsGenerationMode().name()); } - - public static void updateNadPositionsConfigUuid(NetworkVisualizationParamEntity entity, UUID nadPositionsConfigUuid) { - entity.setNadPositionsConfigUuid(nadPositionsConfigUuid); - } } diff --git a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java index e7c4309..d6f70cd 100644 --- a/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java +++ b/src/main/java/org/gridsuite/studyconfig/server/service/NetworkVisualizationsParamService.java @@ -61,7 +61,6 @@ public UUID duplicateParameters(UUID id) { .componentLibrary(entity.getComponentLibrary()) // NAD .nadPositionsGenerationMode(entity.getNadPositionsGenerationMode()) - .nadPositionsConfigUuid(entity.getNadPositionsConfigUuid()) .build(); return repository.save(duplicate).getId(); } @@ -77,12 +76,6 @@ public void updateParameters(UUID id, NetworkVisualizationParamInfos dto) { NetworkVisualizationParamMapper.updateEntity(entity, dto); } - @Transactional - public void updateNadPositionsConfigUuid(UUID id, UUID nadPositionsConfigUuid) { - NetworkVisualizationParamEntity entity = findEntityById(id); - NetworkVisualizationParamMapper.updateNadPositionsConfigUuid(entity, nadPositionsConfigUuid); - } - @Transactional public void deleteParameters(UUID id) { if (!repository.existsById(id)) { diff --git a/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml b/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml index 22cd2e6..aaabb2b 100644 --- a/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml +++ b/src/main/resources/db/changelog/changesets/changelog_20250723T155729Z.xml @@ -1,10 +1,5 @@ - - - - - diff --git a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java index 9788d63..75544c1 100644 --- a/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java +++ b/src/test/java/org/gridsuite/studyconfig/server/NetworkVisualizationParamsIntegrationTest.java @@ -133,32 +133,6 @@ void testDuplicateParams() throws Exception { assertThat(networkVisualizationParamRepository.existsById(duplicatedParams.id())).isTrue(); } - @Test - void testUpdatePositionsConfigUuidParameter() throws Exception { - NetworkVisualizationParamInfos paramsToUpdate = createDto(); - UUID paramsUuid = saveAndReturnId(paramsToUpdate); - UUID updatedPositionsConfigUuid = UUID.randomUUID(); - mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + paramsUuid + "/nad-positions-config-uuid") - .content("\"" + updatedPositionsConfigUuid + "\"") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isNoContent()); - - NetworkVisualizationParamInfos retrievedParams = getParams(paramsUuid); - assertThat(retrievedParams.networkAreaDiagramParameters().nadPositionsConfigUuid()) - .isEqualTo(updatedPositionsConfigUuid); - } - - @Test - void testUpdateWithInvalidPositionsConfigUuidParameter() throws Exception { - NetworkVisualizationParamInfos paramsToUpdate = createDto(); - UUID paramsUuid = saveAndReturnId(paramsToUpdate); - String invalidUuid = "\"not-a-valid-uuid\""; - mockMvc.perform(put(URI_NETWORK_VISUALIZATION_PARAM_BASE + "/" + paramsUuid + "/nad-positions-config-uuid") - .content(invalidUuid) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isBadRequest()); - } - @Test void testUpdateNotFoundPositionsConfigUuidParameter() throws Exception { NetworkVisualizationParamInfos paramsToUpdate = createDto(); @@ -195,14 +169,14 @@ private NetworkVisualizationParamInfos createDto() { return new NetworkVisualizationParamInfos(null, new MapParamInfos(true, false, "flow", true, "base"), new SingleLineDiagramParamInfos(false, false, "layout", "lib"), - new NetworkAreaDiagramParamInfos(GEOGRAPHICAL_COORDINATES, null)); + new NetworkAreaDiagramParamInfos(GEOGRAPHICAL_COORDINATES)); } private NetworkVisualizationParamInfos createDtoForUpdate(UUID id) { return new NetworkVisualizationParamInfos(id, new MapParamInfos(false, true, "flow2", false, "base2"), new SingleLineDiagramParamInfos(true, true, "layout2", "lib2"), - new NetworkAreaDiagramParamInfos(GEOGRAPHICAL_COORDINATES, null)); + new NetworkAreaDiagramParamInfos(GEOGRAPHICAL_COORDINATES)); } private UUID saveAndReturnId(NetworkVisualizationParamInfos dto) {