@@ -1975,33 +1975,6 @@ public void invalidateBlockedBuildNodeTree(UUID studyUuid, UUID nodeUuid) {
1975
1975
);
1976
1976
}
1977
1977
1978
- private void deleteInvalidationInfos (InvalidateNodeInfos invalidateNodeInfos ) {
1979
- CompletableFuture <Void > executeInParallel = CompletableFuture .allOf (
1980
- studyServerExecutionService .runAsync (() -> networkModificationService .deleteIndexedModifications (invalidateNodeInfos .getGroupUuids (), invalidateNodeInfos .getNetworkUuid ())),
1981
- studyServerExecutionService .runAsync (() -> networkStoreService .deleteVariants (invalidateNodeInfos .getNetworkUuid (), invalidateNodeInfos .getVariantIds ())),
1982
- studyServerExecutionService .runAsync (() -> reportService .deleteReports (invalidateNodeInfos .getReportUuids ())),
1983
- studyServerExecutionService .runAsync (() -> loadflowService .deleteLoadFlowResults (invalidateNodeInfos .getLoadFlowResultUuids ())),
1984
- studyServerExecutionService .runAsync (() -> securityAnalysisService .deleteSecurityAnalysisResults (invalidateNodeInfos .getSecurityAnalysisResultUuids ())),
1985
- studyServerExecutionService .runAsync (() -> sensitivityAnalysisService .deleteSensitivityAnalysisResults (invalidateNodeInfos .getSensitivityAnalysisResultUuids ())),
1986
- studyServerExecutionService .runAsync (() -> nonEvacuatedEnergyService .deleteNonEvacuatedEnergyResults (invalidateNodeInfos .getNonEvacuatedEnergyResultUuids ())),
1987
- studyServerExecutionService .runAsync (() -> shortCircuitService .deleteShortCircuitAnalysisResults (invalidateNodeInfos .getShortCircuitAnalysisResultUuids ())),
1988
- studyServerExecutionService .runAsync (() -> shortCircuitService .deleteShortCircuitAnalysisResults (invalidateNodeInfos .getOneBusShortCircuitAnalysisResultUuids ())),
1989
- studyServerExecutionService .runAsync (() -> voltageInitService .deleteVoltageInitResults (invalidateNodeInfos .getVoltageInitResultUuids ())),
1990
- studyServerExecutionService .runAsync (() -> dynamicSimulationService .deleteResults (invalidateNodeInfos .getDynamicSimulationResultUuids ())),
1991
- studyServerExecutionService .runAsync (() -> dynamicSecurityAnalysisService .deleteResults (invalidateNodeInfos .getDynamicSecurityAnalysisResultUuids ())),
1992
- studyServerExecutionService .runAsync (() -> stateEstimationService .deleteStateEstimationResults (invalidateNodeInfos .getStateEstimationResultUuids ()))
1993
- );
1994
- try {
1995
- executeInParallel .get ();
1996
- } catch (InterruptedException e ) {
1997
- Thread .currentThread ().interrupt ();
1998
- throw new StudyException (INVALIDATE_BUILD_FAILED , e .getMessage ());
1999
- } catch (Exception e ) {
2000
- throw new StudyException (INVALIDATE_BUILD_FAILED , e .getMessage ());
2001
- }
2002
-
2003
- }
2004
-
2005
1978
@ Transactional
2006
1979
public void deleteNetworkModifications (UUID studyUuid , UUID nodeUuid , List <UUID > modificationsUuids , String userId ) {
2007
1980
List <UUID > childrenUuids = networkModificationTreeService .getChildrenUuids (nodeUuid );
@@ -2115,47 +2088,62 @@ public void deleteNodes(UUID studyUuid, List<UUID> nodeIds, boolean deleteChildr
2115
2088
2116
2089
boolean invalidateChildrenBuild = !deleteChildren && networkModificationTreeService .hasModifications (nodeId , false );
2117
2090
List <NodeEntity > childrenNodes = networkModificationTreeService .getChildren (nodeId );
2118
- List <UUID > removedNodes = networkModificationTreeService .doDeleteNode (nodeId , deleteChildren , deleteNodeInfos );
2119
-
2120
- CompletableFuture <Void > executeInParallel = CompletableFuture .allOf (
2121
- studyServerExecutionService .runAsync (() -> deleteNodeInfos .getModificationGroupUuids ().forEach (networkModificationService ::deleteModifications )),
2122
- studyServerExecutionService .runAsync (() -> reportService .deleteReports (deleteNodeInfos .getReportUuids ())),
2123
- studyServerExecutionService .runAsync (() -> loadflowService .deleteLoadFlowResults (deleteNodeInfos .getLoadFlowResultUuids ())),
2124
- studyServerExecutionService .runAsync (() -> securityAnalysisService .deleteSecurityAnalysisResults (deleteNodeInfos .getSecurityAnalysisResultUuids ())),
2125
- studyServerExecutionService .runAsync (() -> sensitivityAnalysisService .deleteSensitivityAnalysisResults (deleteNodeInfos .getSensitivityAnalysisResultUuids ())),
2126
- studyServerExecutionService .runAsync (() -> nonEvacuatedEnergyService .deleteNonEvacuatedEnergyResults (deleteNodeInfos .getNonEvacuatedEnergyResultUuids ())),
2127
- studyServerExecutionService .runAsync (() -> shortCircuitService .deleteShortCircuitAnalysisResults (deleteNodeInfos .getShortCircuitAnalysisResultUuids ())),
2128
- studyServerExecutionService .runAsync (() -> shortCircuitService .deleteShortCircuitAnalysisResults (deleteNodeInfos .getOneBusShortCircuitAnalysisResultUuids ())),
2129
- studyServerExecutionService .runAsync (() -> voltageInitService .deleteVoltageInitResults (deleteNodeInfos .getVoltageInitResultUuids ())),
2130
- studyServerExecutionService .runAsync (() -> dynamicSimulationService .deleteResults (deleteNodeInfos .getDynamicSimulationResultUuids ())),
2131
- studyServerExecutionService .runAsync (() -> dynamicSecurityAnalysisService .deleteResults (deleteNodeInfos .getDynamicSecurityAnalysisResultUuids ())),
2132
- studyServerExecutionService .runAsync (() -> stateEstimationService .deleteStateEstimationResults (deleteNodeInfos .getStateEstimationResultUuids ())),
2133
- studyServerExecutionService .runAsync (() -> deleteNodeInfos .getVariantIds ().forEach (networkStoreService ::deleteVariants )),
2134
- studyServerExecutionService .runAsync (() -> removedNodes .forEach (dynamicSimulationEventService ::deleteEventsByNodeId ))
2135
- );
2091
+ networkModificationTreeService .doDeleteNode (nodeId , deleteChildren , deleteNodeInfos );
2136
2092
2137
- try {
2138
- executeInParallel .get ();
2139
- } catch (InterruptedException e ) {
2140
- Thread .currentThread ().interrupt ();
2141
- throw new StudyException (DELETE_NODE_FAILED , e .getMessage ());
2142
- } catch (Exception e ) {
2143
- throw new StudyException (DELETE_NODE_FAILED , e .getMessage ());
2093
+ if (invalidateChildrenBuild ) {
2094
+ childrenNodes .forEach (nodeEntity -> invalidateNodeTree (studyUuid , nodeEntity .getIdNode ()));
2144
2095
}
2145
2096
2146
2097
if (startTime .get () != null && LOGGER .isTraceEnabled ()) {
2147
2098
LOGGER .trace ("Delete node '{}' of study '{}' : {} seconds" , nodeId .toString ().replaceAll ("[\n \r ]" , "_" ), studyUuid ,
2148
- TimeUnit .NANOSECONDS .toSeconds (System .nanoTime () - startTime .get ()));
2149
- }
2150
-
2151
- if (invalidateChildrenBuild ) {
2152
- childrenNodes .forEach (nodeEntity -> invalidateNodeTree (studyUuid , nodeEntity .getIdNode ()));
2099
+ TimeUnit .NANOSECONDS .toSeconds (System .nanoTime () - startTime .get ()));
2153
2100
}
2154
2101
}
2155
2102
2103
+ deleteNodesInfos (deleteNodeInfos );
2104
+
2156
2105
notificationService .emitElementUpdated (studyUuid , userId );
2157
2106
}
2158
2107
2108
+ // /!\ Do not wait completion and do not throw exception
2109
+ private void deleteInvalidationInfos (InvalidateNodeInfos invalidateNodeInfos ) {
2110
+ CompletableFuture .allOf (
2111
+ studyServerExecutionService .runAsyncAndComplete (() -> networkStoreService .deleteVariants (invalidateNodeInfos .getNetworkUuid (), invalidateNodeInfos .getVariantIds ())),
2112
+ studyServerExecutionService .runAsyncAndComplete (() -> networkModificationService .deleteIndexedModifications (invalidateNodeInfos .getGroupUuids (), invalidateNodeInfos .getNetworkUuid ())),
2113
+ studyServerExecutionService .runAsyncAndComplete (() -> reportService .deleteReports (invalidateNodeInfos .getReportUuids ())),
2114
+ studyServerExecutionService .runAsyncAndComplete (() -> loadflowService .deleteLoadFlowResults (invalidateNodeInfos .getLoadFlowResultUuids ())),
2115
+ studyServerExecutionService .runAsyncAndComplete (() -> securityAnalysisService .deleteSecurityAnalysisResults (invalidateNodeInfos .getSecurityAnalysisResultUuids ())),
2116
+ studyServerExecutionService .runAsyncAndComplete (() -> sensitivityAnalysisService .deleteSensitivityAnalysisResults (invalidateNodeInfos .getSensitivityAnalysisResultUuids ())),
2117
+ studyServerExecutionService .runAsyncAndComplete (() -> nonEvacuatedEnergyService .deleteNonEvacuatedEnergyResults (invalidateNodeInfos .getNonEvacuatedEnergyResultUuids ())),
2118
+ studyServerExecutionService .runAsyncAndComplete (() -> shortCircuitService .deleteShortCircuitAnalysisResults (invalidateNodeInfos .getShortCircuitAnalysisResultUuids ())),
2119
+ studyServerExecutionService .runAsyncAndComplete (() -> shortCircuitService .deleteShortCircuitAnalysisResults (invalidateNodeInfos .getOneBusShortCircuitAnalysisResultUuids ())),
2120
+ studyServerExecutionService .runAsyncAndComplete (() -> voltageInitService .deleteVoltageInitResults (invalidateNodeInfos .getVoltageInitResultUuids ())),
2121
+ studyServerExecutionService .runAsyncAndComplete (() -> dynamicSimulationService .deleteResults (invalidateNodeInfos .getDynamicSimulationResultUuids ())),
2122
+ studyServerExecutionService .runAsyncAndComplete (() -> dynamicSecurityAnalysisService .deleteResults (invalidateNodeInfos .getDynamicSecurityAnalysisResultUuids ())),
2123
+ studyServerExecutionService .runAsyncAndComplete (() -> stateEstimationService .deleteStateEstimationResults (invalidateNodeInfos .getStateEstimationResultUuids ()))
2124
+ );
2125
+ }
2126
+
2127
+ // /!\ Do not wait completion and do not throw exception
2128
+ private void deleteNodesInfos (DeleteNodeInfos deleteNodeInfos ) {
2129
+ CompletableFuture .allOf (
2130
+ studyServerExecutionService .runAsyncAndComplete (() -> deleteNodeInfos .getVariantIds ().forEach (networkStoreService ::deleteVariants )),
2131
+ studyServerExecutionService .runAsyncAndComplete (() -> deleteNodeInfos .getModificationGroupUuids ().forEach (networkModificationService ::deleteModifications )),
2132
+ studyServerExecutionService .runAsyncAndComplete (() -> deleteNodeInfos .getRemovedNodeUuids ().forEach (dynamicSimulationEventService ::deleteEventsByNodeId )),
2133
+ studyServerExecutionService .runAsyncAndComplete (() -> reportService .deleteReports (deleteNodeInfos .getReportUuids ())),
2134
+ studyServerExecutionService .runAsyncAndComplete (() -> loadflowService .deleteLoadFlowResults (deleteNodeInfos .getLoadFlowResultUuids ())),
2135
+ studyServerExecutionService .runAsyncAndComplete (() -> securityAnalysisService .deleteSecurityAnalysisResults (deleteNodeInfos .getSecurityAnalysisResultUuids ())),
2136
+ studyServerExecutionService .runAsyncAndComplete (() -> sensitivityAnalysisService .deleteSensitivityAnalysisResults (deleteNodeInfos .getSensitivityAnalysisResultUuids ())),
2137
+ studyServerExecutionService .runAsyncAndComplete (() -> nonEvacuatedEnergyService .deleteNonEvacuatedEnergyResults (deleteNodeInfos .getNonEvacuatedEnergyResultUuids ())),
2138
+ studyServerExecutionService .runAsyncAndComplete (() -> shortCircuitService .deleteShortCircuitAnalysisResults (deleteNodeInfos .getShortCircuitAnalysisResultUuids ())),
2139
+ studyServerExecutionService .runAsyncAndComplete (() -> shortCircuitService .deleteShortCircuitAnalysisResults (deleteNodeInfos .getOneBusShortCircuitAnalysisResultUuids ())),
2140
+ studyServerExecutionService .runAsyncAndComplete (() -> voltageInitService .deleteVoltageInitResults (deleteNodeInfos .getVoltageInitResultUuids ())),
2141
+ studyServerExecutionService .runAsyncAndComplete (() -> dynamicSimulationService .deleteResults (deleteNodeInfos .getDynamicSimulationResultUuids ())),
2142
+ studyServerExecutionService .runAsyncAndComplete (() -> dynamicSecurityAnalysisService .deleteResults (deleteNodeInfos .getDynamicSecurityAnalysisResultUuids ())),
2143
+ studyServerExecutionService .runAsyncAndComplete (() -> stateEstimationService .deleteStateEstimationResults (deleteNodeInfos .getStateEstimationResultUuids ()))
2144
+ );
2145
+ }
2146
+
2159
2147
@ Transactional
2160
2148
public void stashNode (UUID studyUuid , UUID nodeId , boolean stashChildren , String userId ) {
2161
2149
removeNodesFromAliases (studyUuid , List .of (nodeId ), stashChildren );
0 commit comments