99import com .powsybl .commons .PowsyblException ;
1010import com .powsybl .commons .report .ReportNode ;
1111import com .powsybl .iidm .modification .topology .DefaultNamingStrategy ;
12- import com .powsybl .iidm .modification .topology .MoveFeederBayBuilder ;
1312import com .powsybl .iidm .modification .topology .NamingStrategy ;
14- import com .powsybl .iidm .network .*;
13+ import com .powsybl .iidm .network .BusbarSection ;
14+ import com .powsybl .iidm .network .Network ;
15+ import com .powsybl .iidm .network .VoltageLevel ;
1516import com .powsybl .iidm .network .extensions .BusbarSectionPosition ;
1617import org .gridsuite .modification .ModificationType ;
1718import org .gridsuite .modification .NetworkModificationException ;
1819import org .gridsuite .modification .dto .CreateVoltageLevelTopologyInfos ;
19- import org .gridsuite .modification .utils .ModificationUtils ;
2020
2121import java .util .Comparator ;
2222import java .util .List ;
@@ -62,7 +62,6 @@ public void apply(Network network, ReportNode subReportNode) {
6262 public void apply (Network network , NamingStrategy namingStrategy , ReportNode subReportNode ) {
6363 VoltageLevel voltageLevel = network .getVoltageLevel (createVoltageLevelTopologyInfos .getVoltageLevelId ());
6464 createVoltageLevelBusBarSection (network , namingStrategy , subReportNode , voltageLevel );
65- moveConnectableToAddSwitchesOnTheNewBar (network , voltageLevel );
6665 }
6766
6867 private void createVoltageLevelBusBarSection (Network network , NamingStrategy namingStrategy , ReportNode subReportNode , VoltageLevel voltageLevel ) {
@@ -73,26 +72,10 @@ private void createVoltageLevelBusBarSection(Network network, NamingStrategy nam
7372 .withAlignedBusesOrBusbarCount (1 )
7473 .withLowBusOrBusbarIndex (lowBusOrBusbarIndex )
7574 .withSwitchKinds (createVoltageLevelTopologyInfos .getSwitchKinds ())
75+ .withConnectExistingConnectables (true )
7676 .build ().apply (network , namingStrategy , true , subReportNode );
7777 }
7878
79- private void moveConnectableToAddSwitchesOnTheNewBar (Network network , VoltageLevel voltageLevel ) {
80- String voltageLevelId = voltageLevel .getId ();
81- voltageLevel .getConnectableStream ().filter (connectable -> connectable .getType () != IdentifiableType .BUSBAR_SECTION ).forEach (conn -> {
82- Optional <Terminal > terminalConnectedToVl = conn .getTerminals ().stream ()
83- .filter (terminal -> ((Terminal ) terminal ).getVoltageLevel ().getId ().equals (voltageLevelId ))
84- .findFirst ();
85- if (terminalConnectedToVl .isPresent ()) {
86- String busbarSectionId = ModificationUtils .getInstance ().getBusOrBusbarSection (terminalConnectedToVl .get ());
87- new MoveFeederBayBuilder ().withConnectableId (conn .getId ())
88- .withTargetVoltageLevelId (voltageLevelId )
89- .withTerminal (terminalConnectedToVl .get ())
90- .withTargetBusOrBusBarSectionId (busbarSectionId )
91- .build ().apply (network , false , ReportNode .NO_OP );
92- }
93- });
94- }
95-
9679 private int findLowBusOrBusbarIndex (VoltageLevel voltageLevel ) {
9780 List <BusbarSection > busbarSections = voltageLevel .getNodeBreakerView ()
9881 .getBusbarSectionStream ().toList ();
0 commit comments