From e30abb0f26a204852977c59feeb39713fc4555f9 Mon Sep 17 00:00:00 2001 From: Andrew Fiddian-Green Date: Tue, 21 Nov 2023 11:45:42 +0000 Subject: [PATCH] [hue] eliminate scenes having the same name Signed-off-by: Andrew Fiddian-Green --- .../binding/hue/internal/handler/Clip2ThingHandler.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/Clip2ThingHandler.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/Clip2ThingHandler.java index a436f7f889a4f..6436d93dba0ee 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/Clip2ThingHandler.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/Clip2ThingHandler.java @@ -19,12 +19,14 @@ import java.time.Instant; import java.util.ArrayList; import java.util.Collection; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; @@ -1193,8 +1195,8 @@ public synchronized boolean updateSceneContributors(List allScenes) { sceneResourceEntries.clear(); ResourceReference thisReference = getResourceReference(); - List scenes = allScenes.stream().filter(s -> thisReference.equals(s.getGroup())) - .collect(Collectors.toList()); + Set scenes = allScenes.stream().filter(s -> thisReference.equals(s.getGroup())) + .collect(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Resource::getName)))); if (!scenes.isEmpty()) { sceneContributorsCache.putAll(scenes.stream().collect(Collectors.toMap(s -> s.getId(), s -> s)));