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

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

Introduction

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

Prototype

public Set<BeanDefinition> findCandidateComponents(String basePackage) 

Source Link

Document

Scan the class path for candidate components.

Usage

From source file:com.zergiu.tvman.shows.ShowsProviderFactoryBean.java

/**
 * /*  w  w w . j  a  v a2s .  co m*/
 */
private void findProviders(String packageName) {
    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);
    scanner.addIncludeFilter(new AssignableTypeFilter(ShowProvider.class));
    for (BeanDefinition bd : scanner.findCandidateComponents(packageName)) {
        ShowProvider provider = getProvider(bd);
        if (provider != null) {
            providers.put(provider.getProviderId(), provider);
        }
    }
}

From source file:com.sourceallies.beanoh.BeanohTestCase.java

private void collectComponentsInClasspath(String basePackage, final Set<String> scannedComponents,
        ClassPathScanningCandidateComponentProvider scanner) {
    for (BeanDefinition beanDefinition : scanner.findCandidateComponents(basePackage)) {
        scannedComponents.add(beanDefinition.getBeanClassName());
    }/*from   w  w w .j av  a  2 s  . co m*/
}

From source file:com.github.gdrouet.scannerbenchmark.JmhBenchmark.java

/**
 * <p>//  ww w .  j a v  a2 s. co  m
 * Looking for type annotated with an annotation with Spring.
 * </p>
 */
@Benchmark
public void scanAnnotatedTypeWithSpring() {
    final ClassPathScanningCandidateComponentProvider s = new ClassPathScanningCandidateComponentProvider(
            false);
    s.addIncludeFilter(new AnnotationTypeFilter(ANNOTATION));
    final Set<BeanDefinition> r = s.findCandidateComponents(PACKAGE);
    LOGGER.info("{} classes annotated with {} retrieved with Spring", r.size(), ANNOTATION.getName());
}

From source file:podd.model.visitor.VisitorAdapterUnitTest.java

@Test
public void testCoversAllClasses() throws Exception {
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProviderAllowInterface(
            true);/*  w w  w .  j  a v a2s  .c om*/
    provider.addIncludeFilter(new AssignableTypeFilter(Entity.class));

    Set<BeanDefinition> components = provider.findCandidateComponents("podd/model");
    resolveAndCheckPackage(components);
}

From source file:org.openmrs.module.kenyaemr.calculation.CalculationManager.java

/**
 * Refreshes registered calculation classes
 *//* w w w  .j  av  a  2  s.  c  o  m*/
public synchronized void refresh() {
    clear();

    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);
    scanner.addIncludeFilter(new AssignableTypeFilter(BaseEmrCalculation.class));

    for (BeanDefinition bd : scanner.findCandidateComponents(CalculationManager.class.getPackage().getName())) {
        try {
            Class clazz = Class.forName(bd.getBeanClassName());
            calculationClasses.put(bd.getBeanClassName(), clazz);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        log.info("Found calculation class :" + bd.getBeanClassName());
    }
}

From source file:org.moserp.RestConfiguration.java

@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            true);//from  w  w  w.  j  a va2s.  c o m
    provider.addIncludeFilter(new AssignableTypeFilter(IdentifiableEntity.class));
    Set<BeanDefinition> components = provider.findCandidateComponents(this.getClass().getPackage().getName());
    List<Class<?>> classes = new ArrayList<>();

    components.forEach(component -> {
        try {
            classes.add(Class.forName(component.getBeanClassName()));
        } catch (Exception e) {
            e.printStackTrace();
        }
    });

    config.exposeIdsFor(classes.toArray(new Class[classes.size()]));
}

From source file:com.github.javarch.persistence.orm.hibernate.spi.multitenant.CurrentTenantIdentifierFinder.java

