From 84e0014c49453487a07e7188d8e7fad35a4098fa Mon Sep 17 00:00:00 2001 From: TOURI ANIS Date: Tue, 30 Jul 2024 18:54:24 +0200 Subject: [PATCH] Remove Bus case from getConnectableStream and optimize getBus by substation IDs Signed-off-by: TOURI ANIS --- .../org/gridsuite/network/map/NetworkMapService.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/gridsuite/network/map/NetworkMapService.java b/src/main/java/org/gridsuite/network/map/NetworkMapService.java index b6766ef9..169413a2 100644 --- a/src/main/java/org/gridsuite/network/map/NetworkMapService.java +++ b/src/main/java/org/gridsuite/network/map/NetworkMapService.java @@ -58,7 +58,7 @@ public List getSubstationsIds(UUID networkUuid, String variantId, List substationsId) { - Network network = getNetwork(networkUuid, PreloadingStrategy.COLLECTION, variantId); + Network network = getNetwork(networkUuid, getPreloadingStrategy(substationsId), variantId); return AllElementsInfos.builder() .substations(getSubstationsInfos(network, substationsId, InfoTypeParameters.TAB, null)) .voltageLevels(getVoltageLevelsInfos(network, substationsId, InfoTypeParameters.TAB, null)) @@ -192,10 +192,9 @@ public List getTieLinesInfos(Network network, List substat .toList(); } - public List getBusesInfos(Network network, List substationsId, InfoTypeParameters infoTypeParameters) { - Stream buses = substationsId == null ? network.getBusView().getBusStream() : - network.getBusView().getBusStream() - .filter(bus -> bus.getVoltageLevel().getSubstation().stream().anyMatch(substation -> substationsId.contains(substation.getId()))) + public List getBusesInfos(Network network, List substationsIds, InfoTypeParameters infoTypeParameters) { + Stream buses = substationsIds == null ? network.getBusView().getBusStream() : + substationsIds.stream().flatMap(substationId -> network.getSubstation(substationId).getVoltageLevelStream().flatMap(voltageLevel -> voltageLevel.getBusView().getBusStream())) .filter(Objects::nonNull) .distinct(); return buses @@ -337,8 +336,6 @@ public Stream getConnectableStream(Network network, Eleme return network.getShuntCompensatorStream(); case STATIC_VAR_COMPENSATOR: return network.getStaticVarCompensatorStream(); - case BUS: - return network.getBusbarSectionStream(); default: throw new IllegalStateException("Unexpected connectable type:" + elementType); }