From 5fe6c158ad49ef43f102d2e01d99d34bf8b6904e Mon Sep 17 00:00:00 2001 From: Tristan <135599584+Tristan-WorkGH@users.noreply.github.com> Date: Mon, 10 Jun 2024 17:23:52 +0200 Subject: [PATCH 1/3] Fix wrong content-type for SVG --- .../java/org/gridsuite/study/server/StudyConstants.java | 6 +++++- .../java/org/gridsuite/study/server/StudyController.java | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/gridsuite/study/server/StudyConstants.java b/src/main/java/org/gridsuite/study/server/StudyConstants.java index 9cbc9c661..3086000f8 100644 --- a/src/main/java/org/gridsuite/study/server/StudyConstants.java +++ b/src/main/java/org/gridsuite/study/server/StudyConstants.java @@ -6,15 +6,19 @@ */ package org.gridsuite.study.server; +import org.springframework.http.MediaType; + /** * @author Abdelsalem Hedhili */ - public final class StudyConstants { private StudyConstants() { } + public static final String IMAGE_SVG_VALUE = "image/svg+xml"; + public static final MediaType IMAGE_SVG = MediaType.parseMediaType(IMAGE_SVG_VALUE); + public static final String CASE_API_VERSION = "v1"; public static final String SINGLE_LINE_DIAGRAM_API_VERSION = "v1"; public static final String NETWORK_CONVERSION_API_VERSION = "v1"; diff --git a/src/main/java/org/gridsuite/study/server/StudyController.java b/src/main/java/org/gridsuite/study/server/StudyController.java index abd6ac33f..bc6f4fc21 100644 --- a/src/main/java/org/gridsuite/study/server/StudyController.java +++ b/src/main/java/org/gridsuite/study/server/StudyController.java @@ -931,7 +931,7 @@ public ResponseEntity getShortCircuitParameters( return ResponseEntity.ok().body(studyService.getShortCircuitParametersInfo(studyUuid)); } - @GetMapping(value = "/studies/{studyUuid}/nodes/{nodeUuid}/network/substations/{substationId}/svg") + @GetMapping(value = "/studies/{studyUuid}/nodes/{nodeUuid}/network/substations/{substationId}/svg", produces = IMAGE_SVG_VALUE) @Operation(summary = "get the substation diagram for the given network and substation") @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The svg"), @ApiResponse(responseCode = "404", description = "The substation has not been found")}) @@ -956,7 +956,7 @@ public ResponseEntity getSubstationDiagram( .build(); byte[] result = studyService.getSubstationSvg(studyUuid, substationId, diagramParameters, substationLayout, nodeUuid); - return result != null ? ResponseEntity.ok().contentType(MediaType.APPLICATION_XML).body(result) : + return result != null ? ResponseEntity.ok().contentType(IMAGE_SVG).body(result) : ResponseEntity.noContent().build(); } From c783854fa4fc0a27efcd4d5b85069aefc2784221 Mon Sep 17 00:00:00 2001 From: Tristan <135599584+Tristan-WorkGH@users.noreply.github.com> Date: Mon, 10 Jun 2024 18:57:19 +0200 Subject: [PATCH 2/3] Update SingleLineDiagramTest --- .../org/gridsuite/study/server/SingleLineDiagramTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/org/gridsuite/study/server/SingleLineDiagramTest.java b/src/test/java/org/gridsuite/study/server/SingleLineDiagramTest.java index 3ed1d4c41..2348c8e88 100644 --- a/src/test/java/org/gridsuite/study/server/SingleLineDiagramTest.java +++ b/src/test/java/org/gridsuite/study/server/SingleLineDiagramTest.java @@ -275,7 +275,7 @@ public void testDiagramsAndGraphics() throws Exception { mockMvc.perform(get("/v1/studies/{studyUuid}/nodes/{nodeUuid}/network/voltage-levels/{voltageLevelId}/svg?useName=false&language=en", studyNameUserIdUuid, rootNodeUuid, "voltageLevelId")).andExpectAll( status().isOk(), - content().contentType(MediaType.APPLICATION_XML), + content().contentType(IMAGE_SVG), content().string("byte")); assertTrue(TestUtils.getRequestsDone(1, server).contains(String.format( @@ -286,7 +286,7 @@ public void testDiagramsAndGraphics() throws Exception { mockMvc.perform(get("/v1/studies/{studyUuid}/nodes/{nodeUuid}/network/voltage-levels/{voltageLevelId}/svg?useName=false", studyNameUserIdUuid, rootNodeUuid, "voltageLevelId")).andExpectAll( status().isOk(), - content().contentType(MediaType.APPLICATION_XML), + content().contentType(IMAGE_SVG), content().string("byte")); assertTrue(TestUtils.getRequestsDone(1, server).contains(String.format( @@ -338,7 +338,7 @@ public void testDiagramsAndGraphics() throws Exception { mockMvc.perform(get("/v1/studies/{studyUuid}/nodes/{nodeUuid}/network/substations/{substationId}/svg?useName=false", studyNameUserIdUuid, rootNodeUuid, "substationId")).andExpectAll( status().isOk(), - content().contentType(MediaType.APPLICATION_XML), + content().contentType(IMAGE_SVG), content().string("substation-byte")); assertTrue(TestUtils.getRequestsDone(1, server).contains(String.format( From 873b3610a94ab48090fa5c3c3adf96eb01889fa6 Mon Sep 17 00:00:00 2001 From: Tristan <135599584+Tristan-WorkGH@users.noreply.github.com> Date: Mon, 10 Jun 2024 19:09:06 +0200 Subject: [PATCH 3/3] forget one --- src/main/java/org/gridsuite/study/server/StudyController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gridsuite/study/server/StudyController.java b/src/main/java/org/gridsuite/study/server/StudyController.java index bc6f4fc21..1b527e2ce 100644 --- a/src/main/java/org/gridsuite/study/server/StudyController.java +++ b/src/main/java/org/gridsuite/study/server/StudyController.java @@ -331,7 +331,7 @@ public ResponseEntity getVoltageLevelDiagram( voltageLevelId, diagramParameters, nodeUuid); - return result != null ? ResponseEntity.ok().contentType(MediaType.APPLICATION_XML).body(result) : + return result != null ? ResponseEntity.ok().contentType(IMAGE_SVG).body(result) : ResponseEntity.noContent().build(); }