private void generateInventoryPythonClass(StringBuilder sb, List<String> basePkgs) {
List<String> inventoryPython = new ArrayList<>();
ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false);
scanner.addIncludeFilter(new AnnotationTypeFilter(PythonClassInventory.class));
scanner.addExcludeFilter(new AnnotationTypeFilter(Component.class));
for (String pkg : basePkgs) {
for (BeanDefinition bd : scanner.findCandidateComponents(pkg).stream().sorted((bd1, bd2) -> {
return bd1.getBeanClassName().compareTo(bd2.getBeanClassName());
}).collect(Collectors.toList())) {
try {
Class<?> clazz = Class.forName(bd.getBeanClassName());
if (isPythonClassGenerated(clazz)) {
/* This class was generated as other's parent class */
continue;
}
inventoryPython.add(classToInventoryPythonClass(clazz));
} catch (Exception e) {
logger.warn(String.format("Unable to generate python class for %s", bd.getBeanClassName()), e);
}
}
}
for (String invstr : inventoryPython) {
sb.append(invstr);
}
}
ConfigurationManagerImpl.java 文件源码
java
阅读 32
收藏 0
点赞 0
评论 0
项目:zstack
作者:
评论列表
文章目录