private List<ControllerServiceApiDTO> createControllerServiceApiDto(final Class cls) { final Set<Class> serviceApis = new HashSet<>(); // if this is a controller service if (ControllerService.class.isAssignableFrom(cls)) { // get all of it's interfaces to determine the controller service api's it implements final List<Class<?>> interfaces = ClassUtils.getAllInterfaces(cls); for (final Class i : interfaces) { // add all controller services that's not ControllerService itself if (ControllerService.class.isAssignableFrom(i) && !ControllerService.class.equals(i)) { serviceApis.add(i); } } final List<ControllerServiceApiDTO> dtos = new ArrayList<>(); for (final Class serviceApi : serviceApis) { final Bundle bundle = extensionManager.getBundle(serviceApi.getClassLoader()); final BundleCoordinate bundleCoordinate = bundle.getBundleDetails().getCoordinate(); final ControllerServiceApiDTO dto = new ControllerServiceApiDTO(); dto.setType(serviceApi.getName()); dto.setBundle(createBundleDto(bundleCoordinate)); dtos.add(dto); } return dtos; } else { return null; } }
private ClassLoaderDiagnosticsDTO createClassLoaderDiagnosticsDto(final ClassLoader classLoader) { final ClassLoaderDiagnosticsDTO dto = new ClassLoaderDiagnosticsDTO(); final Bundle bundle = extensionManager.getBundle(classLoader); if (bundle != null) { dto.setBundle(createBundleDto(bundle.getBundleDetails().getCoordinate())); } final ClassLoader parentClassLoader = classLoader.getParent(); if (parentClassLoader != null) { dto.setParentClassLoader(createClassLoaderDiagnosticsDto(parentClassLoader)); } return dto; }
dto.setBundle(createBundleDto(coordinate)); dto.setControllerServiceApis(createControllerServiceApiDto(cls)); dto.setDescription(getCapabilityDescription(cls));
dto.setName(reportingTaskNode.getName()); dto.setType(reportingTaskNode.getCanonicalClassName()); dto.setBundle(createBundleDto(bundleCoordinate)); dto.setSchedulingStrategy(reportingTaskNode.getSchedulingStrategy().name()); dto.setSchedulingPeriod(reportingTaskNode.getSchedulingPeriod());
dto.setName(controllerServiceNode.getName()); dto.setType(controllerServiceNode.getCanonicalClassName()); dto.setBundle(createBundleDto(bundleCoordinate)); dto.setControllerServiceApis(createControllerServiceApiDto(controllerServiceNode.getControllerServiceImplementation().getClass())); dto.setState(controllerServiceNode.getState().name());
dto.setBundle(createBundleDto(bundleCoordinate)); dto.setName(node.getName()); dto.setState(node.getScheduledState().toString());
dto.setIdentifiesControllerServiceBundle(createBundleDto(serviceBundle.getBundleDetails().getCoordinate()));