-
Notifications
You must be signed in to change notification settings - Fork 13
Migration guide v2.9.0
The TopologyCalculation
class used to partition a VoltageLevelGraph
into several TopologicallyConnectedNodeSets
can be customized since this release with in particular an extremity criteria different from the default one (open switches). Therefore, as a border node for a connected component can now be something else than a SwitchNode, TopologicallyConnectedNodeSets
now contains a Set<Node>
for the border nodes. The following changes also occured:
-
TopologicallyConnectedNodeSets::getBorderSwitchNodesSet
is renamed toTopologicallyConnectedNodeSets::getBorderNodes
and returns aSet<Node>
instead of aSet<SwitchNode>
-
TopologicallyConnectedNodeSets::getNodesSet
is renamed toTopologicallyConnectedNodeSets::getNodes
-
TopologyCalculation::run(VoltageLevelGraph)
static method has been replaced byTopologyCalculation::findConnectedNodeSets(VoltageLevelGraph)
, the custom extremity criteria is given inTopologyCalculation
new constructor. - A new
TopologyCalculation::run(VoltageLevelGraph, Predicate<TopologicallyConnectedNodesSet>)
method has been introduced to filter theList<TopologicallyConnectedNodesSet>
results
Since this release, an information component (BusInfo
) can be added on each busbar, similarly to the FeederInfo
for feeders. This component is either on the left of the busbar or on its right. To use this new feature:
- Use
Optional<BusInfo> getBusInfo(BusNode node)
of interfaceDiagramLabelProvider
to provide theBusInfo
for each busbar. - Use
PositionVoltageLevelLayoutFactory::setBusInfoMap
orBlockOrganizer
new constructor with theMap<String, Side>
map between bus ids and left/right side. To get the map consistent with theDiagramLabelProvider
you're using, you can get that map withDiagramLabelProvider::getBusInfoSides(VoltageLevelGraph)
utility method. - Use the interface
DiagramStyleProvider::getBusInfoStyle(BusInfo)
to provide the proper CSS classes for eachBusInfo
. - Use the new
LayoutParameter::busInfoMargin
to set the margin between the busbar extremity and the component.
Since this release, the classes NetworkGraphBuilder
and RawGraphBuilder
have been moved to a new builders
package. Besides the inner classes RawGraphBuilder.VoltageLevelBuilder
and RawGraphBuilder.SubstationBuilder
have been moved to independent classes VoltageLevelRawBuilder
and SubstationRawBuilder
in this same builders
package.
A new parameters has been introduced in this release: LayoutParameters::busbarsAlignment
. It allows to align the busbars in a substation (either on first or last busbar, or on the middle of the busbar sections) when layoutParameters.isAdaptCellHeightToContent()
is true. Set this parameter to Alignment.NONE
if you want the previous behaviour (no bus bar alignment, but voltage levels top alignment).