From be31c9900d83f4753f0a4dc2b1ff7d3a9a3d6de6 Mon Sep 17 00:00:00 2001 From: "SOUISSI Maissa (Externe)" Date: Mon, 23 Feb 2026 13:12:55 +0100 Subject: [PATCH 1/7] refactoring Signed-off-by: SOUISSI Maissa (Externe) --- .../study/server/dto/DeleteNodeInfos.java | 63 +++++++++++++++---- .../server/rootnetworks/RootNetworkTest.java | 2 +- 2 files changed, 51 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java b/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java index d9a46ca7f..ce3c70463 100644 --- a/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java +++ b/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java @@ -24,31 +24,68 @@ public class DeleteNodeInfos { private List modificationGroupUuids = new ArrayList<>(); - private List reportUuids = new ArrayList<>(); - private Map> variantIds = new HashMap<>(); - private List loadFlowResultUuids = new ArrayList<>(); + private Set reportUuids = new HashSet<>(); + private Set loadFlowResultUuids = new HashSet<>(); + private Set securityAnalysisResultUuids = new HashSet<>(); + private Set sensitivityAnalysisResultUuids = new HashSet<>(); + private Set shortCircuitAnalysisResultUuids = new HashSet<>(); + private Set oneBusShortCircuitAnalysisResultUuids = new HashSet<>(); + private Set voltageInitResultUuids = new HashSet<>(); + private Set dynamicSimulationResultUuids = new HashSet<>(); + private Set dynamicSecurityAnalysisResultUuids = new HashSet<>(); + private Set dynamicMarginCalculationResultUuids = new HashSet<>(); + private Set stateEstimationResultUuids = new HashSet<>(); + private Set pccMinResultUuids = new HashSet<>(); + + public List getReportUuids() { + return reportUuids.stream().toList(); + } - private List securityAnalysisResultUuids = new ArrayList<>(); + public List getLoadFlowResultUuids() { + return loadFlowResultUuids.stream().toList(); + } - private List sensitivityAnalysisResultUuids = new ArrayList<>(); + public List getSecurityAnalysisResultUuids() { + return securityAnalysisResultUuids.stream().toList(); + } - private List shortCircuitAnalysisResultUuids = new ArrayList<>(); + public List getSensitivityAnalysisResultUuids() { + return sensitivityAnalysisResultUuids.stream().toList(); + } + + public List getShortCircuitAnalysisResultUuids() { + return shortCircuitAnalysisResultUuids.stream().toList(); + } - private List oneBusShortCircuitAnalysisResultUuids = new ArrayList<>(); + public List getOneBusShortCircuitAnalysisResultUuids() { + return oneBusShortCircuitAnalysisResultUuids.stream().toList(); + } - private List voltageInitResultUuids = new ArrayList<>(); + public List getVoltageInitResultUuids() { + return voltageInitResultUuids.stream().toList(); + } - private List dynamicSimulationResultUuids = new ArrayList<>(); + public List getStateEstimationResultUuids() { + return stateEstimationResultUuids.stream().toList(); + } - private List dynamicSecurityAnalysisResultUuids = new ArrayList<>(); + public List getPccMinResultUuids() { + return pccMinResultUuids.stream().toList(); + } - private List dynamicMarginCalculationResultUuids = new ArrayList<>(); + public List getDynamicSimulationResultUuids() { + return dynamicSimulationResultUuids.stream().toList(); + } - private List stateEstimationResultUuids = new ArrayList<>(); + public List getDynamicSecurityAnalysisResultUuids() { + return dynamicSecurityAnalysisResultUuids.stream().toList(); + } - private List pccMinResultUuids = new ArrayList<>(); + public List getDynamicMarginCalculationResultUuids() { + return dynamicMarginCalculationResultUuids.stream().toList(); + } public void addRemovedNodeUuid(UUID removedNodeUuid) { removedNodeUuids.add(removedNodeUuid); diff --git a/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java b/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java index 243d9bb2e..200c5ad27 100644 --- a/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java +++ b/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java @@ -546,7 +546,7 @@ void testDeleteRootNetwork() throws Exception { verify(equipmentInfosService, times(1)).deleteEquipmentIndexes(NETWORK_UUID2); verify(networkStoreService, times(1)).deleteNetwork(NETWORK_UUID2); verify(caseService, times(1)).deleteCase(CASE_UUID2); - verify(dynamicSimulationService, times(1)).deleteResults(List.of(DYNAMIC_SIMULATION_RESULT_UUID)); + verify(dynamicSimulationService, times(1)).deleteResults(List.of(t check)); verify(dynamicSecurityAnalysisService, times(1)).deleteResults(List.of(DYNAMIC_SECURITY_ANALYSIS_RESULT_UUID)); verify(dynamicMarginCalculationService, times(1)).deleteResults(List.of(DYNAMIC_MARGIN_CALCULATION_RESULT_UUID)); // check LOADFLOW_RESULT_UUID2 is also deleted From 2a68a336630206ead7aa9ab98534f0cbde6413f7 Mon Sep 17 00:00:00 2001 From: "SOUISSI Maissa (Externe)" Date: Mon, 23 Feb 2026 13:17:30 +0100 Subject: [PATCH 2/7] fix Signed-off-by: SOUISSI Maissa (Externe) --- .../gridsuite/study/server/rootnetworks/RootNetworkTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java b/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java index 200c5ad27..243d9bb2e 100644 --- a/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java +++ b/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java @@ -546,7 +546,7 @@ void testDeleteRootNetwork() throws Exception { verify(equipmentInfosService, times(1)).deleteEquipmentIndexes(NETWORK_UUID2); verify(networkStoreService, times(1)).deleteNetwork(NETWORK_UUID2); verify(caseService, times(1)).deleteCase(CASE_UUID2); - verify(dynamicSimulationService, times(1)).deleteResults(List.of(t check)); + verify(dynamicSimulationService, times(1)).deleteResults(List.of(DYNAMIC_SIMULATION_RESULT_UUID)); verify(dynamicSecurityAnalysisService, times(1)).deleteResults(List.of(DYNAMIC_SECURITY_ANALYSIS_RESULT_UUID)); verify(dynamicMarginCalculationService, times(1)).deleteResults(List.of(DYNAMIC_MARGIN_CALCULATION_RESULT_UUID)); // check LOADFLOW_RESULT_UUID2 is also deleted From 74e064aeab6ee7342bdfa092e51101f8b33731ce Mon Sep 17 00:00:00 2001 From: "SOUISSI Maissa (Externe)" Date: Mon, 23 Feb 2026 13:33:05 +0100 Subject: [PATCH 3/7] duplicated code : dto Signed-off-by: SOUISSI Maissa (Externe) --- .../study/server/dto/DeleteNodeInfos.java | 112 +-------------- .../study/server/dto/InvalidateNodeInfos.java | 106 +------------- .../gridsuite/study/server/dto/NodeInfos.java | 133 ++++++++++++++++++ 3 files changed, 135 insertions(+), 216 deletions(-) create mode 100644 src/main/java/org/gridsuite/study/server/dto/NodeInfos.java diff --git a/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java b/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java index ce3c70463..613925ecc 100644 --- a/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java +++ b/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java @@ -19,74 +19,13 @@ @NoArgsConstructor @Getter @Setter -public class DeleteNodeInfos { +public class DeleteNodeInfos extends NodeInfos { private List removedNodeUuids = new ArrayList<>(); private List modificationGroupUuids = new ArrayList<>(); private Map> variantIds = new HashMap<>(); - private Set reportUuids = new HashSet<>(); - private Set loadFlowResultUuids = new HashSet<>(); - private Set securityAnalysisResultUuids = new HashSet<>(); - private Set sensitivityAnalysisResultUuids = new HashSet<>(); - private Set shortCircuitAnalysisResultUuids = new HashSet<>(); - private Set oneBusShortCircuitAnalysisResultUuids = new HashSet<>(); - private Set voltageInitResultUuids = new HashSet<>(); - private Set dynamicSimulationResultUuids = new HashSet<>(); - private Set dynamicSecurityAnalysisResultUuids = new HashSet<>(); - private Set dynamicMarginCalculationResultUuids = new HashSet<>(); - private Set stateEstimationResultUuids = new HashSet<>(); - private Set pccMinResultUuids = new HashSet<>(); - - public List getReportUuids() { - return reportUuids.stream().toList(); - } - - public List getLoadFlowResultUuids() { - return loadFlowResultUuids.stream().toList(); - } - - public List getSecurityAnalysisResultUuids() { - return securityAnalysisResultUuids.stream().toList(); - } - - public List getSensitivityAnalysisResultUuids() { - return sensitivityAnalysisResultUuids.stream().toList(); - } - - public List getShortCircuitAnalysisResultUuids() { - return shortCircuitAnalysisResultUuids.stream().toList(); - } - - public List getOneBusShortCircuitAnalysisResultUuids() { - return oneBusShortCircuitAnalysisResultUuids.stream().toList(); - } - - public List getVoltageInitResultUuids() { - return voltageInitResultUuids.stream().toList(); - } - - public List getStateEstimationResultUuids() { - return stateEstimationResultUuids.stream().toList(); - } - - public List getPccMinResultUuids() { - return pccMinResultUuids.stream().toList(); - } - - public List getDynamicSimulationResultUuids() { - return dynamicSimulationResultUuids.stream().toList(); - } - - public List getDynamicSecurityAnalysisResultUuids() { - return dynamicSecurityAnalysisResultUuids.stream().toList(); - } - - public List getDynamicMarginCalculationResultUuids() { - return dynamicMarginCalculationResultUuids.stream().toList(); - } - public void addRemovedNodeUuid(UUID removedNodeUuid) { removedNodeUuids.add(removedNodeUuid); } @@ -95,56 +34,7 @@ public void addModificationGroupUuid(UUID modificationGroupUuid) { modificationGroupUuids.add(modificationGroupUuid); } - public void addReportUuid(UUID reportUuid) { - reportUuids.add(reportUuid); - } - public void addVariantId(UUID networkUuid, String variantId) { variantIds.getOrDefault(networkUuid, new ArrayList<>()).add(variantId); } - - public void addLoadFlowResultUuid(UUID loadFlowResultUuid) { - loadFlowResultUuids.add(loadFlowResultUuid); - } - - public void addSecurityAnalysisResultUuid(UUID securityAnalysisResultUuid) { - securityAnalysisResultUuids.add(securityAnalysisResultUuid); - } - - public void addDynamicSimulationResultUuid(UUID dynamicSimulationResultUuid) { - dynamicSimulationResultUuids.add(dynamicSimulationResultUuid); - } - - public void addDynamicSecurityAnalysisResultUuid(UUID dynamicSecurityAnalysisResultUuid) { - dynamicSecurityAnalysisResultUuids.add(dynamicSecurityAnalysisResultUuid); - } - - public void addDynamicMarginCalculationResultUuid(UUID dynamicMarginCalculationResultUuid) { - dynamicMarginCalculationResultUuids.add(dynamicMarginCalculationResultUuid); - } - - public void addSensitivityAnalysisResultUuid(UUID sensitivityAnalysisResultUuid) { - sensitivityAnalysisResultUuids.add(sensitivityAnalysisResultUuid); - } - - public void addShortCircuitAnalysisResultUuid(UUID shortCircuitAnalysisResultUuid) { - shortCircuitAnalysisResultUuids.add(shortCircuitAnalysisResultUuid); - } - - public void addOneBusShortCircuitAnalysisResultUuid(UUID oneBusShortCircuitAnalysisResultUuid) { - oneBusShortCircuitAnalysisResultUuids.add(oneBusShortCircuitAnalysisResultUuid); - } - - public void addVoltageInitResultUuid(UUID voltageInitResultUuid) { - voltageInitResultUuids.add(voltageInitResultUuid); - } - - public void addStateEstimationResultUuid(UUID stateEstimationResultUuid) { - stateEstimationResultUuids.add(stateEstimationResultUuid); - } - - public void addPccMinResultUuid(UUID pccMinResultUuid) { - pccMinResultUuids.add(pccMinResultUuid); - } - } diff --git a/src/main/java/org/gridsuite/study/server/dto/InvalidateNodeInfos.java b/src/main/java/org/gridsuite/study/server/dto/InvalidateNodeInfos.java index ae3c24f60..4b0b184d3 100644 --- a/src/main/java/org/gridsuite/study/server/dto/InvalidateNodeInfos.java +++ b/src/main/java/org/gridsuite/study/server/dto/InvalidateNodeInfos.java @@ -19,7 +19,7 @@ * @author Nicolas Noir */ @NoArgsConstructor -public class InvalidateNodeInfos { +public class InvalidateNodeInfos extends NodeInfos { @Getter @Setter private UUID networkUuid; @@ -30,18 +30,6 @@ public class InvalidateNodeInfos { private Set reportUuids = new HashSet<>(); private Set variantIds = new HashSet<>(); - private Set loadFlowResultUuids = new HashSet<>(); - private Set securityAnalysisResultUuids = new HashSet<>(); - private Set sensitivityAnalysisResultUuids = new HashSet<>(); - private Set shortCircuitAnalysisResultUuids = new HashSet<>(); - private Set oneBusShortCircuitAnalysisResultUuids = new HashSet<>(); - private Set voltageInitResultUuids = new HashSet<>(); - private Set stateEstimationResultUuids = new HashSet<>(); - private Set pccMinResultUuids = new HashSet<>(); - private Set dynamicSimulationResultUuids = new HashSet<>(); - private Set dynamicSecurityAnalysisResultUuids = new HashSet<>(); - private Set dynamicMarginCalculationResultUuids = new HashSet<>(); - public List getNodeUuids() { return nodeUuids.stream().toList(); } @@ -58,102 +46,10 @@ public List getVariantIds() { return variantIds.stream().toList(); } - public List getLoadFlowResultUuids() { - return loadFlowResultUuids.stream().toList(); - } - - public List getSecurityAnalysisResultUuids() { - return securityAnalysisResultUuids.stream().toList(); - } - - public List getSensitivityAnalysisResultUuids() { - return sensitivityAnalysisResultUuids.stream().toList(); - } - - public List getShortCircuitAnalysisResultUuids() { - return shortCircuitAnalysisResultUuids.stream().toList(); - } - - public List getOneBusShortCircuitAnalysisResultUuids() { - return oneBusShortCircuitAnalysisResultUuids.stream().toList(); - } - - public List getVoltageInitResultUuids() { - return voltageInitResultUuids.stream().toList(); - } - - public List getStateEstimationResultUuids() { - return stateEstimationResultUuids.stream().toList(); - } - - public List getPccMinResultUuids() { - return pccMinResultUuids.stream().toList(); - } - - public List getDynamicSimulationResultUuids() { - return dynamicSimulationResultUuids.stream().toList(); - } - - public List getDynamicSecurityAnalysisResultUuids() { - return dynamicSecurityAnalysisResultUuids.stream().toList(); - } - - public List getDynamicMarginCalculationResultUuids() { - return dynamicMarginCalculationResultUuids.stream().toList(); - } - - public void addReportUuid(UUID reportUuid) { - reportUuids.add(reportUuid); - } - public void addVariantId(String variantId) { variantIds.add(variantId); } - public void addLoadFlowResultUuid(UUID loadFlowResultUuid) { - loadFlowResultUuids.add(loadFlowResultUuid); - } - - public void addSecurityAnalysisResultUuid(UUID securityAnalysisResultUuid) { - securityAnalysisResultUuids.add(securityAnalysisResultUuid); - } - - public void addSensitivityAnalysisResultUuid(UUID sensitivityAnalysisResultUuid) { - sensitivityAnalysisResultUuids.add(sensitivityAnalysisResultUuid); - } - - public void addShortCircuitAnalysisResultUuid(UUID shortCircuitAnalysisResultUuid) { - shortCircuitAnalysisResultUuids.add(shortCircuitAnalysisResultUuid); - } - - public void addOneBusShortCircuitAnalysisResultUuid(UUID oneBusShortCircuitAnalysisResultUuid) { - oneBusShortCircuitAnalysisResultUuids.add(oneBusShortCircuitAnalysisResultUuid); - } - - public void addVoltageInitResultUuid(UUID voltageInitResultUuid) { - voltageInitResultUuids.add(voltageInitResultUuid); - } - - public void addDynamicSimulationResultUuid(UUID dynamicSimulationResultUuid) { - dynamicSimulationResultUuids.add(dynamicSimulationResultUuid); - } - - public void addDynamicSecurityAnalysisResultUuid(UUID dynamicSecurityAnalysisResultUuid) { - dynamicSecurityAnalysisResultUuids.add(dynamicSecurityAnalysisResultUuid); - } - - public void addDynamicMarginCalculationResultUuid(UUID dynamicMarginCalculationResultUuid) { - dynamicMarginCalculationResultUuids.add(dynamicMarginCalculationResultUuid); - } - - public void addStateEstimationResultUuid(UUID stateEstimationResultUuid) { - stateEstimationResultUuids.add(stateEstimationResultUuid); - } - - public void addPccMinResultUuid(UUID pccMinResultUuid) { - pccMinResultUuids.add(pccMinResultUuid); - } - public void addGroupUuids(List groupUuids) { this.groupUuids.addAll(groupUuids); } diff --git a/src/main/java/org/gridsuite/study/server/dto/NodeInfos.java b/src/main/java/org/gridsuite/study/server/dto/NodeInfos.java new file mode 100644 index 000000000..8b4fc2d13 --- /dev/null +++ b/src/main/java/org/gridsuite/study/server/dto/NodeInfos.java @@ -0,0 +1,133 @@ +/** + * Copyright (c) 2022 RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * 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.dto; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.*; + +/** + * @author Maissa Souissi + */ + +@NoArgsConstructor +@Getter +@Setter +public class NodeInfos { + + protected Set reportUuids = new HashSet<>(); + protected Set loadFlowResultUuids = new HashSet<>(); + protected Set securityAnalysisResultUuids = new HashSet<>(); + protected Set sensitivityAnalysisResultUuids = new HashSet<>(); + protected Set shortCircuitAnalysisResultUuids = new HashSet<>(); + protected Set oneBusShortCircuitAnalysisResultUuids = new HashSet<>(); + protected Set voltageInitResultUuids = new HashSet<>(); + protected Set dynamicSimulationResultUuids = new HashSet<>(); + protected Set dynamicSecurityAnalysisResultUuids = new HashSet<>(); + protected Set dynamicMarginCalculationResultUuids = new HashSet<>(); + protected Set stateEstimationResultUuids = new HashSet<>(); + protected Set pccMinResultUuids = new HashSet<>(); + + public List getReportUuids() { + return reportUuids.stream().toList(); + } + + public List getLoadFlowResultUuids() { + return loadFlowResultUuids.stream().toList(); + } + + public List getSecurityAnalysisResultUuids() { + return securityAnalysisResultUuids.stream().toList(); + } + + public List getSensitivityAnalysisResultUuids() { + return sensitivityAnalysisResultUuids.stream().toList(); + } + + public List getShortCircuitAnalysisResultUuids() { + return shortCircuitAnalysisResultUuids.stream().toList(); + } + + public List getOneBusShortCircuitAnalysisResultUuids() { + return oneBusShortCircuitAnalysisResultUuids.stream().toList(); + } + + public List getVoltageInitResultUuids() { + return voltageInitResultUuids.stream().toList(); + } + + public List getStateEstimationResultUuids() { + return stateEstimationResultUuids.stream().toList(); + } + + public List getPccMinResultUuids() { + return pccMinResultUuids.stream().toList(); + } + + public List getDynamicSimulationResultUuids() { + return dynamicSimulationResultUuids.stream().toList(); + } + + public List getDynamicSecurityAnalysisResultUuids() { + return dynamicSecurityAnalysisResultUuids.stream().toList(); + } + + public List getDynamicMarginCalculationResultUuids() { + return dynamicMarginCalculationResultUuids.stream().toList(); + } + + public void addReportUuid(UUID reportUuid) { + reportUuids.add(reportUuid); + } + + public void addLoadFlowResultUuid(UUID loadFlowResultUuid) { + loadFlowResultUuids.add(loadFlowResultUuid); + } + + public void addSecurityAnalysisResultUuid(UUID securityAnalysisResultUuid) { + securityAnalysisResultUuids.add(securityAnalysisResultUuid); + } + + public void addDynamicSimulationResultUuid(UUID dynamicSimulationResultUuid) { + dynamicSimulationResultUuids.add(dynamicSimulationResultUuid); + } + + public void addDynamicSecurityAnalysisResultUuid(UUID dynamicSecurityAnalysisResultUuid) { + dynamicSecurityAnalysisResultUuids.add(dynamicSecurityAnalysisResultUuid); + } + + public void addDynamicMarginCalculationResultUuid(UUID dynamicMarginCalculationResultUuid) { + dynamicMarginCalculationResultUuids.add(dynamicMarginCalculationResultUuid); + } + + public void addSensitivityAnalysisResultUuid(UUID sensitivityAnalysisResultUuid) { + sensitivityAnalysisResultUuids.add(sensitivityAnalysisResultUuid); + } + + public void addShortCircuitAnalysisResultUuid(UUID shortCircuitAnalysisResultUuid) { + shortCircuitAnalysisResultUuids.add(shortCircuitAnalysisResultUuid); + } + + public void addOneBusShortCircuitAnalysisResultUuid(UUID oneBusShortCircuitAnalysisResultUuid) { + oneBusShortCircuitAnalysisResultUuids.add(oneBusShortCircuitAnalysisResultUuid); + } + + public void addVoltageInitResultUuid(UUID voltageInitResultUuid) { + voltageInitResultUuids.add(voltageInitResultUuid); + } + + public void addStateEstimationResultUuid(UUID stateEstimationResultUuid) { + stateEstimationResultUuids.add(stateEstimationResultUuid); + } + + public void addPccMinResultUuid(UUID pccMinResultUuid) { + pccMinResultUuids.add(pccMinResultUuid); + } + +} From 44f58c70f58dc94d85f628b7b832ffaf53adf081 Mon Sep 17 00:00:00 2001 From: "SOUISSI Maissa (Externe)" Date: Mon, 23 Feb 2026 14:04:34 +0100 Subject: [PATCH 4/7] fixes Signed-off-by: SOUISSI Maissa (Externe) --- .../org/gridsuite/study/server/dto/DeleteNodeInfos.java | 3 +-- .../org/gridsuite/study/server/dto/InvalidateNodeInfos.java | 6 ------ src/main/java/org/gridsuite/study/server/dto/NodeInfos.java | 1 - 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java b/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java index 613925ecc..1bc9a2f28 100644 --- a/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java +++ b/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java @@ -20,10 +20,9 @@ @Getter @Setter public class DeleteNodeInfos extends NodeInfos { - private List removedNodeUuids = new ArrayList<>(); + private List removedNodeUuids = new ArrayList<>(); private List modificationGroupUuids = new ArrayList<>(); - private Map> variantIds = new HashMap<>(); public void addRemovedNodeUuid(UUID removedNodeUuid) { diff --git a/src/main/java/org/gridsuite/study/server/dto/InvalidateNodeInfos.java b/src/main/java/org/gridsuite/study/server/dto/InvalidateNodeInfos.java index 4b0b184d3..288912f85 100644 --- a/src/main/java/org/gridsuite/study/server/dto/InvalidateNodeInfos.java +++ b/src/main/java/org/gridsuite/study/server/dto/InvalidateNodeInfos.java @@ -26,8 +26,6 @@ public class InvalidateNodeInfos extends NodeInfos { private Set nodeUuids = new HashSet<>(); private Set groupUuids = new HashSet<>(); - - private Set reportUuids = new HashSet<>(); private Set variantIds = new HashSet<>(); public List getNodeUuids() { @@ -38,10 +36,6 @@ public List getGroupUuids() { return groupUuids.stream().toList(); } - public List getReportUuids() { - return reportUuids.stream().toList(); - } - public List getVariantIds() { return variantIds.stream().toList(); } diff --git a/src/main/java/org/gridsuite/study/server/dto/NodeInfos.java b/src/main/java/org/gridsuite/study/server/dto/NodeInfos.java index 8b4fc2d13..058a1f319 100644 --- a/src/main/java/org/gridsuite/study/server/dto/NodeInfos.java +++ b/src/main/java/org/gridsuite/study/server/dto/NodeInfos.java @@ -20,7 +20,6 @@ @Getter @Setter public class NodeInfos { - protected Set reportUuids = new HashSet<>(); protected Set loadFlowResultUuids = new HashSet<>(); protected Set securityAnalysisResultUuids = new HashSet<>(); From a5beb1175bc16fc50174d4c4090885d72628cb68 Mon Sep 17 00:00:00 2001 From: "SOUISSI Maissa (Externe)" Date: Mon, 23 Feb 2026 15:29:04 +0100 Subject: [PATCH 5/7] refactoring Signed-off-by: SOUISSI Maissa (Externe) --- .../RemoteNodeInfosDeletionService.java | 54 +++++++++++ .../service/RootNetworkNodeInfoService.java | 45 +++++----- .../study/server/service/StudyService.java | 89 +++++++++---------- .../server/rootnetworks/RootNetworkTest.java | 9 +- 4 files changed, 123 insertions(+), 74 deletions(-) create mode 100644 src/main/java/org/gridsuite/study/server/service/RemoteNodeInfosDeletionService.java diff --git a/src/main/java/org/gridsuite/study/server/service/RemoteNodeInfosDeletionService.java b/src/main/java/org/gridsuite/study/server/service/RemoteNodeInfosDeletionService.java new file mode 100644 index 000000000..e66fd9da3 --- /dev/null +++ b/src/main/java/org/gridsuite/study/server/service/RemoteNodeInfosDeletionService.java @@ -0,0 +1,54 @@ +/** + * Copyright (c) 2026 RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * 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; + +import lombok.RequiredArgsConstructor; + +import org.gridsuite.study.server.dto.NodeInfos; +import org.gridsuite.study.server.service.dynamicmargincalculation.DynamicMarginCalculationService; +import org.gridsuite.study.server.service.dynamicsecurityanalysis.DynamicSecurityAnalysisService; +import org.gridsuite.study.server.service.dynamicsimulation.DynamicSimulationService; +import org.gridsuite.study.server.service.shortcircuit.ShortCircuitService; +import org.springframework.stereotype.Service; + +import java.util.concurrent.CompletableFuture; + +@Service +@RequiredArgsConstructor +public class RemoteNodeInfosDeletionService { + + private final StudyServerExecutionService studyServerExecutionService; + private final ReportService reportService; + private final LoadFlowService loadFlowService; + private final SecurityAnalysisService securityAnalysisService; + private final SensitivityAnalysisService sensitivityAnalysisService; + private final ShortCircuitService shortCircuitService; + private final VoltageInitService voltageInitService; + private final DynamicSimulationService dynamicSimulationService; + private final DynamicSecurityAnalysisService dynamicSecurityAnalysisService; + private final DynamicMarginCalculationService dynamicMarginCalculationService; + private final StateEstimationService stateEstimationService; + private final PccMinService pccMinService; + + public CompletableFuture delete(NodeInfos infos) { + + return CompletableFuture.allOf( + studyServerExecutionService.runAsync(() -> reportService.deleteReports(infos.getReportUuids())), + studyServerExecutionService.runAsync(() -> loadFlowService.deleteLoadFlowResults(infos.getLoadFlowResultUuids())), + studyServerExecutionService.runAsync(() -> securityAnalysisService.deleteSecurityAnalysisResults(infos.getSecurityAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> sensitivityAnalysisService.deleteSensitivityAnalysisResults(infos.getSensitivityAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(infos.getShortCircuitAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(infos.getOneBusShortCircuitAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> voltageInitService.deleteVoltageInitResults(infos.getVoltageInitResultUuids())), + studyServerExecutionService.runAsync(() -> dynamicSimulationService.deleteResults(infos.getDynamicSimulationResultUuids())), + studyServerExecutionService.runAsync(() -> dynamicSecurityAnalysisService.deleteResults(infos.getDynamicSecurityAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> dynamicMarginCalculationService.deleteResults(infos.getDynamicMarginCalculationResultUuids())), + studyServerExecutionService.runAsync(() -> stateEstimationService.deleteStateEstimationResults(infos.getStateEstimationResultUuids())), + studyServerExecutionService.runAsync(() -> pccMinService.deletePccMinResults(infos.getPccMinResultUuids())) + ); + } +} diff --git a/src/main/java/org/gridsuite/study/server/service/RootNetworkNodeInfoService.java b/src/main/java/org/gridsuite/study/server/service/RootNetworkNodeInfoService.java index 43d192701..f670eb0a6 100644 --- a/src/main/java/org/gridsuite/study/server/service/RootNetworkNodeInfoService.java +++ b/src/main/java/org/gridsuite/study/server/service/RootNetworkNodeInfoService.java @@ -42,7 +42,6 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; -import java.util.concurrent.CompletableFuture; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -58,7 +57,7 @@ public class RootNetworkNodeInfoService { private final RootNetworkNodeInfoRepository rootNetworkNodeInfoRepository; private final NetworkModificationNodeInfoRepository networkModificationNodeInfoRepository; - private final StudyServerExecutionService studyServerExecutionService; + private final RemoteNodeInfosDeletionService remoteNodeInfosDeletionService; private final LoadFlowService loadFlowService; private final SecurityAnalysisService securityAnalysisService; private final SensitivityAnalysisService sensitivityAnalysisService; @@ -69,11 +68,10 @@ public class RootNetworkNodeInfoService { private final DynamicMarginCalculationService dynamicMarginCalculationService; private final StateEstimationService stateEstimationService; private final PccMinService pccMinService; - private final ReportService reportService; public RootNetworkNodeInfoService(RootNetworkNodeInfoRepository rootNetworkNodeInfoRepository, NetworkModificationNodeInfoRepository networkModificationNodeInfoRepository, - StudyServerExecutionService studyServerExecutionService, + RemoteNodeInfosDeletionService remoteNodeInfosDeletionService, LoadFlowService loadFlowService, SecurityAnalysisService securityAnalysisService, SensitivityAnalysisService sensitivityAnalysisService, @@ -87,7 +85,7 @@ public RootNetworkNodeInfoService(RootNetworkNodeInfoRepository rootNetworkNodeI ReportService reportService) { this.rootNetworkNodeInfoRepository = rootNetworkNodeInfoRepository; this.networkModificationNodeInfoRepository = networkModificationNodeInfoRepository; - this.studyServerExecutionService = studyServerExecutionService; + this.remoteNodeInfosDeletionService = remoteNodeInfosDeletionService; this.loadFlowService = loadFlowService; this.securityAnalysisService = securityAnalysisService; this.sensitivityAnalysisService = sensitivityAnalysisService; @@ -98,7 +96,6 @@ public RootNetworkNodeInfoService(RootNetworkNodeInfoRepository rootNetworkNodeI this.dynamicMarginCalculationService = dynamicMarginCalculationService; this.stateEstimationService = stateEstimationService; this.pccMinService = pccMinService; - this.reportService = reportService; } public void createRootNetworkLinks(@NonNull UUID studyUuid, @NonNull RootNetworkEntity rootNetworkEntity) { @@ -581,22 +578,26 @@ public void updateRootNetworkNode(UUID nodeUuid, UUID rootNetworkUuid, RootNetwo } } - public void deleteRootNetworkNodeRemoteInfos(List rootNetworkNodeInfo) { - CompletableFuture.allOf( - studyServerExecutionService.runAsync(() -> reportService.deleteReports(rootNetworkNodeInfo.stream().map(this::getReportUuids).flatMap(Collection::stream).toList())), - studyServerExecutionService.runAsync(() -> loadFlowService.deleteLoadFlowResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getLoadFlowResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> securityAnalysisService.deleteSecurityAnalysisResults(rootNetworkNodeInfo.stream() - .map(RootNetworkNodeInfo::getSecurityAnalysisResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> sensitivityAnalysisService.deleteSensitivityAnalysisResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getSensitivityAnalysisResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getShortCircuitAnalysisResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getOneBusShortCircuitAnalysisResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> voltageInitService.deleteVoltageInitResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getVoltageInitResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> dynamicSimulationService.deleteResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getDynamicSimulationResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> dynamicSecurityAnalysisService.deleteResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getDynamicSecurityAnalysisResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> dynamicMarginCalculationService.deleteResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getDynamicMarginCalculationResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> stateEstimationService.deleteStateEstimationResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getStateEstimationResultUuid).filter(Objects::nonNull).toList())), - studyServerExecutionService.runAsync(() -> pccMinService.deletePccMinResults(rootNetworkNodeInfo.stream().map(RootNetworkNodeInfo::getPccMinResultUuid).filter(Objects::nonNull).toList())) - ); + public void deleteRootNetworkNodeRemoteInfos(List entities) { + NodeInfos infos = new NodeInfos(); + + entities.forEach(e -> { + getReportUuids(e).forEach(infos::addReportUuid); + Optional.ofNullable(e.getLoadFlowResultUuid()).ifPresent(infos::addLoadFlowResultUuid); + Optional.ofNullable(e.getSecurityAnalysisResultUuid()).ifPresent(infos::addSecurityAnalysisResultUuid); + Optional.ofNullable(e.getSensitivityAnalysisResultUuid()).ifPresent(infos::addSensitivityAnalysisResultUuid); + Optional.ofNullable(e.getShortCircuitAnalysisResultUuid()).ifPresent(infos::addShortCircuitAnalysisResultUuid); + Optional.ofNullable(e.getOneBusShortCircuitAnalysisResultUuid()).ifPresent(infos::addOneBusShortCircuitAnalysisResultUuid); + Optional.ofNullable(e.getVoltageInitResultUuid()).ifPresent(infos::addVoltageInitResultUuid); + Optional.ofNullable(e.getDynamicSimulationResultUuid()).ifPresent(infos::addDynamicSimulationResultUuid); + Optional.ofNullable(e.getDynamicSecurityAnalysisResultUuid()).ifPresent(infos::addDynamicSecurityAnalysisResultUuid); + Optional.ofNullable(e.getDynamicMarginCalculationResultUuid()).ifPresent(infos::addDynamicMarginCalculationResultUuid); + Optional.ofNullable(e.getStateEstimationResultUuid()).ifPresent(infos::addStateEstimationResultUuid); + Optional.ofNullable(e.getPccMinResultUuid()).ifPresent(infos::addPccMinResultUuid); + + }); + + remoteNodeInfosDeletionService.delete(infos); } @Transactional 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 a31716c63..250b8efb4 100644 --- a/src/main/java/org/gridsuite/study/server/service/StudyService.java +++ b/src/main/java/org/gridsuite/study/server/service/StudyService.java @@ -114,6 +114,7 @@ public class StudyService { private final NetworkService networkStoreService; private final NetworkModificationService networkModificationService; private final ReportService reportService; + private final RemoteNodeInfosDeletionService remoteNodeInfosDeletionService; private final UserAdminService userAdminService; private final StudyInfosService studyInfosService; private final EquipmentInfosService equipmentInfosService; @@ -168,49 +169,50 @@ public enum ReportType { @Autowired public StudyService( - @Value("${dynamic-simulation.default-provider}") String defaultDynamicSimulationProvider, - StudyRepository studyRepository, - StudyCreationRequestRepository studyCreationRequestRepository, - NetworkService networkStoreService, - NetworkModificationService networkModificationService, - ReportService reportService, - UserAdminService userAdminService, - StudyInfosService studyInfosService, - EquipmentInfosService equipmentInfosService, - NetworkModificationTreeService networkModificationTreeService, - ObjectMapper objectMapper, - StudyServerExecutionService studyServerExecutionService, - NotificationService notificationService, - LoadFlowService loadflowService, - ShortCircuitService shortCircuitService, - SingleLineDiagramService singleLineDiagramService, - NetworkConversionService networkConversionService, - GeoDataService geoDataService, - NetworkMapService networkMapService, - SecurityAnalysisService securityAnalysisService, - ActionsService actionsService, - CaseService caseService, - SensitivityAnalysisService sensitivityAnalysisService, - DynamicSimulationService dynamicSimulationService, - DynamicSecurityAnalysisService dynamicSecurityAnalysisService, - DynamicMarginCalculationService dynamicMarginCalculationService, - VoltageInitService voltageInitService, - DynamicSimulationEventService dynamicSimulationEventService, - StudyConfigService studyConfigService, - NadConfigService nadConfigService, - FilterService filterService, - StateEstimationService stateEstimationService, - PccMinService pccMinService, - @Lazy StudyService studyService, - RootNetworkService rootNetworkService, - RootNetworkNodeInfoService rootNetworkNodeInfoService, - DirectoryService directoryService) { + @Value("${dynamic-simulation.default-provider}") String defaultDynamicSimulationProvider, + StudyRepository studyRepository, + StudyCreationRequestRepository studyCreationRequestRepository, + NetworkService networkStoreService, + NetworkModificationService networkModificationService, + ReportService reportService, RemoteNodeInfosDeletionService remoteNodeInfosDeletionService, + UserAdminService userAdminService, + StudyInfosService studyInfosService, + EquipmentInfosService equipmentInfosService, + NetworkModificationTreeService networkModificationTreeService, + ObjectMapper objectMapper, + StudyServerExecutionService studyServerExecutionService, + NotificationService notificationService, + LoadFlowService loadflowService, + ShortCircuitService shortCircuitService, + SingleLineDiagramService singleLineDiagramService, + NetworkConversionService networkConversionService, + GeoDataService geoDataService, + NetworkMapService networkMapService, + SecurityAnalysisService securityAnalysisService, + ActionsService actionsService, + CaseService caseService, + SensitivityAnalysisService sensitivityAnalysisService, + DynamicSimulationService dynamicSimulationService, + DynamicSecurityAnalysisService dynamicSecurityAnalysisService, + DynamicMarginCalculationService dynamicMarginCalculationService, + VoltageInitService voltageInitService, + DynamicSimulationEventService dynamicSimulationEventService, + StudyConfigService studyConfigService, + NadConfigService nadConfigService, + FilterService filterService, + StateEstimationService stateEstimationService, + PccMinService pccMinService, + @Lazy StudyService studyService, + RootNetworkService rootNetworkService, + RootNetworkNodeInfoService rootNetworkNodeInfoService, + DirectoryService directoryService) { this.defaultDynamicSimulationProvider = defaultDynamicSimulationProvider; this.studyRepository = studyRepository; this.studyCreationRequestRepository = studyCreationRequestRepository; this.networkStoreService = networkStoreService; this.networkModificationService = networkModificationService; this.reportService = reportService; + this.remoteNodeInfosDeletionService = remoteNodeInfosDeletionService; this.userAdminService = userAdminService; this.studyInfosService = studyInfosService; this.equipmentInfosService = equipmentInfosService; @@ -2350,18 +2352,7 @@ private CompletableFuture deleteInvalidationInfos(InvalidateNodeInfos inva return CompletableFuture.allOf( studyServerExecutionService.runAsync(() -> networkStoreService.deleteVariants(invalidateNodeInfos.getNetworkUuid(), invalidateNodeInfos.getVariantIds())), studyServerExecutionService.runAsync(() -> networkModificationService.deleteIndexedModifications(invalidateNodeInfos.getGroupUuids(), invalidateNodeInfos.getNetworkUuid())), - studyServerExecutionService.runAsync(() -> reportService.deleteReports(invalidateNodeInfos.getReportUuids())), - studyServerExecutionService.runAsync(() -> loadflowService.deleteLoadFlowResults(invalidateNodeInfos.getLoadFlowResultUuids())), - studyServerExecutionService.runAsync(() -> securityAnalysisService.deleteSecurityAnalysisResults(invalidateNodeInfos.getSecurityAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> sensitivityAnalysisService.deleteSensitivityAnalysisResults(invalidateNodeInfos.getSensitivityAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(invalidateNodeInfos.getShortCircuitAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(invalidateNodeInfos.getOneBusShortCircuitAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> voltageInitService.deleteVoltageInitResults(invalidateNodeInfos.getVoltageInitResultUuids())), - studyServerExecutionService.runAsync(() -> dynamicSimulationService.deleteResults(invalidateNodeInfos.getDynamicSimulationResultUuids())), - studyServerExecutionService.runAsync(() -> dynamicSecurityAnalysisService.deleteResults(invalidateNodeInfos.getDynamicSecurityAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> dynamicMarginCalculationService.deleteResults(invalidateNodeInfos.getDynamicMarginCalculationResultUuids())), - studyServerExecutionService.runAsync(() -> stateEstimationService.deleteStateEstimationResults(invalidateNodeInfos.getStateEstimationResultUuids())), - studyServerExecutionService.runAsync(() -> pccMinService.deletePccMinResults(invalidateNodeInfos.getPccMinResultUuids())) + remoteNodeInfosDeletionService.delete(invalidateNodeInfos) ); } diff --git a/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java b/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java index 243d9bb2e..430a54886 100644 --- a/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java +++ b/src/test/java/org/gridsuite/study/server/rootnetworks/RootNetworkTest.java @@ -62,8 +62,7 @@ import static org.gridsuite.study.server.StudyConstants.*; import static org.gridsuite.study.server.utils.TestUtils.createModificationNodeInfo; import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.springframework.http.MediaType.APPLICATION_JSON; @@ -550,7 +549,11 @@ void testDeleteRootNetwork() throws Exception { verify(dynamicSecurityAnalysisService, times(1)).deleteResults(List.of(DYNAMIC_SECURITY_ANALYSIS_RESULT_UUID)); verify(dynamicMarginCalculationService, times(1)).deleteResults(List.of(DYNAMIC_MARGIN_CALCULATION_RESULT_UUID)); // check LOADFLOW_RESULT_UUID2 is also deleted - verify(loadFlowService, times(1)).deleteLoadFlowResults(List.of(LOADFLOW_RESULT_UUID, LOADFLOW_RESULT_UUID2)); + verify(loadFlowService).deleteLoadFlowResults( + argThat(list -> new HashSet<>(list).equals( + Set.of(LOADFLOW_RESULT_UUID, LOADFLOW_RESULT_UUID2) + )) + ); verify(securityAnalysisService, times(1)).deleteSecurityAnalysisResults(List.of(SECURITY_ANALYSIS_RESULT_UUID)); verify(shortCircuitService, times(1)).deleteShortCircuitAnalysisResults(List.of(SHORT_CIRCUIT_ANALYSIS_RESULT_UUID)); verify(shortCircuitService, times(1)).deleteShortCircuitAnalysisResults(List.of(ONE_BUS_SHORT_CIRCUIT_ANALYSIS_RESULT_UUID)); From 239782247c779d17afc1e98a87e5944c1fa3233a Mon Sep 17 00:00:00 2001 From: "SOUISSI Maissa (Externe)" Date: Mon, 23 Feb 2026 21:12:38 +0100 Subject: [PATCH 6/7] test Signed-off-by: SOUISSI Maissa (Externe) --- .../service/RootNetworkNodeInfoService.java | 26 ++++++++++++++++--- .../study/server/service/StudyService.java | 20 +++----------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/gridsuite/study/server/service/RootNetworkNodeInfoService.java b/src/main/java/org/gridsuite/study/server/service/RootNetworkNodeInfoService.java index f670eb0a6..ec8920ba0 100644 --- a/src/main/java/org/gridsuite/study/server/service/RootNetworkNodeInfoService.java +++ b/src/main/java/org/gridsuite/study/server/service/RootNetworkNodeInfoService.java @@ -42,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -57,8 +58,8 @@ public class RootNetworkNodeInfoService { private final RootNetworkNodeInfoRepository rootNetworkNodeInfoRepository; private final NetworkModificationNodeInfoRepository networkModificationNodeInfoRepository; - private final RemoteNodeInfosDeletionService remoteNodeInfosDeletionService; private final LoadFlowService loadFlowService; + private final ReportService reportService; private final SecurityAnalysisService securityAnalysisService; private final SensitivityAnalysisService sensitivityAnalysisService; private final ShortCircuitService shortCircuitService; @@ -68,10 +69,10 @@ public class RootNetworkNodeInfoService { private final DynamicMarginCalculationService dynamicMarginCalculationService; private final StateEstimationService stateEstimationService; private final PccMinService pccMinService; + StudyServerExecutionService studyServerExecutionService; public RootNetworkNodeInfoService(RootNetworkNodeInfoRepository rootNetworkNodeInfoRepository, NetworkModificationNodeInfoRepository networkModificationNodeInfoRepository, - RemoteNodeInfosDeletionService remoteNodeInfosDeletionService, LoadFlowService loadFlowService, SecurityAnalysisService securityAnalysisService, SensitivityAnalysisService sensitivityAnalysisService, @@ -85,7 +86,6 @@ public RootNetworkNodeInfoService(RootNetworkNodeInfoRepository rootNetworkNodeI ReportService reportService) { this.rootNetworkNodeInfoRepository = rootNetworkNodeInfoRepository; this.networkModificationNodeInfoRepository = networkModificationNodeInfoRepository; - this.remoteNodeInfosDeletionService = remoteNodeInfosDeletionService; this.loadFlowService = loadFlowService; this.securityAnalysisService = securityAnalysisService; this.sensitivityAnalysisService = sensitivityAnalysisService; @@ -96,6 +96,7 @@ public RootNetworkNodeInfoService(RootNetworkNodeInfoRepository rootNetworkNodeI this.dynamicMarginCalculationService = dynamicMarginCalculationService; this.stateEstimationService = stateEstimationService; this.pccMinService = pccMinService; + this.reportService = reportService; } public void createRootNetworkLinks(@NonNull UUID studyUuid, @NonNull RootNetworkEntity rootNetworkEntity) { @@ -597,7 +598,7 @@ public void deleteRootNetworkNodeRemoteInfos(List entities) }); - remoteNodeInfosDeletionService.delete(infos); + deleteRemoteNodeInfos(infos); } @Transactional @@ -629,6 +630,23 @@ public void assertComputationNotRunning(UUID nodeUuid, UUID rootNetworkUuid) { pccMinService.assertPccMinNotRunning(getComputationResultUuid(nodeUuid, rootNetworkUuid, PCC_MIN)); } + public CompletableFuture deleteRemoteNodeInfos(NodeInfos infos) { + return CompletableFuture.allOf( + studyServerExecutionService.runAsync(() -> reportService.deleteReports(infos.getReportUuids())), + studyServerExecutionService.runAsync(() -> loadFlowService.deleteLoadFlowResults(infos.getLoadFlowResultUuids())), + studyServerExecutionService.runAsync(() -> securityAnalysisService.deleteSecurityAnalysisResults(infos.getSecurityAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> sensitivityAnalysisService.deleteSensitivityAnalysisResults(infos.getSensitivityAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(infos.getShortCircuitAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(infos.getOneBusShortCircuitAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> voltageInitService.deleteVoltageInitResults(infos.getVoltageInitResultUuids())), + studyServerExecutionService.runAsync(() -> dynamicSimulationService.deleteResults(infos.getDynamicSimulationResultUuids())), + studyServerExecutionService.runAsync(() -> dynamicSecurityAnalysisService.deleteResults(infos.getDynamicSecurityAnalysisResultUuids())), + studyServerExecutionService.runAsync(() -> dynamicMarginCalculationService.deleteResults(infos.getDynamicMarginCalculationResultUuids())), + studyServerExecutionService.runAsync(() -> stateEstimationService.deleteStateEstimationResults(infos.getStateEstimationResultUuids())), + studyServerExecutionService.runAsync(() -> pccMinService.deletePccMinResults(infos.getPccMinResultUuids())) + ); + } + /*************************** * GET COMPUTATION RESULTS * ***************************/ 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 250b8efb4..7e51e0211 100644 --- a/src/main/java/org/gridsuite/study/server/service/StudyService.java +++ b/src/main/java/org/gridsuite/study/server/service/StudyService.java @@ -114,7 +114,6 @@ public class StudyService { private final NetworkService networkStoreService; private final NetworkModificationService networkModificationService; private final ReportService reportService; - private final RemoteNodeInfosDeletionService remoteNodeInfosDeletionService; private final UserAdminService userAdminService; private final StudyInfosService studyInfosService; private final EquipmentInfosService equipmentInfosService; @@ -174,7 +173,7 @@ public StudyService( StudyCreationRequestRepository studyCreationRequestRepository, NetworkService networkStoreService, NetworkModificationService networkModificationService, - ReportService reportService, RemoteNodeInfosDeletionService remoteNodeInfosDeletionService, + ReportService reportService, UserAdminService userAdminService, StudyInfosService studyInfosService, EquipmentInfosService equipmentInfosService, @@ -212,7 +211,6 @@ public StudyService( this.networkStoreService = networkStoreService; this.networkModificationService = networkModificationService; this.reportService = reportService; - this.remoteNodeInfosDeletionService = remoteNodeInfosDeletionService; this.userAdminService = userAdminService; this.studyInfosService = studyInfosService; this.equipmentInfosService = equipmentInfosService; @@ -2352,7 +2350,7 @@ private CompletableFuture deleteInvalidationInfos(InvalidateNodeInfos inva return CompletableFuture.allOf( studyServerExecutionService.runAsync(() -> networkStoreService.deleteVariants(invalidateNodeInfos.getNetworkUuid(), invalidateNodeInfos.getVariantIds())), studyServerExecutionService.runAsync(() -> networkModificationService.deleteIndexedModifications(invalidateNodeInfos.getGroupUuids(), invalidateNodeInfos.getNetworkUuid())), - remoteNodeInfosDeletionService.delete(invalidateNodeInfos) + rootNetworkNodeInfoService.deleteRemoteNodeInfos(invalidateNodeInfos) ); } @@ -2362,18 +2360,8 @@ private void deleteNodesInfos(DeleteNodeInfos deleteNodeInfos) { studyServerExecutionService.runAsync(() -> deleteNodeInfos.getVariantIds().forEach(networkStoreService::deleteVariants)), studyServerExecutionService.runAsync(() -> deleteNodeInfos.getModificationGroupUuids().forEach(networkModificationService::deleteModifications)), studyServerExecutionService.runAsync(() -> deleteNodeInfos.getRemovedNodeUuids().forEach(dynamicSimulationEventService::deleteEventsByNodeId)), - studyServerExecutionService.runAsync(() -> reportService.deleteReports(deleteNodeInfos.getReportUuids())), - studyServerExecutionService.runAsync(() -> loadflowService.deleteLoadFlowResults(deleteNodeInfos.getLoadFlowResultUuids())), - studyServerExecutionService.runAsync(() -> securityAnalysisService.deleteSecurityAnalysisResults(deleteNodeInfos.getSecurityAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> sensitivityAnalysisService.deleteSensitivityAnalysisResults(deleteNodeInfos.getSensitivityAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(deleteNodeInfos.getShortCircuitAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(deleteNodeInfos.getOneBusShortCircuitAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> voltageInitService.deleteVoltageInitResults(deleteNodeInfos.getVoltageInitResultUuids())), - studyServerExecutionService.runAsync(() -> dynamicSimulationService.deleteResults(deleteNodeInfos.getDynamicSimulationResultUuids())), - studyServerExecutionService.runAsync(() -> dynamicSecurityAnalysisService.deleteResults(deleteNodeInfos.getDynamicSecurityAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> dynamicMarginCalculationService.deleteResults(deleteNodeInfos.getDynamicMarginCalculationResultUuids())), - studyServerExecutionService.runAsync(() -> stateEstimationService.deleteStateEstimationResults(deleteNodeInfos.getStateEstimationResultUuids())), - studyServerExecutionService.runAsync(() -> pccMinService.deletePccMinResults(deleteNodeInfos.getPccMinResultUuids())) + rootNetworkNodeInfoService.deleteRemoteNodeInfos(deleteNodeInfos) + ); } From 22fbac0df9ceb7b85e38966712de830a3caae7ad Mon Sep 17 00:00:00 2001 From: "SOUISSI Maissa (Externe)" Date: Mon, 23 Feb 2026 21:18:51 +0100 Subject: [PATCH 7/7] unused service Signed-off-by: SOUISSI Maissa (Externe) --- .../study/server/dto/DeleteNodeInfos.java | 1 + .../RemoteNodeInfosDeletionService.java | 54 ------------------- 2 files changed, 1 insertion(+), 54 deletions(-) delete mode 100644 src/main/java/org/gridsuite/study/server/service/RemoteNodeInfosDeletionService.java diff --git a/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java b/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java index 1bc9a2f28..5d047db9a 100644 --- a/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java +++ b/src/main/java/org/gridsuite/study/server/dto/DeleteNodeInfos.java @@ -22,6 +22,7 @@ public class DeleteNodeInfos extends NodeInfos { private List removedNodeUuids = new ArrayList<>(); + private List modificationGroupUuids = new ArrayList<>(); private Map> variantIds = new HashMap<>(); diff --git a/src/main/java/org/gridsuite/study/server/service/RemoteNodeInfosDeletionService.java b/src/main/java/org/gridsuite/study/server/service/RemoteNodeInfosDeletionService.java deleted file mode 100644 index e66fd9da3..000000000 --- a/src/main/java/org/gridsuite/study/server/service/RemoteNodeInfosDeletionService.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2026 RTE (http://www.rte-france.com) - * This Source Code Form is subject to the terms of the Mozilla Public - * 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; - -import lombok.RequiredArgsConstructor; - -import org.gridsuite.study.server.dto.NodeInfos; -import org.gridsuite.study.server.service.dynamicmargincalculation.DynamicMarginCalculationService; -import org.gridsuite.study.server.service.dynamicsecurityanalysis.DynamicSecurityAnalysisService; -import org.gridsuite.study.server.service.dynamicsimulation.DynamicSimulationService; -import org.gridsuite.study.server.service.shortcircuit.ShortCircuitService; -import org.springframework.stereotype.Service; - -import java.util.concurrent.CompletableFuture; - -@Service -@RequiredArgsConstructor -public class RemoteNodeInfosDeletionService { - - private final StudyServerExecutionService studyServerExecutionService; - private final ReportService reportService; - private final LoadFlowService loadFlowService; - private final SecurityAnalysisService securityAnalysisService; - private final SensitivityAnalysisService sensitivityAnalysisService; - private final ShortCircuitService shortCircuitService; - private final VoltageInitService voltageInitService; - private final DynamicSimulationService dynamicSimulationService; - private final DynamicSecurityAnalysisService dynamicSecurityAnalysisService; - private final DynamicMarginCalculationService dynamicMarginCalculationService; - private final StateEstimationService stateEstimationService; - private final PccMinService pccMinService; - - public CompletableFuture delete(NodeInfos infos) { - - return CompletableFuture.allOf( - studyServerExecutionService.runAsync(() -> reportService.deleteReports(infos.getReportUuids())), - studyServerExecutionService.runAsync(() -> loadFlowService.deleteLoadFlowResults(infos.getLoadFlowResultUuids())), - studyServerExecutionService.runAsync(() -> securityAnalysisService.deleteSecurityAnalysisResults(infos.getSecurityAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> sensitivityAnalysisService.deleteSensitivityAnalysisResults(infos.getSensitivityAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(infos.getShortCircuitAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> shortCircuitService.deleteShortCircuitAnalysisResults(infos.getOneBusShortCircuitAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> voltageInitService.deleteVoltageInitResults(infos.getVoltageInitResultUuids())), - studyServerExecutionService.runAsync(() -> dynamicSimulationService.deleteResults(infos.getDynamicSimulationResultUuids())), - studyServerExecutionService.runAsync(() -> dynamicSecurityAnalysisService.deleteResults(infos.getDynamicSecurityAnalysisResultUuids())), - studyServerExecutionService.runAsync(() -> dynamicMarginCalculationService.deleteResults(infos.getDynamicMarginCalculationResultUuids())), - studyServerExecutionService.runAsync(() -> stateEstimationService.deleteStateEstimationResults(infos.getStateEstimationResultUuids())), - studyServerExecutionService.runAsync(() -> pccMinService.deletePccMinResults(infos.getPccMinResultUuids())) - ); - } -}