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..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(); } @@ -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(); } 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(