public Resource[] getResources(Device device) throws ValidationException { if (!device.isRoot()) return null; Set<Resource> resources = new HashSet<>(); List<ValidationError> errors = new ArrayList<>(); log.fine("Discovering local resources of device graph"); Resource[] discoveredResources = device.discoverResources(this); for (Resource resource : discoveredResources) { log.finer("Discovered: " + resource); if (!resources.add(resource)) { log.finer("Local resource already exists, queueing validation error"); errors.add(new ValidationError( getClass(), "resources", "Local URI namespace conflict between resources of device: " + resource )); } } if (errors.size() > 0) { throw new ValidationException("Validation of device graph failed, call getErrors() on exception", errors); } return resources.toArray(new Resource[resources.size()]); }
@Override public Resource[] discoverResources(Namespace namespace) { List<Resource> discovered = new ArrayList<>(); // Services for (RemoteService service : getServices()) { if(service == null) continue; discovered.add(new ServiceEventCallbackResource(namespace.getEventCallbackPath(service), service)); } // Embedded devices if (hasEmbeddedDevices()) { for (Device embeddedDevice : getEmbeddedDevices()) { if(embeddedDevice == null) continue; discovered.addAll(Arrays.asList(embeddedDevice.discoverResources(namespace))); } } return discovered.toArray(new Resource[discovered.size()]); }
discovered.addAll(Arrays.asList(embeddedDevice.discoverResources(namespace)));
public Resource[] getResources(Device device) throws ValidationException { if (!device.isRoot()) return null; Set<Resource> resources = new HashSet<Resource>(); List<ValidationError> errors = new ArrayList<ValidationError>(); log.fine("Discovering local resources of device graph"); Resource[] discoveredResources = device.discoverResources(this); for (Resource resource : discoveredResources) { log.finer("Discovered: " + resource); if (!resources.add(resource)) { log.finer("Local resource already exists, queueing validation error"); errors.add(new ValidationError( getClass(), "resources", "Local URI namespace conflict between resources of device: " + resource )); } } if (errors.size() > 0) { throw new ValidationException("Validation of device graph failed, call getErrors() on exception", errors); } return resources.toArray(new Resource[resources.size()]); }
@Override public Resource[] discoverResources(Namespace namespace) { List<Resource> discovered = new ArrayList(); // Services for (RemoteService service : getServices()) { if(service == null) continue; discovered.add(new ServiceEventCallbackResource(namespace.getEventCallbackPath(service), service)); } // Embedded devices if (hasEmbeddedDevices()) { for (Device embeddedDevice : getEmbeddedDevices()) { if(embeddedDevice == null) continue; discovered.addAll(Arrays.asList(embeddedDevice.discoverResources(namespace))); } } return discovered.toArray(new Resource[discovered.size()]); }
discovered.addAll(Arrays.asList(embeddedDevice.discoverResources(namespace)));
public Resource[] getResources(Device device) throws ValidationException { if (!device.isRoot()) return null; Set<Resource> resources = new HashSet<>(); List<ValidationError> errors = new ArrayList<>(); log.fine("Discovering local resources of device graph"); Resource[] discoveredResources = device.discoverResources(this); for (Resource resource : discoveredResources) { log.finer("Discovered: " + resource); if (!resources.add(resource)) { log.finer("Local resource already exists, queueing validation error"); errors.add(new ValidationError( getClass(), "resources", "Local URI namespace conflict between resources of device: " + resource )); } } if (errors.size() > 0) { throw new ValidationException("Validation of device graph failed, call getErrors() on exception", errors); } return resources.toArray(new Resource[resources.size()]); }
@Override public Resource[] discoverResources(Namespace namespace) { List<Resource> discovered = new ArrayList<>(); // Services for (RemoteService service : getServices()) { if(service == null) continue; discovered.add(new ServiceEventCallbackResource(namespace.getEventCallbackPath(service), service)); } // Embedded devices if (hasEmbeddedDevices()) { for (Device embeddedDevice : getEmbeddedDevices()) { if(embeddedDevice == null) continue; discovered.addAll(Arrays.asList(embeddedDevice.discoverResources(namespace))); } } return discovered.toArray(new Resource[discovered.size()]); }
discovered.addAll(Arrays.asList(embeddedDevice.discoverResources(namespace)));