3
3
// SPDX-License-Identifier: Apache-2.0
4
4
package org .lfenergy .compas .scl .auto .alignment .builder ;
5
5
6
- import com .powsybl .sld .model .*;
6
+ import com .powsybl .sld .library .ComponentTypeName ;
7
+ import com .powsybl .sld .model .coordinate .Direction ;
8
+ import com .powsybl .sld .model .graphs .BaseGraph ;
9
+ import com .powsybl .sld .model .graphs .NodeFactory ;
10
+ import com .powsybl .sld .model .graphs .VoltageLevelGraph ;
11
+ import com .powsybl .sld .model .graphs .VoltageLevelInfos ;
12
+ import com .powsybl .sld .model .nodes .*;
7
13
import org .lfenergy .compas .scl .auto .alignment .model .*;
8
14
9
- import java .util .HashMap ;
10
15
import java .util .Map ;
11
16
import java .util .Optional ;
12
17
import java .util .concurrent .atomic .AtomicInteger ;
@@ -15,28 +20,18 @@ public class VoltageLevelGraphBuilder extends AbstractGraphBuilder<VoltageLevelG
15
20
private final GenericVoltageLevel voltageLevel ;
16
21
private final GenericSubstation substation ;
17
22
18
- public VoltageLevelGraphBuilder (GenericVoltageLevel voltageLevel ) {
19
- this (voltageLevel , null , new HashMap <>(), true );
20
- }
21
-
22
23
public VoltageLevelGraphBuilder (GenericVoltageLevel voltageLevel ,
23
24
GenericSubstation substation ,
24
- Map <String , Node > path2Node ) {
25
- this (voltageLevel , substation , path2Node , false );
26
- }
27
-
28
- private VoltageLevelGraphBuilder (GenericVoltageLevel voltageLevel ,
29
- GenericSubstation substation ,
30
- Map <String , Node > path2Node ,
31
- boolean forVoltageLevelDiagram ) {
25
+ Map <String , Node > path2Node ,
26
+ BaseGraph parentGraph ) {
32
27
super (path2Node );
33
28
this .voltageLevel = voltageLevel ;
34
29
this .substation = substation ;
35
30
36
31
var voltageLevelInfos = new VoltageLevelInfos (voltageLevel .getFullName (),
37
32
voltageLevel .getFullName (),
38
33
voltageLevel .getVoltage ());
39
- setGraph (VoltageLevelGraph . create (voltageLevelInfos , forVoltageLevelDiagram ));
34
+ setGraph (new VoltageLevelGraph (voltageLevelInfos , parentGraph ));
40
35
41
36
createVoltageLevel ();
42
37
}
@@ -57,14 +52,14 @@ private void createVoltageLevel() {
57
52
private void processBusbarNode (GenericBay busbar ,
58
53
AtomicInteger busbarIndex ) {
59
54
busbar .getConnectivityNodes ()
60
- .forEach (connectivityNode ->
55
+ .stream ().findFirst ()
56
+ .ifPresent (connectivityNode ->
61
57
addNode (connectivityNode .getPathName (),
62
58
createBusbarNode (busbar .getFullName (), busbarIndex .getAndIncrement (), 1 )));
63
59
}
64
60
65
61
public BusNode createBusbarNode (String id , int busbarIndex , int sectionIndex ) {
66
- BusNode busNode = BusNode .create (getGraph (), id , id );
67
- getGraph ().addNode (busNode );
62
+ BusNode busNode = NodeFactory .createBusNode (getGraph (), id , id );
68
63
busNode .setBusBarIndexSectionIndex (busbarIndex , sectionIndex );
69
64
return busNode ;
70
65
}
@@ -127,45 +122,40 @@ private Node terminalToNode(GenericTerminal terminal) {
127
122
}
128
123
129
124
private SwitchNode createSwitchNode (String id ) {
130
- SwitchNode sw = new SwitchNode (id , id , SwitchNode .SwitchKind .BREAKER .name (), false ,
131
- getGraph (), SwitchNode .SwitchKind .BREAKER , false );
132
- getGraph ().addNode (sw );
133
- return sw ;
125
+ return NodeFactory .createSwitchNode (getGraph (), id , id , SwitchNode .SwitchKind .BREAKER .name (),
126
+ false , SwitchNode .SwitchKind .BREAKER , false );
134
127
}
135
128
136
129
private void connectNode (Node node1 , Node node2 ) {
137
130
getGraph ().addEdge (node1 , node2 );
138
131
}
139
132
140
133
private FictitiousNode createFictitiousNode (String id ) {
141
- InternalNode fictitiousNode = new InternalNode (id , getGraph ());
142
- getGraph ().addNode (fictitiousNode );
143
- return fictitiousNode ;
134
+ return NodeFactory .createFictitiousNode (getGraph (), id , id , id , ComponentTypeName .LINE );
144
135
}
145
136
146
137
private FeederNode createLoad (String id ) {
147
- FeederInjectionNode fn = FeederInjectionNode .createLoad (getGraph (), id , id );
138
+ FeederNode fn = NodeFactory .createLoad (getGraph (), id , id );
148
139
commonFeederSetting (fn , id , 0 , null );
149
140
return fn ;
150
141
}
151
142
152
143
public Feeder2WTLegNode createFeeder2WTLegNode (String id , FeederWithSideNode .Side side , int order ,
153
- BusCell . Direction direction ) {
154
- Feeder2WTLegNode f2WTe = Feeder2WTLegNode . create (getGraph (), id + "_" + side , id , id , side );
144
+ Direction direction ) {
145
+ Feeder2WTLegNode f2WTe = NodeFactory . createFeeder2WTLegNode (getGraph (), id + "_" + side , id , id , side );
155
146
commonFeederSetting (f2WTe , id , order , direction );
156
147
return f2WTe ;
157
148
}
158
149
159
150
public Feeder3WTLegNode createFeeder3WTLegNode (String id , FeederWithSideNode .Side side , int order ,
160
- BusCell . Direction direction ) {
161
- Feeder3WTLegNode f3WTe = Feeder3WTLegNode . createForSubstationDiagram (getGraph (), id + "_" + side , id , id , side );
151
+ Direction direction ) {
152
+ Feeder3WTLegNode f3WTe = NodeFactory . createFeeder3WTLegNodeForSubstationDiagram (getGraph (), id + "_" + side , id , id , side );
162
153
commonFeederSetting (f3WTe , id + side .getIntValue (), order , direction );
163
154
return f3WTe ;
164
155
}
165
156
166
- private void commonFeederSetting (FeederNode node , String id , int order , BusCell . Direction direction ) {
157
+ private void commonFeederSetting (FeederNode node , String id , int order , Direction direction ) {
167
158
node .setLabel (id );
168
- getGraph ().addNode (node );
169
159
170
160
if (direction != null ) {
171
161
node .setOrder (order );
0 commit comments