diff --git a/pom.xml b/pom.xml index 4392d2db..975ef8c9 100644 --- a/pom.xml +++ b/pom.xml @@ -48,6 +48,8 @@ 5.0.0-alpha.14 gridsuite org.gridsuite:sensitivity-analysis-server + + 1.25.0-SNAPSHOT @@ -145,6 +147,7 @@ com.powsybl powsybl-ws-commons + ${powsybl-ws-commons.version} org.springframework.cloud diff --git a/src/main/java/org/gridsuite/sensitivityanalysis/server/service/SensitivityAnalysisWorkerService.java b/src/main/java/org/gridsuite/sensitivityanalysis/server/service/SensitivityAnalysisWorkerService.java index 713ba301..8395eaa3 100644 --- a/src/main/java/org/gridsuite/sensitivityanalysis/server/service/SensitivityAnalysisWorkerService.java +++ b/src/main/java/org/gridsuite/sensitivityanalysis/server/service/SensitivityAnalysisWorkerService.java @@ -143,7 +143,7 @@ protected CompletableFuture getCompletableFuture(SensitivityAnalysisRunCon contingencies, runContext.getSensitivityAnalysisInputs().getVariablesSets(), sensitivityAnalysisParameters, - executionService.getComputationManager(), + runContext.getComputationManager(), runContext.getReportNode()); if (resultUuid != null) { @@ -227,6 +227,7 @@ public SensitivityAnalysisResult run(UUID networkUuid, String variantId, ReportI private SensitivityAnalysisResult runInMemory(SensitivityAnalysisRunContext runContext) throws Exception { Objects.requireNonNull(runContext); + runContext.setComputationManager(createComputationManager()); LOGGER.info("Run sensitivity analysis"); @@ -293,7 +294,7 @@ private CompletableFuture runAsyncInMemory(Sensitivit contingencies, context.getSensitivityAnalysisInputs().getVariablesSets(), parameters, - executionService.getComputationManager(), + context.getComputationManager(), reporter); return future.thenApply(r -> new SensitivityAnalysisResult(factors, writer.getContingencyStatuses(), writer.getValues())); } diff --git a/src/main/java/org/gridsuite/sensitivityanalysis/server/service/nonevacuatedenergy/NonEvacuatedEnergyWorkerService.java b/src/main/java/org/gridsuite/sensitivityanalysis/server/service/nonevacuatedenergy/NonEvacuatedEnergyWorkerService.java index 1392f8d2..84a73df4 100644 --- a/src/main/java/org/gridsuite/sensitivityanalysis/server/service/nonevacuatedenergy/NonEvacuatedEnergyWorkerService.java +++ b/src/main/java/org/gridsuite/sensitivityanalysis/server/service/nonevacuatedenergy/NonEvacuatedEnergyWorkerService.java @@ -22,18 +22,18 @@ import com.powsybl.loadflow.LoadFlowProvider; import com.powsybl.network.store.client.NetworkStoreService; import com.powsybl.sensitivity.*; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; import com.powsybl.ws.commons.computation.service.AbstractResultContext; import com.powsybl.ws.commons.computation.service.AbstractWorkerService; +import com.powsybl.ws.commons.computation.service.ExecutionService; +import com.powsybl.ws.commons.computation.service.ReportService; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; import org.gridsuite.sensitivityanalysis.server.dto.IdentifiableAttributes; import org.gridsuite.sensitivityanalysis.server.dto.nonevacuatedenergy.NonEvacuatedEnergyInputData; import org.gridsuite.sensitivityanalysis.server.dto.nonevacuatedenergy.NonEvacuatedEnergyStageDefinition; import org.gridsuite.sensitivityanalysis.server.dto.nonevacuatedenergy.NonEvacuatedEnergyStagesSelection; import org.gridsuite.sensitivityanalysis.server.dto.nonevacuatedenergy.NonEvacuatedEnergyStatus; import org.gridsuite.sensitivityanalysis.server.dto.nonevacuatedenergy.results.*; -import com.powsybl.ws.commons.computation.service.ReportService; -import com.powsybl.ws.commons.computation.service.ExecutionService; import org.gridsuite.sensitivityanalysis.server.util.SensitivityAnalysisRunnerSupplier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,7 +43,7 @@ import java.io.IOException; import java.util.*; -import java.util.concurrent.*; +import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Consumer; import java.util.function.Function; @@ -817,7 +817,7 @@ protected CompletableFuture getCompletableFuture(NonE throw new PowsyblException("Loadflow in DC mode not allowed !!"); } - ComputationManager computationManager = executionService.getComputationManager(); + ComputationManager computationManager = runContext.getComputationManager(); return CompletableFuture.supplyAsync(() -> run(runContext, runContext.getNetwork(), sensitivityAnalysisParameters, sensitivityAnalysisRunner, computationManager, runContext.getReportNode())