Skip to content

Commit c9e3536

Browse files
fix²
1 parent cef2887 commit c9e3536

File tree

5 files changed

+13
-22
lines changed

5 files changed

+13
-22
lines changed

src/main/java/org/gridsuite/study/server/StudyController.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -628,9 +628,10 @@ public ResponseEntity<Void> stopLoadFlow(@Parameter(description = "Study uuid")
628628
public ResponseEntity<Void> runShortCircuit(
629629
@PathVariable("studyUuid") UUID studyUuid,
630630
@PathVariable("nodeUuid") UUID nodeUuid,
631-
@RequestParam(value = "busId", required = false) Optional<String> busId) throws IOException {
631+
@RequestParam(value = "busId", required = false) Optional<String> busId,
632+
@RequestHeader(HEADER_USER_ID) String userId) throws IOException {
632633
studyService.assertIsNodeNotReadOnly(nodeUuid);
633-
studyService.runShortCircuit(studyUuid, nodeUuid, busId.map(StringUtils::stripToNull));
634+
studyService.runShortCircuit(studyUuid, nodeUuid, busId.map(StringUtils::stripToNull), userId);
634635
return ResponseEntity.ok().build();
635636
}
636637

@@ -1765,7 +1766,7 @@ public ResponseEntity<Void> invalidateShortCircuitStatus(@Parameter(description
17651766
return ResponseEntity.ok().build();
17661767
}
17671768

1768-
@PostMapping(value = "/studies/{studyUuid}/nodes/{nodeUuid}/non-evacuated-energy/run")
1769+
@PostMapping(value = "/studies/{studyUuid}/nodes/{nodeUuid}/non-evacuated-energy/run", produces = MediaType.APPLICATION_JSON_VALUE)
17691770
@Operation(summary = "run sensitivity analysis non evacuated energy on study")
17701771
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The sensitivity analysis non evacuated energy has started")})
17711772
public ResponseEntity<UUID> runNonEvacuatedEnergy(@Parameter(description = "studyUuid") @PathVariable("studyUuid") UUID studyUuid,

src/main/java/org/gridsuite/study/server/StudyWebConfig.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,14 @@
77
package org.gridsuite.study.server;
88

99
import lombok.AllArgsConstructor;
10-
import org.gridsuite.study.server.converter.UuidHttpConverter;
1110
import org.springframework.context.annotation.Configuration;
1211
import org.springframework.format.FormatterRegistry;
13-
import org.springframework.http.converter.HttpMessageConverter;
1412
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
1513

16-
import java.util.List;
17-
1814
@AllArgsConstructor
1915
@Configuration
2016
public class StudyWebConfig implements WebMvcConfigurer {
2117
private final InsensitiveStringToEnumConverterFactory insensitiveEnumConverterFactory;
22-
private final UuidHttpConverter uuidConverter;
2318

2419
/**
2520
* {@inheritDoc}
@@ -28,12 +23,4 @@ public class StudyWebConfig implements WebMvcConfigurer {
2823
public void addFormatters(final FormatterRegistry registry) {
2924
registry.addConverterFactory(insensitiveEnumConverterFactory);
3025
}
31-
32-
/**
33-
* {@inheritDoc}
34-
*/
35-
@Override
36-
public void extendMessageConverters(final List<HttpMessageConverter<?>> converters) {
37-
converters.add(uuidConverter);
38-
}
3926
}

src/main/java/org/gridsuite/study/server/service/StudyService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1717,11 +1717,11 @@ public UUID runSensitivityAnalysis(UUID studyUuid, UUID nodeUuid, String userId)
17171717
return result;
17181718
}
17191719

1720-
public UUID runShortCircuit(UUID studyUuid, UUID nodeUuid, Optional<String> busId) throws JsonProcessingException {
1720+
public UUID runShortCircuit(UUID studyUuid, UUID nodeUuid, Optional<String> busId, String userId) throws JsonProcessingException {
17211721
networkModificationTreeService.getComputationResultUuid(nodeUuid, busId.isEmpty() ? SHORT_CIRCUIT : SHORT_CIRCUIT_ONE_BUS)
17221722
.ifPresent(shortCircuitService::deleteShortCircuitAnalysisResult);
17231723
final Optional<UUID> parametersUuid = studyRepository.findById(studyUuid).map(StudyEntity::getShortCircuitParametersUuid);
1724-
final UUID result = shortCircuitService.runShortCircuit(studyUuid, nodeUuid, busId, parametersUuid);
1724+
final UUID result = shortCircuitService.runShortCircuit(studyUuid, nodeUuid, busId, parametersUuid, userId);
17251725
updateComputationResultUuid(nodeUuid, result, busId.isEmpty() ? SHORT_CIRCUIT : SHORT_CIRCUIT_ONE_BUS);
17261726
notificationService.emitStudyChanged(studyUuid, nodeUuid,
17271727
busId.isEmpty() ? NotificationService.UPDATE_TYPE_SHORT_CIRCUIT_STATUS : NotificationService.UPDATE_TYPE_ONE_BUS_SHORT_CIRCUIT_STATUS);

src/main/java/org/gridsuite/study/server/service/shortcircuit/ShortCircuitService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public ShortCircuitService(RemoteServicesProperties remoteServicesProperties,
7373
this.objectMapper = objectMapper;
7474
}
7575

76-
public UUID runShortCircuit(UUID studyUuid, UUID nodeUuid, Optional<String> busId, Optional<UUID> parametersUuid) throws JsonProcessingException {
76+
public UUID runShortCircuit(UUID studyUuid, UUID nodeUuid, Optional<String> busId, Optional<UUID> parametersUuid, String userId) throws JsonProcessingException {
7777
final Optional<String> variantId = Optional.ofNullable(getVariantId(nodeUuid)).map(StringUtils::stripToNull);
7878
final URI path = UriComponentsBuilder.fromUriString(shortCircuitServerBaseUri)
7979
.pathSegment(SHORT_CIRCUIT_API_VERSION, "networks", "{networkUuid}", "run-and-save")
@@ -87,6 +87,7 @@ public UUID runShortCircuit(UUID studyUuid, UUID nodeUuid, Optional<String> busI
8787
.buildAndExpand(networkStoreService.getNetworkUuid(studyUuid))
8888
.toUri();
8989
HttpHeaders headers = new HttpHeaders();
90+
headers.set(HEADER_USER_ID, userId);
9091
headers.setAccept(List.of(MediaType.TEXT_PLAIN));
9192
return UUID.fromString(restTemplate.postForObject(path, new HttpEntity<>(headers), String.class));
9293
}

src/test/java/org/gridsuite/study/server/ShortCircuitTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,8 @@ public MockResponse dispatch(RecordedRequest request) {
249249
return new MockResponse().setResponseCode(200).setHeader(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN_VALUE).setBody(SHORT_CIRCUIT_ANALYSIS_PARAMETERS_UUID);
250250
} else if ("GET".equalsIgnoreCase(request.getMethod()) && path.equals("/v1/parameters/" + SHORT_CIRCUIT_ANALYSIS_PARAMETERS_UUID)) {
251251
return new MockResponse().setResponseCode(200).setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_UTF8_VALUE).setBody(TestUtils.resourceToString("/short-circuit-parameters.json"));
252+
} else if ("PUT".equalsIgnoreCase(request.getMethod()) && path.equals("/v1/parameters/" + SHORT_CIRCUIT_ANALYSIS_PARAMETERS_UUID)) {
253+
return new MockResponse().setResponseCode(200);
252254
} else {
253255
LOGGER.error("Unhandled method+path: {} {}", request.getMethod(), request.getPath());
254256
return new MockResponse().setResponseCode(418)
@@ -275,7 +277,7 @@ public void testShortCircuitAnalysisParameters() throws Exception {
275277
.header(HEADER_USER_ID, "testUserId")
276278
.content("{\"dumb\": \"json\"}").contentType(MediaType.APPLICATION_JSON))
277279
.andExpect(status().isOk());
278-
assertTrue(TestUtils.getRequestsDone(1, server).stream().anyMatch(r -> r.equals("/v1/parameters")));
280+
assertTrue(TestUtils.getRequestsDone(1, server).stream().anyMatch(r -> r.equals("/v1/parameters/" + SHORT_CIRCUIT_ANALYSIS_PARAMETERS_UUID)));
279281
}
280282

281283
@Test
@@ -599,8 +601,8 @@ public void testResetUuidResultWhenSCFailed() throws Exception {
599601
doAnswer(invocation -> {
600602
input.send(MessageBuilder.withPayload("").setHeader(HEADER_RECEIVER, resultUuidJson).build(), shortCircuitAnalysisFailedDestination);
601603
return resultUuid;
602-
}).when(studyService).runShortCircuit(any(), any(), any());
603-
studyService.runShortCircuit(studyEntity.getId(), modificationNode.getId(), null);
604+
}).when(studyService).runShortCircuit(any(), any(), any(), any());
605+
studyService.runShortCircuit(studyEntity.getId(), modificationNode.getId(), null, "user_1");
604606

605607
// Test reset uuid result in the database
606608
assertTrue(networkModificationTreeService.getComputationResultUuid(modificationNode.getId(), ComputationType.SHORT_CIRCUIT).isEmpty());

0 commit comments

Comments
 (0)