diff --git a/src/main/java/com/powsybl/openloadflow/network/NameSlackBusSelector.java b/src/main/java/com/powsybl/openloadflow/network/NameSlackBusSelector.java index 901d1cbc8e..578d22b7a4 100644 --- a/src/main/java/com/powsybl/openloadflow/network/NameSlackBusSelector.java +++ b/src/main/java/com/powsybl/openloadflow/network/NameSlackBusSelector.java @@ -6,8 +6,6 @@ */ package com.powsybl.openloadflow.network; -import com.powsybl.commons.PowsyblException; - import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -55,6 +53,7 @@ public SelectedSlackBus select(List buses) { } } } - throw new PowsyblException("None of the buses or voltage levels " + busesOrVoltageLevelsIds + " have been found"); + // fallback to automatic selection among all buses + return secondLevelSelector.select(buses); } } diff --git a/src/test/java/com/powsybl/openloadflow/OpenLoadFlowParametersTest.java b/src/test/java/com/powsybl/openloadflow/OpenLoadFlowParametersTest.java index 8ebf0ab48e..bc23d03281 100644 --- a/src/test/java/com/powsybl/openloadflow/OpenLoadFlowParametersTest.java +++ b/src/test/java/com/powsybl/openloadflow/OpenLoadFlowParametersTest.java @@ -8,7 +8,6 @@ import com.google.common.jimfs.Configuration; import com.google.common.jimfs.Jimfs; -import com.powsybl.commons.PowsyblException; import com.powsybl.commons.config.InMemoryPlatformConfig; import com.powsybl.commons.config.MapModuleConfig; import com.powsybl.commons.config.PlatformConfig; @@ -35,6 +34,7 @@ import java.util.Map; import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Jérémy Labous @@ -154,8 +154,7 @@ void testNameSlackBusSelector() throws IOException { assertEquals(SlackBusSelectionMode.NAME, olfParameters.getSlackBusSelectionMode()); List lfNetworks = Networks.load(EurostagTutorialExample1Factory.create(), SlackBusSelector.fromMode(olfParameters.getSlackBusSelectionMode(), olfParameters.getSlackBusesIds(), olfParameters.getPlausibleActivePowerLimit())); LfNetwork lfNetwork = lfNetworks.get(0); - PowsyblException thrown = assertThrows(PowsyblException.class, lfNetwork::getSlackBus); - assertEquals("None of the buses or voltage levels [???] have been found", thrown.getMessage()); + assertEquals("VLHV1_0", lfNetwork.getSlackBus().getId()); // fallback to automatic method. } @Test diff --git a/src/test/java/com/powsybl/openloadflow/network/NameSlackBusSelectorTest.java b/src/test/java/com/powsybl/openloadflow/network/NameSlackBusSelectorTest.java index 1ab2951f75..d05e15fd75 100644 --- a/src/test/java/com/powsybl/openloadflow/network/NameSlackBusSelectorTest.java +++ b/src/test/java/com/powsybl/openloadflow/network/NameSlackBusSelectorTest.java @@ -6,7 +6,6 @@ */ package com.powsybl.openloadflow.network; -import com.powsybl.commons.PowsyblException; import com.powsybl.iidm.network.Network; import com.powsybl.iidm.network.test.EurostagTutorialExample1Factory; import com.powsybl.openloadflow.network.impl.Networks; @@ -16,7 +15,6 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; /** * @author Geoffroy Jamgotchian @@ -42,15 +40,6 @@ void test() { assertEquals("VLLOAD_0", lfNetwork.getSlackBus().getId()); } - @Test - void errorTest() { - NameSlackBusSelector slackBusSelector = new NameSlackBusSelector("???"); - List lfNetworks = Networks.load(network, slackBusSelector); - LfNetwork lfNetwork = lfNetworks.get(0); - assertThrows(PowsyblException.class, () -> lfNetwork.getSlackBus(), - "Slack bus '???' not found"); - } - @Test void voltageLevelIdTest() { List lfNetworks = Networks.load(network, new NameSlackBusSelector("VLGEN"));