From cfb5ed0ef7d6aaef056bedad3445f4c46bff0906 Mon Sep 17 00:00:00 2001 From: Radouane Khouadri Date: Mon, 9 Mar 2026 11:28:41 +0100 Subject: [PATCH 1/3] add userId header to duplicateSensitivityAnalysisParameters request Signed-off-by: Radouane Khouadri --- .../gridsuite/study/server/service/ConsumerService.java | 2 +- .../study/server/service/SensitivityAnalysisService.java | 9 +++++++-- .../org/gridsuite/study/server/service/StudyService.java | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/gridsuite/study/server/service/ConsumerService.java b/src/main/java/org/gridsuite/study/server/service/ConsumerService.java index ba3bd0ca6..545bbecfa 100644 --- a/src/main/java/org/gridsuite/study/server/service/ConsumerService.java +++ b/src/main/java/org/gridsuite/study/server/service/ConsumerService.java @@ -359,7 +359,7 @@ private UUID createDefaultSensitivityAnalysisParameters(String userId, UserProfi if (userProfileInfos != null && userProfileInfos.getSensitivityAnalysisParameterId() != null) { // try to access/duplicate the user profile sensitivity analysis parameters try { - return sensitivityAnalysisService.duplicateSensitivityAnalysisParameters(userProfileInfos.getSensitivityAnalysisParameterId()); + return sensitivityAnalysisService.duplicateSensitivityAnalysisParameters(userProfileInfos.getSensitivityAnalysisParameterId(), userId); } catch (Exception e) { // TODO try to report a log in Root subreporter ? LOGGER.error(String.format("Could not duplicate sensitivity analysis parameters with id '%s' from user/profile '%s/%s'. Using default parameters", diff --git a/src/main/java/org/gridsuite/study/server/service/SensitivityAnalysisService.java b/src/main/java/org/gridsuite/study/server/service/SensitivityAnalysisService.java index 3feed1873..202f3e874 100644 --- a/src/main/java/org/gridsuite/study/server/service/SensitivityAnalysisService.java +++ b/src/main/java/org/gridsuite/study/server/service/SensitivityAnalysisService.java @@ -285,7 +285,7 @@ public UUID createSensitivityAnalysisParameters(String parameters, String userId return restTemplate.postForObject(sensitivityAnalysisServerBaseUri + path, httpEntity, UUID.class); } - public UUID duplicateSensitivityAnalysisParameters(UUID sourceParametersUuid) { + public UUID duplicateSensitivityAnalysisParameters(UUID sourceParametersUuid, String userId) { Objects.requireNonNull(sourceParametersUuid); @@ -295,7 +295,12 @@ public UUID duplicateSensitivityAnalysisParameters(UUID sourceParametersUuid) { .buildAndExpand() .toUriString(); - return restTemplate.postForObject(sensitivityAnalysisServerBaseUri + path, null, UUID.class); + HttpHeaders headers = new HttpHeaders(); + headers.set(HEADER_USER_ID, userId); + + HttpEntity httpEntity = new HttpEntity<>(headers); + + return restTemplate.postForObject(sensitivityAnalysisServerBaseUri + path, httpEntity, UUID.class); } public void updateSensitivityAnalysisParameters(UUID parametersUuid, @Nullable String parameters) { diff --git a/src/main/java/org/gridsuite/study/server/service/StudyService.java b/src/main/java/org/gridsuite/study/server/service/StudyService.java index 3911e33ad..b3f04d778 100644 --- a/src/main/java/org/gridsuite/study/server/service/StudyService.java +++ b/src/main/java/org/gridsuite/study/server/service/StudyService.java @@ -737,7 +737,7 @@ private StudyEntity duplicateStudyEntity(StudyEntity sourceStudyEntity, UUID new UUID copiedSensitivityAnalysisParametersUuid = null; if (sourceStudyEntity.getSensitivityAnalysisParametersUuid() != null) { - copiedSensitivityAnalysisParametersUuid = sensitivityAnalysisService.duplicateSensitivityAnalysisParameters(sourceStudyEntity.getSensitivityAnalysisParametersUuid()); + copiedSensitivityAnalysisParametersUuid = sensitivityAnalysisService.duplicateSensitivityAnalysisParameters(sourceStudyEntity.getSensitivityAnalysisParametersUuid(), userId); } UUID copiedVoltageInitParametersUuid = null; @@ -3336,7 +3336,7 @@ public boolean createOrUpdateSensitivityAnalysisParameters(StudyEntity studyEnti if (parameters == null && userProfileInfos.getSensitivityAnalysisParameterId() != null) { // reset case, with existing profile, having default sensitivity analysis params try { - UUID sensitivityAnalysisParametersFromProfileUuid = sensitivityAnalysisService.duplicateSensitivityAnalysisParameters(userProfileInfos.getSensitivityAnalysisParameterId()); + UUID sensitivityAnalysisParametersFromProfileUuid = sensitivityAnalysisService.duplicateSensitivityAnalysisParameters(userProfileInfos.getSensitivityAnalysisParameterId(), userId); studyEntity.setSensitivityAnalysisParametersUuid(sensitivityAnalysisParametersFromProfileUuid); removeSensitivityAnalysisParameters(existingSensitivityAnalysisParametersUuid); return userProfileIssue; From ec77789f59e92bd9a4387eef763f9d705d1bfe7a Mon Sep 17 00:00:00 2001 From: Radouane Khouadri Date: Mon, 9 Mar 2026 14:25:51 +0100 Subject: [PATCH 2/3] move ContingencyCount to dto package Signed-off-by: Radouane Khouadri --- .../study/server/{service => dto}/ContingencyCount.java | 2 +- .../java/org/gridsuite/study/server/service/ActionsService.java | 1 + .../study/server/rootnetworks/SecurityAnalysisTest.java | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) rename src/main/java/org/gridsuite/study/server/{service => dto}/ContingencyCount.java (91%) diff --git a/src/main/java/org/gridsuite/study/server/service/ContingencyCount.java b/src/main/java/org/gridsuite/study/server/dto/ContingencyCount.java similarity index 91% rename from src/main/java/org/gridsuite/study/server/service/ContingencyCount.java rename to src/main/java/org/gridsuite/study/server/dto/ContingencyCount.java index 2a009e34d..fe3069565 100644 --- a/src/main/java/org/gridsuite/study/server/service/ContingencyCount.java +++ b/src/main/java/org/gridsuite/study/server/dto/ContingencyCount.java @@ -4,7 +4,7 @@ * 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.study.server.service; +package org.gridsuite.study.server.dto; /** * @author Radouane KHOUADRI {@literal } diff --git a/src/main/java/org/gridsuite/study/server/service/ActionsService.java b/src/main/java/org/gridsuite/study/server/service/ActionsService.java index 398b8cf53..2118268f4 100644 --- a/src/main/java/org/gridsuite/study/server/service/ActionsService.java +++ b/src/main/java/org/gridsuite/study/server/service/ActionsService.java @@ -13,6 +13,7 @@ import org.apache.commons.lang3.StringUtils; import org.gridsuite.study.server.RemoteServicesProperties; +import org.gridsuite.study.server.dto.ContingencyCount; import org.springframework.http.HttpMethod; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; diff --git a/src/test/java/org/gridsuite/study/server/rootnetworks/SecurityAnalysisTest.java b/src/test/java/org/gridsuite/study/server/rootnetworks/SecurityAnalysisTest.java index 04624196d..fda0f57dd 100644 --- a/src/test/java/org/gridsuite/study/server/rootnetworks/SecurityAnalysisTest.java +++ b/src/test/java/org/gridsuite/study/server/rootnetworks/SecurityAnalysisTest.java @@ -16,6 +16,7 @@ import com.powsybl.security.LimitViolationType; import com.powsybl.security.SecurityAnalysisParameters; import org.gridsuite.study.server.ContextConfigurationWithTestChannel; +import org.gridsuite.study.server.dto.ContingencyCount; import org.gridsuite.study.server.dto.NodeReceiver; import org.gridsuite.study.server.dto.RootNetworkNodeInfo; import org.gridsuite.study.server.networkmodificationtree.dto.*; From 55249878503f17822afa2487ce0c372a81acdaa5 Mon Sep 17 00:00:00 2001 From: Radouane Khouadri Date: Tue, 10 Mar 2026 09:31:07 +0100 Subject: [PATCH 3/3] remove userId header from create Request Signed-off-by: Radouane Khouadri --- .../study/server/service/SensitivityAnalysisService.java | 3 +-- .../java/org/gridsuite/study/server/service/StudyService.java | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/gridsuite/study/server/service/SensitivityAnalysisService.java b/src/main/java/org/gridsuite/study/server/service/SensitivityAnalysisService.java index 202f3e874..495ebf5c0 100644 --- a/src/main/java/org/gridsuite/study/server/service/SensitivityAnalysisService.java +++ b/src/main/java/org/gridsuite/study/server/service/SensitivityAnalysisService.java @@ -268,7 +268,7 @@ public UUID createDefaultSensitivityAnalysisParameters() { return restTemplate.postForObject(sensitivityAnalysisServerBaseUri + path, null, UUID.class); } - public UUID createSensitivityAnalysisParameters(String parameters, String userId) { + public UUID createSensitivityAnalysisParameters(String parameters) { Objects.requireNonNull(parameters); @@ -278,7 +278,6 @@ public UUID createSensitivityAnalysisParameters(String parameters, String userId .toUriString(); HttpHeaders headers = new HttpHeaders(); - headers.set(HEADER_USER_ID, userId); HttpEntity httpEntity = new HttpEntity<>(parameters, headers); diff --git a/src/main/java/org/gridsuite/study/server/service/StudyService.java b/src/main/java/org/gridsuite/study/server/service/StudyService.java index b3f04d778..74f3f9bf8 100644 --- a/src/main/java/org/gridsuite/study/server/service/StudyService.java +++ b/src/main/java/org/gridsuite/study/server/service/StudyService.java @@ -3349,7 +3349,7 @@ public boolean createOrUpdateSensitivityAnalysisParameters(StudyEntity studyEnti } if (existingSensitivityAnalysisParametersUuid == null) { - existingSensitivityAnalysisParametersUuid = sensitivityAnalysisService.createSensitivityAnalysisParameters(parameters, userId); + existingSensitivityAnalysisParametersUuid = sensitivityAnalysisService.createSensitivityAnalysisParameters(parameters); studyEntity.setSensitivityAnalysisParametersUuid(existingSensitivityAnalysisParametersUuid); } else { sensitivityAnalysisService.updateSensitivityAnalysisParameters(existingSensitivityAnalysisParametersUuid, parameters);