@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {

    String connectionProvidersPackage = env
            .getProperty(HibernateEnviroment.CURRENT_TENANT_IDENTIFIER_RESOLVER_PACKAGE, "");
    LOGGER.debug("Buscando @CurrentTenantIdentifierResolver no pacote {}", connectionProvidersPackage);

    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);/*from w w w. j ava2 s  .c  o  m*/
    scanner.addIncludeFilter(new AnnotationTypeFilter(CurrentTenantIdentifierResolver.class));

    Set<BeanDefinition> beanDefinitions = scanner.findCandidateComponents(connectionProvidersPackage);
    if (beanDefinitions.isEmpty()) {
        Set<BeanDefinition> defaultBeanDefinition = scanner
                .findCandidateComponents("com.github.javarch.persistence.orm.hibernate.spi.multitenant");
        registrarBeanDefinitions(registry, defaultBeanDefinition);
    } else {
        registrarBeanDefinitions(registry, beanDefinitions);
    }

}

From source file:org.openmrs.module.kenyacore.calculation.CalculationManager.java

/**
 * @see org.openmrs.module.kenyacore.ContentManager#refresh()
 *///  w w  w.  j a  va2 s .  c o  m
@Override
public synchronized void refresh() {
    calculationClasses.clear();
    flagCalculationClasses.clear();

    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);
    scanner.addIncludeFilter(new AssignableTypeFilter(PatientCalculation.class));

    for (BeanDefinition bd : scanner.findCandidateComponents("org.openmrs.module")) {
        try {
            Class<? extends PatientCalculation> clazz = (Class<? extends PatientCalculation>) Context
                    .loadClass(bd.getBeanClassName());
            calculationClasses.put(bd.getBeanClassName(), clazz);

            if (PatientFlagCalculation.class.isAssignableFrom(clazz)) {
                flagCalculationClasses.add((Class<? extends PatientFlagCalculation>) clazz);
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        log.debug("Registered calculation class " + bd.getBeanClassName());
    }
}

From source file:fr.gael.dhus.gwt.GWTWebapp.java

@Override
public void init() {
    this.name = "";
    this.servlets = new ArrayList<WebServlet>();
    this.welcomeFiles = new ArrayList<String>();

    servlets.add(new GWTClientWebServlet("home", "/home"));

    welcomeFiles.add("home");

    ClassPathScanningCandidateComponentProvider scan = new ClassPathScanningCandidateComponentProvider(false);
    scan.addIncludeFilter(new AnnotationTypeFilter(RPCService.class));
    logger.info("    Initializing RPC services");
    for (BeanDefinition bd : scan.findCandidateComponents("fr.gael.dhus.gwt.services")) {
        logger.info("     - service : " + bd.getBeanClassName());
        try {/*from w  w w  . ja v a2 s .c  o m*/
            Class<?> servletClass = GWTWebapp.class.getClassLoader().loadClass(bd.getBeanClassName());
            RPCService annotation = AnnotationUtils.findAnnotation(servletClass, RPCService.class);
            servlets.add(new RPCServlet((Servlet) (servletClass.newInstance()), annotation.value(),
                    "/" + annotation.value()));
        } catch (ClassNotFoundException e) {
            System.err.println("Cannot load service : '" + bd.getBeanClassName() + "'");
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}

From source file:com.qubit.solution.fenixedu.integration.cgd.ui.cgdConfiguration.CgdIntegrationConfigurationController.java

@RequestMapping(value = "/update/{oid}/strategies", method = RequestMethod.GET, produces = "application/json; charset=utf-8")
public @org.springframework.web.bind.annotation.ResponseBody List<String> requestAvailableStrategies(
        @PathVariable("oid") CgdIntegrationConfiguration cgdIntegrationConfiguration, Model model) {

    List<String> results = new ArrayList<String>();
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            false);//w  w  w  .ja v  a  2s .  c om
    provider.addIncludeFilter(new AssignableTypeFilter(IMemberIDAdapter.class));
    for (BeanDefinition definition : provider
            .findCandidateComponents("/com/qubit/solution/fenixedu/integration/cgd/services/memberid")) {
        results.add(definition.getBeanClassName());
    }

    return results;
}