]> git.basschouten.com Git - openhab-addons.git/commitdiff
[OmniLink] Use for each loop in getChildThing() (#9963)
authorEthan Dye <mrtops03@gmail.com>
Tue, 26 Jan 2021 16:20:39 +0000 (09:20 -0700)
committerGitHub <noreply@github.com>
Tue, 26 Jan 2021 16:20:39 +0000 (17:20 +0100)
* Use for each loop in getChildThing()

Signed-off-by: Ethan Dye <mrtops03@gmail.com>
* Further refine getChildThing() using stream map

Signed-off-by: Ethan Dye <mrtops03@gmail.com>
* Fix spotless errors

Signed-off-by: Ethan Dye <mrtops03@gmail.com>
bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/OmnilinkBindingConstants.java
bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java

index 05843027dbc59ba92e97623b98297231c55ad68f..0baf6eac70c3bb3d914adbfffc1d74313e66c1da 100644 (file)
@@ -185,4 +185,6 @@ public class OmnilinkBindingConstants {
             THING_TYPE_BUTTON, THING_TYPE_UNIT_UPB, THING_TYPE_THERMOSTAT, THING_TYPE_CONSOLE, THING_TYPE_AUDIO_ZONE,
             THING_TYPE_AUDIO_SOURCE, THING_TYPE_TEMP_SENSOR, THING_TYPE_HUMIDITY_SENSOR, THING_TYPE_LOCK,
             THING_TYPE_OUTPUT, THING_TYPE_UNIT, THING_TYPE_DIMMABLE);
+    public static final Set<ThingTypeUID> SUPPORTED_UNIT_TYPES_UIDS = Set.of(THING_TYPE_UNIT_UPB, THING_TYPE_ROOM,
+            THING_TYPE_FLAG, THING_TYPE_OUTPUT, THING_TYPE_DIMMABLE, THING_TYPE_UNIT);
 }
index 7cc1056688d29e0b5e548b75e34b6c37f5f8aeff..52232bab26e0319d7f3145236fc37d2e4304a832 100644 (file)
@@ -568,24 +568,8 @@ public class OmnilinkBridgeHandler extends BaseBridgeHandler implements Notifica
     }
 
     private Optional<Thing> getUnitThing(int unitId) {
-        Optional<Thing> theThing = getChildThing(THING_TYPE_UNIT_UPB, unitId);
-        if (!(theThing.isPresent())) {
-            theThing = getChildThing(THING_TYPE_ROOM, unitId);
-        }
-        if (!(theThing.isPresent())) {
-            theThing = getChildThing(THING_TYPE_FLAG, unitId);
-        }
-        if (!(theThing.isPresent())) {
-            theThing = getChildThing(THING_TYPE_OUTPUT, unitId);
-        }
-        if (!(theThing.isPresent())) {
-            theThing = getChildThing(THING_TYPE_DIMMABLE, unitId);
-        }
-        if (!(theThing.isPresent())) {
-            theThing = getChildThing(THING_TYPE_UNIT, unitId);
-        }
-
-        return theThing;
+        return SUPPORTED_UNIT_TYPES_UIDS.stream().map(uid -> getChildThing(uid, unitId)).flatMap(Optional::stream)
+                .findFirst();
     }
 
     public Optional<AudioPlayer> getAudioPlayer() {