From bf3d1663c165c9d153dece81c682b8ec6f283062 Mon Sep 17 00:00:00 2001 From: Wouter Born Date: Mon, 13 Nov 2017 11:24:25 +0100 Subject: [PATCH] Fix getExistingDiscoveryResult no longer filtering on Thing UID (#4533) Signed-off-by: Wouter Born --- .../test/discovery/DiscoveryServiceRegistryOSGITest.groovy | 4 ++++ .../discovery/internal/DiscoveryServiceRegistryImpl.java | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/bundles/config/org.eclipse.smarthome.config.discovery.test/src/test/groovy/org/eclipse/smarthome/config/setup/test/discovery/DiscoveryServiceRegistryOSGITest.groovy b/bundles/config/org.eclipse.smarthome.config.discovery.test/src/test/groovy/org/eclipse/smarthome/config/setup/test/discovery/DiscoveryServiceRegistryOSGITest.groovy index f13a8603e2c..84eebf50378 100644 --- a/bundles/config/org.eclipse.smarthome.config.discovery.test/src/test/groovy/org/eclipse/smarthome/config/setup/test/discovery/DiscoveryServiceRegistryOSGITest.groovy +++ b/bundles/config/org.eclipse.smarthome.config.discovery.test/src/test/groovy/org/eclipse/smarthome/config/setup/test/discovery/DiscoveryServiceRegistryOSGITest.groovy @@ -438,6 +438,10 @@ class DiscoveryServiceRegistryOSGITest extends OSGiTest { // verify that the existing DiscoveryResult can be accessed assertNotNull extendedDiscoveryServiceMock.discoveryServiceCallback.getExistingDiscoveryResult(thingUID) + + // verify that a non-existing DiscoveryResult can not be accessed + thingUID = new ThingUID(EXTENDED_BINDING_ID, EXTENDED_THING_TYPE, "bar") + assertNull extendedDiscoveryServiceMock.discoveryServiceCallback.getExistingDiscoveryResult(thingUID) } @Test diff --git a/bundles/config/org.eclipse.smarthome.config.discovery/src/main/java/org/eclipse/smarthome/config/discovery/internal/DiscoveryServiceRegistryImpl.java b/bundles/config/org.eclipse.smarthome.config.discovery/src/main/java/org/eclipse/smarthome/config/discovery/internal/DiscoveryServiceRegistryImpl.java index c7b2a77f07f..5d98ff77c77 100644 --- a/bundles/config/org.eclipse.smarthome.config.discovery/src/main/java/org/eclipse/smarthome/config/discovery/internal/DiscoveryServiceRegistryImpl.java +++ b/bundles/config/org.eclipse.smarthome.config.discovery/src/main/java/org/eclipse/smarthome/config/discovery/internal/DiscoveryServiceRegistryImpl.java @@ -7,7 +7,7 @@ */ package org.eclipse.smarthome.config.discovery.internal; -import static org.eclipse.smarthome.config.discovery.inbox.InboxPredicates.withFlag; +import static org.eclipse.smarthome.config.discovery.inbox.InboxPredicates.*; import java.security.AccessController; import java.security.PrivilegedAction; @@ -154,7 +154,8 @@ public DiscoveryResult getExistingDiscoveryResult(ThingUID thingUID) { return null; } List ret = new ArrayList<>(); - ret = inboxReference.stream().filter(withFlag((DiscoveryResultFlag.NEW))).collect(Collectors.toList()); + ret = inboxReference.stream().filter(withFlag(DiscoveryResultFlag.NEW).and(forThingUID(thingUID))) + .collect(Collectors.toList()); if (ret.size() > 0) { return ret.get(0); } else {