Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2271,8 +2271,9 @@ public void setAsText(final String text) throws IllegalArgumentException {
@Operation(summary = "Get sensitivity analysis parameters on study")
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The sensitivity analysis parameters")})
public ResponseEntity<String> getSensitivityAnalysisParameters(
@PathVariable("studyUuid") UUID studyUuid) {
return ResponseEntity.ok().body(studyService.getSensitivityAnalysisParameters(studyUuid));
@PathVariable("studyUuid") UUID studyUuid,
@RequestHeader(HEADER_USER_ID) String userId) {
return ResponseEntity.ok().body(studyService.getSensitivityAnalysisParameters(studyUuid, userId));
}

@PostMapping(value = "/studies/{studyUuid}/sensitivity-analysis/parameters")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,14 +243,20 @@ public UUID getSensitivityAnalysisParametersUuidOrElseCreateDefault(StudyEntity
return studyEntity.getSensitivityAnalysisParametersUuid();
}

public String getSensitivityAnalysisParameters(UUID parametersUuid) {
public String getSensitivityAnalysisParameters(UUID parametersUuid, String userId) {

String path = UriComponentsBuilder
.fromPath(DELIMITER + SENSITIVITY_ANALYSIS_API_VERSION + PARAMETERS_URI)
.buildAndExpand(parametersUuid)
.toUriString();

return restTemplate.getForObject(sensitivityAnalysisServerBaseUri + path, String.class);
HttpHeaders headers = new HttpHeaders();
headers.set(HEADER_USER_ID, userId);
headers.setContentType(MediaType.APPLICATION_JSON);

HttpEntity<String> httpEntity = new HttpEntity<>(headers);

return restTemplate.exchange(sensitivityAnalysisServerBaseUri + path, HttpMethod.GET, httpEntity, String.class).getBody();
}

public UUID createDefaultSensitivityAnalysisParameters() {
Expand All @@ -263,7 +269,7 @@ public UUID createDefaultSensitivityAnalysisParameters() {
return restTemplate.postForObject(sensitivityAnalysisServerBaseUri + path, null, UUID.class);
}

public UUID createSensitivityAnalysisParameters(String parameters) {
public UUID createSensitivityAnalysisParameters(String parameters, String userId) {

Objects.requireNonNull(parameters);

Expand All @@ -273,6 +279,7 @@ public UUID createSensitivityAnalysisParameters(String parameters) {
.toUriString();

HttpHeaders headers = new HttpHeaders();
headers.set(HEADER_USER_ID, userId);
headers.setContentType(MediaType.APPLICATION_JSON);

HttpEntity<String> httpEntity = new HttpEntity<>(parameters, headers);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3434,10 +3434,11 @@ public void insertVoltageInitModifications(UUID studyUuid, UUID nodeUuid, UUID r
}

@Transactional
public String getSensitivityAnalysisParameters(UUID studyUuid) {
public String getSensitivityAnalysisParameters(UUID studyUuid, String userId) {
StudyEntity studyEntity = getStudy(studyUuid);
return sensitivityAnalysisService.getSensitivityAnalysisParameters(
sensitivityAnalysisService.getSensitivityAnalysisParametersUuidOrElseCreateDefault(studyEntity));
sensitivityAnalysisService.getSensitivityAnalysisParametersUuidOrElseCreateDefault(studyEntity),
userId);
}

@Transactional
Expand Down Expand Up @@ -3471,7 +3472,7 @@ public boolean createOrUpdateSensitivityAnalysisParameters(StudyEntity studyEnti
}

if (existingSensitivityAnalysisParametersUuid == null) {
existingSensitivityAnalysisParametersUuid = sensitivityAnalysisService.createSensitivityAnalysisParameters(parameters);
existingSensitivityAnalysisParametersUuid = sensitivityAnalysisService.createSensitivityAnalysisParameters(parameters, userId);
studyEntity.setSensitivityAnalysisParametersUuid(existingSensitivityAnalysisParametersUuid);
} else {
sensitivityAnalysisService.updateSensitivityAnalysisParameters(existingSensitivityAnalysisParametersUuid, parameters);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ class SensitivityAnalysisTest {
private static final String VARIANT_ID_2 = "variant_2";
private static final String VARIANT_ID_3 = "variant_3";

private static final String USER_ID = "userId";

private static final String SENSITIVITY_ANALYSIS_PARAMETERS_UUID_STRING = "0c0f1efd-bd22-4a75-83d3-9e530245c7f4";
private static final UUID SENSITIVITY_ANALYSIS_PARAMETERS_UUID = UUID.fromString(SENSITIVITY_ANALYSIS_PARAMETERS_UUID_STRING);
private static final String NO_PROFILE_USER_ID = "noProfileUser";
Expand Down Expand Up @@ -671,7 +673,8 @@ void testSensitivityAnalysisParameters() throws Exception {
assertNotNull(studyNameUserIdUuid);

// Get sensitivity analysis parameters (on existing)
mockMvc.perform(get("/v1/studies/{studyUuid}/sensitivity-analysis/parameters", studyNameUserIdUuid)).andExpectAll(
mockMvc.perform(get("/v1/studies/{studyUuid}/sensitivity-analysis/parameters", studyNameUserIdUuid)
.header(HEADER_USER_ID, USER_ID)).andExpectAll(
status().isOk(),
content().string(SENSITIVITY_ANALYSIS_DEFAULT_PARAMETERS_JSON));

Expand All @@ -687,7 +690,8 @@ void testSensitivityAnalysisParameters() throws Exception {
studyEntityToUpdate.setSensitivityAnalysisParametersUuid(null);
studyRepository.save(studyEntityToUpdate);

mockMvc.perform(get("/v1/studies/{studyUuid}/sensitivity-analysis/parameters", studyNameUserIdUuid)).andExpectAll(
mockMvc.perform(get("/v1/studies/{studyUuid}/sensitivity-analysis/parameters", studyNameUserIdUuid)
.header(HEADER_USER_ID, USER_ID)).andExpectAll(
status().isOk(),
content().string(SENSITIVITY_ANALYSIS_DEFAULT_PARAMETERS_JSON));

Expand Down
Loading