Example usage for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider ClassPathScanningCandidateComponentProvider

List of usage examples for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider ClassPathScanningCandidateComponentProvider

Introduction

In this page you can find the example usage for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider ClassPathScanningCandidateComponentProvider.

Prototype

public ClassPathScanningCandidateComponentProvider(boolean useDefaultFilters, Environment environment) 

Source Link

Document

Create a ClassPathScanningCandidateComponentProvider with the given Environment .

Usage

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;
}