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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2326,9 +2326,10 @@ public ResponseEntity<String> exportFilters(
public ResponseEntity<Void> runStateEstimation(@Parameter(description = "studyUuid") @PathVariable("studyUuid") UUID studyUuid,
@PathVariable("rootNetworkUuid") UUID rootNetworkUuid,
@Parameter(description = "nodeUuid") @PathVariable("nodeUuid") UUID nodeUuid,
@RequestParam(name = "debug", required = false, defaultValue = "false") boolean debug,
@RequestHeader(HEADER_USER_ID) String userId) {
studyService.assertIsNodeNotReadOnly(nodeUuid);
studyService.runStateEstimation(studyUuid, nodeUuid, rootNetworkUuid, userId);
studyService.runStateEstimation(studyUuid, nodeUuid, rootNetworkUuid, userId, debug);
return ResponseEntity.ok().build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -862,6 +862,11 @@ public Consumer<Message<String>> consumeStateEstimationResult() {
return message -> consumeCalculationResult(message, STATE_ESTIMATION);
}

@Bean
public Consumer<Message<String>> consumeStateEstimationDebug() {
return message -> consumeCalculationDebug(message, STATE_ESTIMATION);
}

@Bean
public Consumer<Message<String>> consumeStateEstimationStopped() {
return message -> consumeCalculationStopped(message, STATE_ESTIMATION);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public String getStateEstimationResult(UUID resultUuid) {
return restTemplate.getForObject(stateEstimationServerServerBaseUri + path, String.class);
}

public UUID runStateEstimation(UUID networkUuid, String variantId, UUID parametersUuid, ReportInfos reportInfos, String receiver, String userId) {
public UUID runStateEstimation(UUID networkUuid, String variantId, UUID parametersUuid, ReportInfos reportInfos, String receiver, String userId, boolean debug) {
var uriComponentsBuilder = UriComponentsBuilder
.fromPath(DELIMITER + STATE_ESTIMATION_API_VERSION + "/networks/{networkUuid}/run-and-save")
.queryParam("reportUuid", reportInfos.reportUuid().toString())
Expand All @@ -86,6 +86,9 @@ public UUID runStateEstimation(UUID networkUuid, String variantId, UUID paramete
if (!StringUtils.isBlank(variantId)) {
uriComponentsBuilder.queryParam(QUERY_PARAM_VARIANT_ID, variantId);
}
if (debug) {
uriComponentsBuilder.queryParam(QUERY_PARAM_DEBUG, true);
}
var path = uriComponentsBuilder.queryParam(QUERY_PARAM_RECEIVER, receiver).buildAndExpand(networkUuid).toUriString();

HttpHeaders headers = new HttpHeaders();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3404,11 +3404,11 @@ public String exportFilters(UUID rootNetworkUuid, List<UUID> filtersUuid, UUID n
}

@Transactional
public UUID runStateEstimation(@NonNull UUID studyUuid, @NonNull UUID nodeUuid, @NonNull UUID rootNetworkUuid, String userId) {
public UUID runStateEstimation(@NonNull UUID studyUuid, @NonNull UUID nodeUuid, @NonNull UUID rootNetworkUuid, String userId, boolean debug) {
StudyEntity studyEntity = getStudy(studyUuid);
networkModificationTreeService.blockNode(rootNetworkUuid, nodeUuid);

return handleStateEstimationRequest(studyEntity, nodeUuid, rootNetworkUuid, userId);
return handleStateEstimationRequest(studyEntity, nodeUuid, rootNetworkUuid, userId, debug);
}

@Transactional
Expand All @@ -3419,7 +3419,7 @@ public UUID runPccMin(@NonNull UUID studyUuid, @NonNull UUID nodeUuid, @NonNull
return handlePccMinRequest(studyEntity, nodeUuid, rootNetworkUuid, userId);
}

private UUID handleStateEstimationRequest(StudyEntity studyEntity, UUID nodeUuid, UUID rootNetworkUuid, String userId) {
private UUID handleStateEstimationRequest(StudyEntity studyEntity, UUID nodeUuid, UUID rootNetworkUuid, String userId, boolean debug) {
UUID networkUuid = rootNetworkService.getNetworkUuid(rootNetworkUuid);
String variantId = networkModificationTreeService.getVariantId(nodeUuid, rootNetworkUuid);
UUID reportUuid = networkModificationTreeService.getComputationReports(nodeUuid, rootNetworkUuid).getOrDefault(STATE_ESTIMATION.name(), UUID.randomUUID());
Expand All @@ -3436,7 +3436,7 @@ private UUID handleStateEstimationRequest(StudyEntity studyEntity, UUID nodeUuid
stateEstimationService.deleteStateEstimationResults(List.of(prevResultUuid));
}

UUID result = stateEstimationService.runStateEstimation(networkUuid, variantId, studyEntity.getStateEstimationParametersUuid(), new ReportInfos(reportUuid, nodeUuid), receiver, userId);
UUID result = stateEstimationService.runStateEstimation(networkUuid, variantId, studyEntity.getStateEstimationParametersUuid(), new ReportInfos(reportUuid, nodeUuid), receiver, userId, debug);
updateComputationResultUuid(nodeUuid, rootNetworkUuid, result, STATE_ESTIMATION);
notificationService.emitStudyChanged(studyEntity.getId(), nodeUuid, rootNetworkUuid, NotificationService.UPDATE_TYPE_STATE_ESTIMATION_STATUS);
return result;
Expand Down
5 changes: 4 additions & 1 deletion src/main/resources/config/application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ spring:
consumeShortCircuitAnalysisDebug;consumeShortCircuitAnalysisResult;consumeShortCircuitAnalysisStopped;consumeShortCircuitAnalysisFailed;consumeShortCircuitAnalysisCancelFailed;\
consumeVoltageInitDebug;consumeVoltageInitResult;consumeVoltageInitStopped;consumeVoltageInitFailed;consumeVoltageInitCancelFailed;\
consumeLoadFlowResult;consumeLoadFlowStopped;consumeLoadFlowFailed;consumeLoadFlowCancelFailed;\
consumeStateEstimationResult;consumeStateEstimationStopped;consumeStateEstimationFailed;\
consumeStateEstimationResult;consumeStateEstimationDebug;consumeStateEstimationStopped;consumeStateEstimationFailed;\
consumePccMinResult;consumePccMinStopped;consumePccMinFailed;\
consumeNetworkExportFinished"
stream:
Expand Down Expand Up @@ -131,6 +131,9 @@ spring:
consumeStateEstimationResult-in-0:
destination: ${powsybl-ws.rabbitmq.destination.prefix:}stateestimation.result
group: studyStateEstimationResultGroup
consumeStateEstimationDebug-in-0:
destination: ${powsybl-ws.rabbitmq.destination.prefix:}stateestimation.debug
group: studyStateEstimationDebugGroup
consumeStateEstimationStopped-in-0:
destination: ${powsybl-ws.rabbitmq.destination.prefix:}stateestimation.stopped
group: studyStateEstimationStoppedGroup
Expand Down