From: Gaƫl L'hopital Date: Mon, 25 Mar 2024 08:19:32 +0000 (+0100) Subject: Enhance getActiveChildren() (#16573) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=9dd2827148125e77a7b7aaf7f29f93547effb703;p=openhab-addons.git Enhance getActiveChildren() (#16573) Signed-off-by: clinique --- diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/CommonInterface.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/CommonInterface.java index 59e43d3016..da571ce7a8 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/CommonInterface.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/CommonInterface.java @@ -14,7 +14,6 @@ package org.openhab.binding.netatmo.internal.handler; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import java.util.Optional; import java.util.concurrent.ScheduledExecutorService; import java.util.stream.Stream; @@ -107,7 +106,7 @@ public interface CommonInterface { } default void expireData() { - getCapabilities().values().forEach(cap -> cap.expireData()); + getCapabilities().values().forEach(Capability::expireData); } default String getId() { @@ -152,13 +151,12 @@ public interface CommonInterface { } default List getActiveChildren() { - Thing thing = getThing(); - if (thing instanceof Bridge bridge) { - return bridge.getThings().stream().filter(Thing::isEnabled) - .filter(th -> th.getStatusInfo().getStatusDetail() != ThingStatusDetail.BRIDGE_OFFLINE) - .map(Thing::getHandler).filter(Objects::nonNull).map(CommonInterface.class::cast).toList(); - } - return List.of(); + return getThing() instanceof Bridge bridge + ? bridge.getThings().stream().filter(Thing::isEnabled) + .filter(th -> th.getStatusInfo().getStatusDetail() != ThingStatusDetail.BRIDGE_OFFLINE) + .map(Thing::getHandler).filter(CommonInterface.class::isInstance) + .map(CommonInterface.class::cast).toList() + : List.of(); } default Stream getActiveChildren(FeatureArea area) { @@ -207,7 +205,7 @@ public interface CommonInterface { } default void proceedWithUpdate() { - updateReadings().forEach(dataSet -> setNewData(dataSet)); + updateReadings().forEach(this::setNewData); } default List updateReadings() { @@ -244,7 +242,6 @@ public interface CommonInterface { } default void removeChannels(List channels) { - ThingBuilder builder = editThing().withoutChannels(channels); - updateThing(builder.build()); + updateThing(editThing().withoutChannels(channels).build()); } }