Skip to content

Commit 17223c6

Browse files
author
Dennis Labordus
committed
Changed auto alignment to group all components from a single bay.
Signed-off-by: Dennis Labordus <[email protected]>
1 parent 33c18ce commit 17223c6

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

service/src/main/java/org/lfenergy/compas/scl/auto/alignment/builder/VoltageLevelGraphBuilder.java

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,22 @@ private void createVoltageLevel() {
4141
var busbarIndex = new AtomicInteger(1);
4242
voltageLevel.getBays().stream()
4343
.filter(GenericBay::isBusbar)
44-
.forEach(busbar -> processBusbarNode(busbar, busbarIndex));
44+
.forEach(busbar -> processBusbarNode(busbar, busbarIndex.getAndIncrement()));
4545

4646
// Next process the other bays.
47+
var bayIndex = new AtomicInteger(1);
4748
voltageLevel.getBays().stream()
4849
.filter(bay -> !bay.isBusbar())
49-
.forEach(this::processBayNode);
50+
.forEach(bay -> processBayNode(bay, bayIndex.getAndIncrement()));
5051
}
5152

5253
private void processBusbarNode(GenericBay busbar,
53-
AtomicInteger busbarIndex) {
54+
int busbarIndex) {
5455
busbar.getConnectivityNodes()
5556
.stream().findFirst()
5657
.ifPresent(connectivityNode ->
5758
addNode(connectivityNode.getPathName(),
58-
createBusbarNode(busbar.getFullName(), busbarIndex.getAndIncrement(), 1)));
59+
createBusbarNode(busbar.getFullName(), busbarIndex, 1)));
5960
}
6061

6162
public BusNode createBusbarNode(String id, int busbarIndex, int sectionIndex) {
@@ -64,9 +65,10 @@ public BusNode createBusbarNode(String id, int busbarIndex, int sectionIndex) {
6465
return busNode;
6566
}
6667

67-
private void processBayNode(GenericBay bay) {
68+
private void processBayNode(GenericBay bay, int bayIndex) {
6869
bay.getConnectivityNodes().forEach(this::createConnectivityNode);
69-
bay.getConductingEquipments().forEach(this::processConductingEquipment);
70+
bay.getConductingEquipments().forEach(conductingEquipment ->
71+
processConductingEquipment(conductingEquipment, bayIndex));
7072
}
7173

7274
private void createConnectivityNode(GenericConnectivityNode connectivityNode) {
@@ -94,36 +96,39 @@ private Optional<GenericPowerTransformer> getPowerTransformer(String pathName) {
9496
return Optional.empty();
9597
}
9698

97-
private void processConductingEquipment(GenericConductingEquipment conductingEquipment) {
99+
private void processConductingEquipment(GenericConductingEquipment conductingEquipment, int order) {
98100
var terminals = conductingEquipment.getTerminals();
99101
var fullName = conductingEquipment.getFullName();
100-
var node = createSwitchNode(fullName);
102+
var node = createSwitchNode(fullName, order);
101103

102104
if (!terminals.isEmpty()) {
103-
Node node1 = terminalToNode(terminals.get(0));
105+
Node node1 = terminalToNode(terminals.get(0), order);
104106
Node node2 = null;
105107
var termNb = terminals.size();
106108
if (termNb == 1) {
107-
node2 = createLoad(fullName + "/Grounded");
109+
node2 = createLoad(fullName + "/Grounded", order);
108110
} else if (termNb == 2) {
109-
node2 = terminalToNode(terminals.get(1));
111+
node2 = terminalToNode(terminals.get(1), order);
110112
}
111113
connectNode(node, node1);
112114
connectNode(node, node2);
113115
}
114116
}
115117

116-
private Node terminalToNode(GenericTerminal terminal) {
118+
private Node terminalToNode(GenericTerminal terminal, int order) {
117119
var pathName = terminal.getConnectivityNode();
118120
if (pathName != null) {
119121
return getNodeByPath(pathName);
120122
}
121-
return createLoad(terminal.getCNodeName());
123+
return createLoad(terminal.getCNodeName(), order);
122124
}
123125

124-
private SwitchNode createSwitchNode(String id) {
125-
return NodeFactory.createSwitchNode(getGraph(), id, id, SwitchNode.SwitchKind.BREAKER.name(),
126+
private SwitchNode createSwitchNode(String id, int order) {
127+
var switchNode = NodeFactory.createSwitchNode(getGraph(), id, id, SwitchNode.SwitchKind.BREAKER.name(),
126128
false, SwitchNode.SwitchKind.BREAKER, false);
129+
switchNode.setOrder(order);
130+
switchNode.setDirection(Direction.TOP);
131+
return switchNode;
127132
}
128133

129134
private void connectNode(Node node1, Node node2) {
@@ -134,9 +139,9 @@ private FictitiousNode createFictitiousNode(String id) {
134139
return NodeFactory.createFictitiousNode(getGraph(), id, id, id, ComponentTypeName.LINE);
135140
}
136141

137-
private FeederNode createLoad(String id) {
142+
private FeederNode createLoad(String id, int order) {
138143
FeederNode fn = NodeFactory.createLoad(getGraph(), id, id);
139-
commonFeederSetting(fn, id, 0, null);
144+
commonFeederSetting(fn, id, order, Direction.TOP);
140145
return fn;
141146
}
142147

0 commit comments

Comments
 (0)