Skip to content

Commit d4596ca

Browse files
SlimaneAmarSlimane AMAR
andauthored
Rename 'blocked_build' attribute by 'blocked_node' (#844)
Co-authored-by: Slimane AMAR <[email protected]>
1 parent 85b6d96 commit d4596ca

File tree

15 files changed

+99
-80
lines changed

15 files changed

+99
-80
lines changed

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

Lines changed: 29 additions & 29 deletions
Large diffs are not rendered by default.

src/main/java/org/gridsuite/study/server/dto/InvalidateNodeTreeParameters.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
@Builder
1717
public record InvalidateNodeTreeParameters(
1818
InvalidationMode invalidationMode,
19-
boolean withBlockedNodeBuild,
19+
boolean withBlockedNode,
2020
ComputationsInvalidationMode computationsInvalidationMode // Only for the first node (root node)
2121
) {
2222
public static InvalidateNodeTreeParameters ALL = new InvalidateNodeTreeParameters(InvalidationMode.ALL, false, ComputationsInvalidationMode.ALL);

src/main/java/org/gridsuite/study/server/networkmodificationtree/entities/RootNetworkNodeInfoEntity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ public class RootNetworkNodeInfoEntity {
102102
@Column(name = "stateEstimationResultUuid")
103103
private UUID stateEstimationResultUuid;
104104

105-
@Column(name = "blockedBuild")
106-
private Boolean blockedBuild;
105+
@Column(name = "blockedNode")
106+
private Boolean blockedNode;
107107

108108
@Embedded
109109
@AttributeOverrides(value = {

src/main/java/org/gridsuite/study/server/repository/rootnetwork/RootNetworkNodeInfoRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,6 @@ public interface RootNetworkNodeInfoRepository extends JpaRepository<RootNetwork
6363

6464
List<RootNetworkNodeInfoEntity> getAllByRootNetworkIdAndNodeInfoIdIn(UUID rootNetworkUuid, List<UUID> nodesUuids);
6565

66-
@Query(value = "SELECT count(rnni) > 0 FROM RootNetworkNodeInfoEntity rnni WHERE rnni.rootNetwork.id = :rootNetworkUuid AND rnni.nodeInfo.idNode IN :nodesUuids AND rnni.blockedBuild = true ")
67-
boolean existsByNodeUuidsAndBlockedBuild(UUID rootNetworkUuid, List<UUID> nodesUuids);
66+
@Query(value = "SELECT count(rnni) > 0 FROM RootNetworkNodeInfoEntity rnni WHERE rnni.rootNetwork.id = :rootNetworkUuid AND rnni.nodeInfo.idNode IN :nodesUuids AND rnni.blockedNode = true ")
67+
boolean existsByNodeUuidsAndBlockedNode(UUID rootNetworkUuid, List<UUID> nodesUuids);
6868
}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ private void handleBuildResultWorkflow(UUID studyUuid, UUID nodeUuid, UUID rootN
136136
WorkflowType workflowType = WorkflowType.valueOf(workflowTypeStr);
137137
if (WorkflowType.RERUN_LOAD_FLOW.equals(workflowType)) {
138138
RerunLoadFlowInfos workflowInfos = objectMapper.readValue(URLDecoder.decode(workflowInfosStr, StandardCharsets.UTF_8), RerunLoadFlowInfos.class);
139-
studyService.sendLoadflowRequest(studyUuid, nodeUuid, rootNetworkUuid, workflowInfos.getLoadflowResultUuid(), workflowInfos.isWithRatioTapChangers(), false, workflowInfos.getUserId());
139+
studyService.sendLoadflowRequestWorflow(studyUuid, nodeUuid, rootNetworkUuid, workflowInfos.getLoadflowResultUuid(), workflowInfos.isWithRatioTapChangers(), workflowInfos.getUserId());
140140
}
141141
}
142142
}
@@ -274,7 +274,7 @@ private void handleConsumeCaseImportSucceeded(CaseImportReceiver receiver, UUID
274274
}
275275
if (caseImportAction == CaseImportAction.ROOT_NETWORK_MODIFICATION) {
276276
UUID rootNodeUuid = networkModificationTreeService.getStudyRootNodeUuid(studyUuid);
277-
networkModificationTreeService.invalidateBlockedBuildNodeTree(rootNetworkUuid, rootNodeUuid);
277+
networkModificationTreeService.unblockNodeTree(rootNetworkUuid, rootNodeUuid);
278278
}
279279
LOGGER.trace("{} for study uuid '{}' : {} seconds", caseImportAction.getLabel(), studyUuid,
280280
TimeUnit.NANOSECONDS.toSeconds(System.nanoTime() - startTime));
@@ -534,7 +534,7 @@ public void consumeCalculationFailed(Message<String> msg, ComputationType comput
534534
} finally {
535535
if (receiverObj != null) {
536536
if (computationType == LOAD_FLOW) {
537-
networkModificationTreeService.invalidateBlockedBuildNodeTree(receiverObj.getRootNetworkUuid(), receiverObj.getNodeUuid());
537+
networkModificationTreeService.unblockNodeTree(receiverObj.getRootNetworkUuid(), receiverObj.getNodeUuid());
538538
}
539539

540540
// send notification for failed computation
@@ -603,7 +603,7 @@ private void consumeLoadFlowResult(Message<String> msg, boolean withRatioTapChan
603603
// update DB
604604
rootNetworkNodeInfoService.updateLoadflowResultUuid(receiverObj.getNodeUuid(), receiverObj.getRootNetworkUuid(), resultUuid, withRatioTapChangers);
605605
} finally {
606-
networkModificationTreeService.invalidateBlockedBuildNodeTree(receiverObj.getRootNetworkUuid(), receiverObj.getNodeUuid());
606+
networkModificationTreeService.unblockNodeTree(receiverObj.getRootNetworkUuid(), receiverObj.getNodeUuid());
607607

608608
// send notifications
609609
UUID studyUuid = networkModificationTreeService.getStudyUuidForNodeId(receiverObj.getNodeUuid());

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -934,7 +934,7 @@ private InvalidateNodeInfos invalidateChildrenNodes(UUID nodeUuid, UUID rootNetw
934934

935935
InvalidateNodeTreeParameters invalidateChildrenParameters = InvalidateNodeTreeParameters.builder()
936936
.invalidationMode(InvalidateNodeTreeParameters.InvalidationMode.ALL)
937-
.withBlockedNodeBuild(invalidateTreeParameters.withBlockedNodeBuild())
937+
.withBlockedNode(invalidateTreeParameters.withBlockedNode())
938938
.build();
939939
rootNetworkNodeInfoEntities.forEach(child ->
940940
invalidateNodeInfos.add(rootNetworkNodeInfoService.invalidateRootNetworkNode(child, invalidateChildrenParameters))
@@ -944,8 +944,8 @@ private InvalidateNodeInfos invalidateChildrenNodes(UUID nodeUuid, UUID rootNetw
944944
}
945945

946946
@Transactional
947-
public void invalidateBlockedBuildNodeTree(UUID rootNetworkUuid, UUID nodeUuid) {
948-
rootNetworkNodeInfoService.invalidateBlockedBuild(rootNetworkUuid, getNodeTreeUuids(nodeUuid));
947+
public void unblockNodeTree(UUID rootNetworkUuid, UUID nodeUuid) {
948+
rootNetworkNodeInfoService.unblockNodes(rootNetworkUuid, getNodeTreeUuids(nodeUuid));
949949
}
950950

951951
/**

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ private static RootNetworkNodeInfoEntity createDefaultEntity(UUID nodeUuid, Set<
135135
.variantId(UUID.randomUUID().toString())
136136
.modificationReports(new HashMap<>(Map.of(nodeUuid, UUID.randomUUID())))
137137
.modificationsUuidsToExclude(modificationsToExclude)
138-
.blockedBuild(false)
138+
.blockedNode(false)
139139
.build();
140140
}
141141

@@ -244,8 +244,8 @@ public InvalidateNodeInfos invalidateRootNetworkNode(RootNetworkNodeInfoEntity r
244244
boolean notOnlyChildrenBuildStatus = !invalidateTreeParameters.isOnlyChildrenBuildStatus();
245245

246246
// Always update blocked build info
247-
if (invalidateTreeParameters.withBlockedNodeBuild()) {
248-
rootNetworkNodeInfoEntity.setBlockedBuild(true);
247+
if (invalidateTreeParameters.withBlockedNode()) {
248+
rootNetworkNodeInfoEntity.setBlockedNode(true);
249249
}
250250

251251
// No need to delete node results with a status different of "BUILT"
@@ -400,14 +400,14 @@ public void assertNetworkNodeIsNotBuilding(UUID rootNetworkUuid, UUID nodeUuid)
400400
}
401401
}
402402

403-
public void assertNoBlockedBuild(UUID rootNetworkUuid, List<UUID> nodesUuids) {
404-
if (rootNetworkNodeInfoRepository.existsByNodeUuidsAndBlockedBuild(rootNetworkUuid, nodesUuids)) {
403+
public void assertNoBlockedNode(UUID rootNetworkUuid, List<UUID> nodesUuids) {
404+
if (rootNetworkNodeInfoRepository.existsByNodeUuidsAndBlockedNode(rootNetworkUuid, nodesUuids)) {
405405
throw new StudyException(NOT_ALLOWED, "Another action is in progress in this branch !");
406406
}
407407
}
408408

409-
public void invalidateBlockedBuild(UUID rootNetworkUuid, List<UUID> nodesUuids) {
410-
getRootNetworkNodes(rootNetworkUuid, nodesUuids).stream().forEach(rnn -> rnn.setBlockedBuild(false));
409+
public void unblockNodes(UUID rootNetworkUuid, List<UUID> nodesUuids) {
410+
getRootNetworkNodes(rootNetworkUuid, nodesUuids).stream().forEach(rnn -> rnn.setBlockedNode(false));
411411
}
412412

413413
private void addLink(NetworkModificationNodeInfoEntity nodeInfoEntity, RootNetworkEntity rootNetworkEntity, RootNetworkNodeInfoEntity rootNetworkNodeInfoEntity) {

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

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -980,11 +980,11 @@ public String getAllMapData(UUID studyUuid, UUID nodeUuid, UUID rootNetworkUuid,
980980

981981
@Transactional
982982
public void rerunLoadflow(UUID studyUuid, UUID nodeUuid, UUID rootNetworkUuid, UUID loadflowResultUuid, Boolean withRatioTapChangers, String userId) {
983-
boolean isSecurityNode = networkModificationTreeService.isSecurityNode(nodeUuid);
984-
if (isSecurityNode) {
983+
StudyEntity studyEntity = studyRepository.findById(studyUuid).orElseThrow(() -> new StudyException(STUDY_NOT_FOUND));
984+
if (networkModificationTreeService.isSecurityNode(nodeUuid)) {
985985
invalidateNodeTree(studyUuid, nodeUuid, rootNetworkUuid, InvalidateNodeTreeParameters.builder()
986986
.invalidationMode(InvalidationMode.ALL)
987-
.withBlockedNodeBuild(true)
987+
.withBlockedNode(true)
988988
.computationsInvalidationMode(ComputationsInvalidationMode.PRESERVE_LOAD_FLOW_RESULTS)
989989
.build());
990990

@@ -994,7 +994,7 @@ public void rerunLoadflow(UUID studyUuid, UUID nodeUuid, UUID rootNetworkUuid, U
994994
.userId(userId)
995995
.build());
996996
} else {
997-
handleLoadflowRequest(studyUuid, nodeUuid, rootNetworkUuid, loadflowResultUuid, withRatioTapChangers, userId);
997+
handleLoadflowRequest(studyEntity, nodeUuid, rootNetworkUuid, loadflowResultUuid, withRatioTapChangers, userId);
998998
}
999999
}
10001000

@@ -1015,20 +1015,26 @@ public void deleteLoadflowResult(UUID studyUuid, UUID nodeUuid, UUID rootNetwork
10151015
}
10161016

10171017
@Transactional
1018-
public void sendLoadflowRequest(UUID studyUuid, UUID nodeUuid, UUID rootNetworkUuid, UUID loadflowResultUuid, boolean withRatioTapChangers, boolean invalidateNodeTree, String userId) {
1019-
if (invalidateNodeTree) {
1018+
public void sendLoadflowRequestWorflow(UUID studyUuid, UUID nodeUuid, UUID rootNetworkUuid, UUID loadflowResultUuid, boolean withRatioTapChangers, String userId) {
1019+
StudyEntity studyEntity = studyRepository.findById(studyUuid).orElseThrow(() -> new StudyException(STUDY_NOT_FOUND));
1020+
handleLoadflowRequest(studyEntity, nodeUuid, rootNetworkUuid, loadflowResultUuid, withRatioTapChangers, userId);
1021+
}
1022+
1023+
@Transactional
1024+
public void sendLoadflowRequest(UUID studyUuid, UUID nodeUuid, UUID rootNetworkUuid, UUID loadflowResultUuid, boolean withRatioTapChangers, String userId) {
1025+
StudyEntity studyEntity = studyRepository.findById(studyUuid).orElseThrow(() -> new StudyException(STUDY_NOT_FOUND));
1026+
if (networkModificationTreeService.isSecurityNode(nodeUuid)) {
10201027
invalidateNodeTree(studyUuid, nodeUuid, rootNetworkUuid, InvalidateNodeTreeParameters.builder()
10211028
.invalidationMode(InvalidationMode.ONLY_CHILDREN_BUILD_STATUS)
1022-
.withBlockedNodeBuild(true)
1029+
.withBlockedNode(true)
10231030
.computationsInvalidationMode(ComputationsInvalidationMode.ALL)
10241031
.build());
10251032
}
10261033

1027-
handleLoadflowRequest(studyUuid, nodeUuid, rootNetworkUuid, loadflowResultUuid, withRatioTapChangers, userId);
1034+
handleLoadflowRequest(studyEntity, nodeUuid, rootNetworkUuid, loadflowResultUuid, withRatioTapChangers, userId);
10281035
}
10291036

1030-
private void handleLoadflowRequest(UUID studyUuid, UUID nodeUuid, UUID rootNetworkUuid, UUID loadflowResultUuid, boolean withRatioTapChangers, String userId) {
1031-
StudyEntity studyEntity = studyRepository.findById(studyUuid).orElseThrow(() -> new StudyException(STUDY_NOT_FOUND));
1037+
private void handleLoadflowRequest(StudyEntity studyEntity, UUID nodeUuid, UUID rootNetworkUuid, UUID loadflowResultUuid, boolean withRatioTapChangers, String userId) {
10321038
UUID lfParametersUuid = loadflowService.getLoadFlowParametersOrDefaultsUuid(studyEntity);
10331039
UUID lfReportUuid = networkModificationTreeService.getComputationReports(nodeUuid, rootNetworkUuid).getOrDefault(LOAD_FLOW.name(), UUID.randomUUID());
10341040
UUID networkUuid = rootNetworkService.getNetworkUuid(rootNetworkUuid);
@@ -1039,7 +1045,7 @@ private void handleLoadflowRequest(UUID studyUuid, UUID nodeUuid, UUID rootNetwo
10391045
UUID result = loadflowService.runLoadFlow(new NodeReceiver(nodeUuid, rootNetworkUuid), loadflowResultUuid, new VariantInfos(networkUuid, variantId), new LoadFlowService.ParametersInfos(lfParametersUuid, withRatioTapChangers, isSecurityNode), lfReportUuid, userId);
10401046
rootNetworkNodeInfoService.updateLoadflowResultUuid(nodeUuid, rootNetworkUuid, result, withRatioTapChangers);
10411047

1042-
notificationService.emitStudyChanged(studyUuid, nodeUuid, rootNetworkUuid, LOAD_FLOW.getUpdateStatusType());
1048+
notificationService.emitStudyChanged(studyEntity.getId(), nodeUuid, rootNetworkUuid, LOAD_FLOW.getUpdateStatusType());
10431049
}
10441050

10451051
public void exportNetwork(UUID nodeUuid, UUID rootNetworkUuid, String format, String parametersJson, String fileName, HttpServletResponse exportNetworkResponse) {
@@ -1102,18 +1108,18 @@ public void assertNoBuildNoComputationForRootNetworkNode(UUID nodeUuid, UUID roo
11021108
}
11031109

11041110
@Transactional(readOnly = true)
1105-
public void assertNoBlockedBuildInNodeTree(UUID nodeUuid, UUID rootNetworkUuid) {
1106-
rootNetworkNodeInfoService.assertNoBlockedBuild(rootNetworkUuid, networkModificationTreeService.getNodeTreeUuids(nodeUuid));
1111+
public void assertNoBlockedNodeInTree(UUID nodeUuid, UUID rootNetworkUuid) {
1112+
rootNetworkNodeInfoService.assertNoBlockedNode(rootNetworkUuid, networkModificationTreeService.getNodeTreeUuids(nodeUuid));
11071113
}
11081114

11091115
@Transactional(readOnly = true)
1110-
public void assertNoBlockedBuildInStudy(UUID studyUuid, UUID nodeUuid) {
1116+
public void assertNoBlockedNodeInStudy(UUID studyUuid, UUID nodeUuid) {
11111117
if (nodeUuid == null) {
11121118
throw new StudyException(MISSING_PARAMETER, "The parameter 'nodeUuid' must be defined !");
11131119
}
11141120
List<UUID> nodesUuids = networkModificationTreeService.getNodeTreeUuids(nodeUuid);
11151121
getStudyRootNetworks(studyUuid).stream().forEach(rootNetwork ->
1116-
rootNetworkNodeInfoService.assertNoBlockedBuild(rootNetwork.getId(), nodesUuids)
1122+
rootNetworkNodeInfoService.assertNoBlockedNode(rootNetwork.getId(), nodesUuids)
11171123
);
11181124
}
11191125

@@ -2060,7 +2066,7 @@ private void invalidateNodeTreeWithLF(UUID studyUuid, UUID nodeUuid, UUID rootNe
20602066
boolean invalidateAll = networkModificationTreeService.isSecurityNode(nodeUuid) && rootNetworkNodeInfoService.isLoadflowDone(nodeUuid, rootNetworkUuid);
20612067
InvalidateNodeTreeParameters invalidateNodeTreeParameters = InvalidateNodeTreeParameters.builder()
20622068
.invalidationMode(invalidateAll ? InvalidationMode.ALL : InvalidationMode.ONLY_CHILDREN_BUILD_STATUS)
2063-
.withBlockedNodeBuild(true)
2069+
.withBlockedNode(true)
20642070
.computationsInvalidationMode(invalidateAll ? ComputationsInvalidationMode.ALL : computationsInvalidationMode)
20652071
.build();
20662072
invalidateNodeTree(studyUuid, nodeUuid, rootNetworkUuid, invalidateNodeTreeParameters);
@@ -2088,9 +2094,9 @@ private void invalidateNodeTree(UUID studyUuid, UUID nodeUuid, UUID rootNetworkU
20882094
}
20892095

20902096
@Transactional
2091-
public void invalidateBlockedBuildNodeTree(UUID studyUuid, UUID nodeUuid) {
2097+
public void unblockNodeTree(UUID studyUuid, UUID nodeUuid) {
20922098
getStudyRootNetworks(studyUuid).forEach(rootNetworkEntity ->
2093-
networkModificationTreeService.invalidateBlockedBuildNodeTree(rootNetworkEntity.getId(), nodeUuid)
2099+
networkModificationTreeService.unblockNodeTree(rootNetworkEntity.getId(), nodeUuid)
20942100
);
20952101
}
20962102

@@ -3130,7 +3136,7 @@ public void insertVoltageInitModifications(UUID studyUuid, UUID nodeUuid, UUID r
31303136
// send notification voltage init result has changed
31313137
notificationService.emitStudyChanged(studyUuid, nodeUuid, rootNetworkUuid, NotificationService.UPDATE_TYPE_VOLTAGE_INIT_RESULT);
31323138
} finally {
3133-
networkModificationTreeService.invalidateBlockedBuildNodeTree(rootNetworkUuid, nodeUuid);
3139+
networkModificationTreeService.unblockNodeTree(rootNetworkUuid, nodeUuid);
31343140
notificationService.emitEndModificationEquipmentNotification(studyUuid, nodeUuid, childrenUuids);
31353141
}
31363142
notificationService.emitElementUpdated(studyUuid, userId);
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
2+
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
3+
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
4+
xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
6+
<changeSet author="amarsli (generated)" id="1757496463482-20">
7+
<renameColumn tableName="root_network_node_info" oldColumnName="blocked_build" newColumnName="blocked_node"/>
8+
</changeSet>
9+
</databaseChangeLog>

src/main/resources/db/changelog/db.changelog-master.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,3 +341,6 @@ databaseChangeLog:
341341
- include:
342342
file: changesets/changelog_20250917T153853Z.xml
343343
relativeToChangelogFile: true
344+
- include:
345+
file: changesets/changelog_20250910T092726Z.xml
346+
relativeToChangelogFile: true

0 commit comments

Comments
 (0)