private int getMaxScanTimeout(Set<DiscoveryService> discoveryServices) { int result = 0; for (DiscoveryService discoveryService : discoveryServices) { if (discoveryService.getScanTimeout() > result) { result = discoveryService.getScanTimeout(); } } return result; }
@Override public List<ThingTypeUID> getSupportedThingTypes() { List<ThingTypeUID> thingTypeUIDs = new ArrayList<>(); for (DiscoveryService discoveryService : this.discoveryServices) { thingTypeUIDs.addAll(discoveryService.getSupportedThingTypes()); } return thingTypeUIDs; }
private void removeDiscoveryServiceActivated(DiscoveryService discoveryService) { this.discoveryServices.remove(discoveryService); discoveryService.removeDiscoveryListener(this); synchronized (cachedResults) { this.cachedResults.remove(discoveryService); } }
private boolean startScan(DiscoveryService discoveryService, @Nullable ScanListener listener) { Collection<ThingTypeUID> supportedThingTypes = discoveryService.getSupportedThingTypes(); try { logger.debug("Triggering scan for thing types '{}' on '{}'...", supportedThingTypes, discoveryService.getClass().getSimpleName()); discoveryService.startScan(listener); return true; } catch (Exception ex) { logger.error("Cannot trigger scan for thing types '{}' on '{}'!", supportedThingTypes, discoveryService.getClass().getSimpleName(), ex); return false; } }
private boolean abortScans(Set<DiscoveryService> discoveryServices) { boolean allServicesAborted = true; for (DiscoveryService discoveryService : discoveryServices) { Collection<ThingTypeUID> supportedThingTypes = discoveryService.getSupportedThingTypes(); try { logger.debug("Abort scan for thing types '{}' on '{}'...", supportedThingTypes, discoveryService.getClass().getName()); discoveryService.abortScan(); logger.debug("Scan for thing types '{}' aborted on '{}'.", supportedThingTypes, discoveryService.getClass().getName()); } catch (Exception ex) { logger.error("Cannot abort scan for thing types '{}' on '{}'!", supportedThingTypes, discoveryService.getClass().getName(), ex); allServicesAborted = false; } } return allServicesAborted; }
@Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC) protected void addDiscoveryService(final DiscoveryService discoveryService) { discoveryService.addDiscoveryListener(this); if (discoveryService instanceof ExtendedDiscoveryService) { safeCaller.create((ExtendedDiscoveryService) discoveryService).build() .setDiscoveryServiceCallback(discoveryServiceCallback); } this.discoveryServices.add(discoveryService); }
private boolean startScan(DiscoveryService discoveryService, @Nullable ScanListener listener) { Collection<ThingTypeUID> supportedThingTypes = discoveryService.getSupportedThingTypes(); try { logger.debug("Triggering scan for thing types '{}' on '{}'...", supportedThingTypes, discoveryService.getClass().getSimpleName()); discoveryService.startScan(listener); return true; } catch (Exception ex) { logger.error("Cannot trigger scan for thing types '{}' on '{}'!", supportedThingTypes, discoveryService.getClass().getSimpleName(), ex); return false; } }
private boolean abortScans(Set<DiscoveryService> discoveryServices) { boolean allServicesAborted = true; for (DiscoveryService discoveryService : discoveryServices) { Collection<ThingTypeUID> supportedThingTypes = discoveryService.getSupportedThingTypes(); try { logger.debug("Abort scan for thing types '{}' on '{}'...", supportedThingTypes, discoveryService.getClass().getName()); discoveryService.abortScan(); logger.debug("Scan for thing types '{}' aborted on '{}'.", supportedThingTypes, discoveryService.getClass().getName()); } catch (Exception ex) { logger.error("Cannot abort scan for thing types '{}' on '{}'!", supportedThingTypes, discoveryService.getClass().getName(), ex); allServicesAborted = false; } } return allServicesAborted; }
private void addDiscoveryServiceActivated(final DiscoveryService discoveryService) { discoveryService.addDiscoveryListener(this); if (discoveryService instanceof ExtendedDiscoveryService) { safeCaller.create((ExtendedDiscoveryService) discoveryService, ExtendedDiscoveryService.class).build() .setDiscoveryServiceCallback(new DiscoveryServiceCallback() { }); } this.discoveryServices.add(discoveryService); }
@Override public List<ThingTypeUID> getSupportedThingTypes() { List<ThingTypeUID> thingTypeUIDs = new ArrayList<>(); for (DiscoveryService discoveryService : this.discoveryServices) { thingTypeUIDs.addAll(discoveryService.getSupportedThingTypes()); } return thingTypeUIDs; }
protected void removeDiscoveryService(DiscoveryService discoveryService) { this.discoveryServices.remove(discoveryService); discoveryService.removeDiscoveryListener(this); synchronized (cachedResults) { this.cachedResults.removeAll(discoveryService); } }
private int getMaxScanTimeout(Set<DiscoveryService> discoveryServices) { int result = 0; for (DiscoveryService discoveryService : discoveryServices) { if (discoveryService.getScanTimeout() > result) { result = discoveryService.getScanTimeout(); } } return result; }
private synchronized Set<DiscoveryService> getDiscoveryServices(ThingTypeUID thingTypeUID) throws IllegalStateException { Set<DiscoveryService> discoveryServices = new HashSet<>(); for (DiscoveryService discoveryService : this.discoveryServices) { Collection<ThingTypeUID> discoveryThingTypes = discoveryService.getSupportedThingTypes(); if (discoveryThingTypes.contains(thingTypeUID)) { discoveryServices.add(discoveryService); } } return discoveryServices; }
private synchronized Set<DiscoveryService> getDiscoveryServices(ThingTypeUID thingTypeUID) throws IllegalStateException { Set<DiscoveryService> discoveryServices = new HashSet<>(); for (DiscoveryService discoveryService : this.discoveryServices) { Collection<ThingTypeUID> discoveryThingTypes = discoveryService.getSupportedThingTypes(); if (discoveryThingTypes.contains(thingTypeUID)) { discoveryServices.add(discoveryService); } } return discoveryServices; }
@Override public List<String> getSupportedBindings() { List<String> bindings = new ArrayList<>(); for (DiscoveryService discoveryService : this.discoveryServices) { Collection<ThingTypeUID> supportedThingTypes = discoveryService.getSupportedThingTypes(); for (ThingTypeUID thingTypeUID : supportedThingTypes) { bindings.add(thingTypeUID.getBindingId()); } } return bindings; }
private synchronized Set<DiscoveryService> getDiscoveryServices(String bindingId) throws IllegalStateException { Set<DiscoveryService> discoveryServices = new HashSet<>(); for (DiscoveryService discoveryService : this.discoveryServices) { Collection<ThingTypeUID> discoveryThingTypes = discoveryService.getSupportedThingTypes(); for (ThingTypeUID thingTypeUID : discoveryThingTypes) { if (thingTypeUID.getBindingId().equals(bindingId)) { discoveryServices.add(discoveryService); } } } return discoveryServices; }
private synchronized Set<DiscoveryService> getDiscoveryServices(String bindingId) throws IllegalStateException { Set<DiscoveryService> discoveryServices = new HashSet<>(); for (DiscoveryService discoveryService : this.discoveryServices) { Collection<ThingTypeUID> discoveryThingTypes = discoveryService.getSupportedThingTypes(); for (ThingTypeUID thingTypeUID : discoveryThingTypes) { if (thingTypeUID.getBindingId().equals(bindingId)) { discoveryServices.add(discoveryService); } } } return discoveryServices; }
@Override public List<String> getSupportedBindings() { List<String> bindings = new ArrayList<>(); for (DiscoveryService discoveryService : this.discoveryServices) { Collection<ThingTypeUID> supportedThingTypes = discoveryService.getSupportedThingTypes(); for (ThingTypeUID thingTypeUID : supportedThingTypes) { bindings.add(thingTypeUID.getBindingId()); } } return bindings; }