List of usage examples for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider ClassPathScanningCandidateComponentProvider
public ClassPathScanningCandidateComponentProvider(boolean useDefaultFilters, Environment environment)
From source file:com.consol.citrus.admin.executor.ClasspathTestExecutor.java
/** * Finds all test cases in classpath starting in given base package. Searches for * **.class files extending AbstractTestNGCitrusTest superclass. * /*from www . ja va 2 s . co m*/ * @param basePackage * @return */ private List<String> findTestsInClasspath(String basePackage) { List<String> testCaseNames = new ArrayList<String>(); ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false, new StandardServletEnvironment()); scanner.addIncludeFilter(new CitrusTestTypeFilter()); Set<BeanDefinition> findings = scanner.findCandidateComponents(basePackage); for (BeanDefinition bean : findings) { testCaseNames.add(bean.getBeanClassName()); } return testCaseNames; }
From source file:natalia.dymnikova.cluster.scheduler.impl.requirements.ComputeMemberRequirementsBuilder.java
private Entry<Field, Set<ScannedGenericBeanDefinition>> scan(TypeFilterWithField filter) { final ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider( false, scannerEnvironment);/*from ww w. j a v a 2s . c om*/ scanner.setResourceLoader(resourcePatternResolver); scanner.setMetadataReaderFactory(metadataReaderFactory); scanner.resetFilters(false); scanner.addIncludeFilter(new CompositeFilter(new AnnotationTypeFilter(Component.class), filter)); final Set<BeanDefinition> candidateComponents = scanner.findCandidateComponents(basePackage); final Set<ScannedGenericBeanDefinition> collect = candidateComponents.stream() .map(bd -> (ScannedGenericBeanDefinition) bd).collect(toSet()); return new SimpleEntry<>(filter.field, collect); }
From source file:natalia.dymnikova.cluster.scheduler.impl.RolesChecker.java
private List<Set<ScannedGenericBeanDefinition>> scan(final String basePackage, final List<TypeFilter> filters) { final ArrayList<Set<ScannedGenericBeanDefinition>> sets = new ArrayList<>(filters.size()); final ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider( false, scannerEnvironment);/* ww w. j ava 2 s. com*/ scanner.setResourceLoader(resourcePatternResolver); scanner.setMetadataReaderFactory(metadataReaderFactory); for (final TypeFilter filter : filters) { scanner.resetFilters(false); scanner.addIncludeFilter(new CompositeFilter(new AnnotationTypeFilter(Component.class), filter)); final Set<BeanDefinition> candidateComponents = scanner.findCandidateComponents(basePackage); final Set<ScannedGenericBeanDefinition> collect = candidateComponents.stream() .map(bd -> (ScannedGenericBeanDefinition) bd).collect(toSet()); sets.add(collect); } scanner.clearCache(); return sets; }
From source file:org.springframework.data.gemfire.config.annotation.support.GemFireComponentClassTypeScanner.java
/** * Constructs a new instance of the {@link ClassPathScanningCandidateComponentProvider} initialized with * the {@code useDefaultFilters} boolean value to indicate whether to use default values or not. Additionally, * the exclude/include filters are also set. * * @param useDefaultFilters boolean value to indicate whether to use default filters. * @return a new instance of the {@link ClassPathScanningCandidateComponentProvider}. * @see org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider * @see #newClassPathScanningCandidateComponentProvider(boolean) *///from w w w . ja v a 2s . co m protected ClassPathScanningCandidateComponentProvider newClassPathScanningCandidateComponentProvider( boolean useDefaultFilters) { ClassPathScanningCandidateComponentProvider componentProvider = new ClassPathScanningCandidateComponentProvider( useDefaultFilters, getEnvironment()); this.excludes.forEach(componentProvider::addExcludeFilter); this.includes.forEach(componentProvider::addIncludeFilter); return componentProvider; }