Map<String, Plugin> pluginMap = new TreeMap<String, Plugin>();
Class classFilter = (clazz != null) ? clazz : Plugin.class;
// find plugins in classpath
ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false);
provider.addIncludeFilter(new AssignableTypeFilter(classFilter));
Set<BeanDefinition> components = provider.findCandidateComponents("org.joget");
if (scanPackageList != null) {
for (String scanPackage: scanPackageList) {
components.addAll(provider.findCandidateComponents(scanPackage));
}
}
for (BeanDefinition component : components) {
String beanClassName = component.getBeanClassName();
if (blackList == null || !blackList.contains(beanClassName)) {