]> git.basschouten.com Git - openhab-addons.git/commitdiff
[hue] eliminate scenes having the same name (#15976)
authorAndrew Fiddian-Green <software@whitebear.ch>
Wed, 29 Nov 2023 21:36:44 +0000 (21:36 +0000)
committerGitHub <noreply@github.com>
Wed, 29 Nov 2023 21:36:44 +0000 (22:36 +0100)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/Clip2ThingHandler.java

index 292416ec94f90d720696dc192226f2f3ce70a03d..95ecbcd1392c441650d0f4a0b026d81ca1685a79 100644 (file)
@@ -19,12 +19,14 @@ import java.time.Duration;
 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;
@@ -1200,8 +1202,8 @@ public class Clip2ThingHandler extends BaseThingHandler {
             sceneResourceEntries.clear();
 
             ResourceReference thisReference = getResourceReference();
-            List<Resource> scenes = allScenes.stream().filter(s -> thisReference.equals(s.getGroup()))
-                    .collect(Collectors.toList());
+            Set<Resource> 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)));