diff --git a/src/main/java/org/gridsuite/network/map/NetworkMapService.java b/src/main/java/org/gridsuite/network/map/NetworkMapService.java index a1b55460..ff63ebce 100644 --- a/src/main/java/org/gridsuite/network/map/NetworkMapService.java +++ b/src/main/java/org/gridsuite/network/map/NetworkMapService.java @@ -59,7 +59,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)) @@ -194,10 +194,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 @@ -339,8 +338,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); }