From ece8753b57072fd35351fa32c73edd7e5c0a5548 Mon Sep 17 00:00:00 2001 From: Rehili Ghazwa Date: Thu, 17 Oct 2024 15:34:05 +0200 Subject: [PATCH] fix bug related to adder feeder with null value --- .../modifications/ModificationUtils.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/gridsuite/modification/server/modifications/ModificationUtils.java b/src/main/java/org/gridsuite/modification/server/modifications/ModificationUtils.java index 13017df08..ccbe21acb 100644 --- a/src/main/java/org/gridsuite/modification/server/modifications/ModificationUtils.java +++ b/src/main/java/org/gridsuite/modification/server/modifications/ModificationUtils.java @@ -666,13 +666,11 @@ private void createNewConnectivityPosition(ConnectablePositionAdder adder, List reports, boolean isBranch) { if (isBranch) { - ConnectablePositionAdder.FeederAdder feederAdder1 = adder.newFeeder1(); - ConnectablePositionAdder.FeederAdder feederAdder2 = adder.newFeeder2(); - addConnectablePosition(adder, feederAdder1, modificationInfos, network, reports, 1); - addConnectablePosition(adder, feederAdder2, modificationInfos, network, reports, 2); + addConnectablePosition(adder, modificationInfos, network, reports, 1); + addConnectablePosition(adder, modificationInfos, network, reports, 2); } else { ConnectablePositionAdder.FeederAdder feederAdder = adder.newFeeder(); - addConnectablePosition(adder, feederAdder, modificationInfos, network, reports, 0); + addConnectablePosition(adder, modificationInfos, network, reports, 0); } } @@ -711,7 +709,6 @@ private void applyModifications(ConnectablePosition.Feeder feeder, } private void addConnectablePosition(ConnectablePositionAdder adder, - ConnectablePositionAdder.FeederAdder feeder, BasicEquipmentModificationInfos modificationInfos, Network network, List reports, @@ -726,7 +723,15 @@ private void addConnectablePosition(ConnectablePositionAdder adder, AttributeModification voltageLevelId = getVoltageLevelId(modificationInfos, feederNumber); AttributeModification busOrBusbarSectionId = getBusOrBusbarSectionId(modificationInfos, feederNumber); int position = getPosition(connectionPosition, busOrBusbarSectionId, voltageLevelId, equipmentId, feederNumber, network); - + ConnectablePositionAdder.FeederAdder feeder; + switch (feederNumber) { + case 0 -> feeder = adder.newFeeder(); + case 1 -> feeder = adder.newFeeder1(); + case 2 -> feeder = adder.newFeeder2(); + default -> { + return; + } + } ReportNode connectionNameReport = applyConnectablePositionAttribute( feeder::withName, connectionName, equipmentId, reports, getConnectionNameField(feederNumber), connectionDirection, connectionPosition