List of usage examples for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider addIncludeFilter
public void addIncludeFilter(TypeFilter includeFilter)
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 a2s . 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.springinpractice.ch11.oxm.ClasspathScanningJaxb2Marshaller.java
/** * @return//from w w w .j a v a 2 s. com * @throws Exception */ private Class<?>[] getXmlRootElementClasses() throws Exception { ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider( false); scanner.addIncludeFilter(new AnnotationTypeFilter(XmlRootElement.class)); List<Class<?>> classes = new ArrayList<Class<?>>(); for (String basePackage : basePackages) { Set<BeanDefinition> definitions = scanner.findCandidateComponents(basePackage); for (BeanDefinition definition : definitions) { String className = definition.getBeanClassName(); log.info("Found class: {}", className); classes.add(Class.forName(className)); } } return classes.toArray(new Class<?>[0]); }
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 a v a2s. com 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:podd.model.visitor.VisitorAdapterUnitTest.java
@Test public void testCoversAllClasses() throws Exception { ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProviderAllowInterface( true);//from w w w .j a va 2s . co m provider.addIncludeFilter(new AssignableTypeFilter(Entity.class)); Set<BeanDefinition> components = provider.findCandidateComponents("podd/model"); resolveAndCheckPackage(components); }
From source file:io.gravitee.repository.mongodb.common.AbstractRepositoryConfiguration.java
protected Set<Class<?>> getInitialEntitySet() throws ClassNotFoundException { String basePackage = getMappingBasePackage(); Set<Class<?>> initialEntitySet = new HashSet<Class<?>>(); if (StringUtils.hasText(basePackage)) { ClassPathScanningCandidateComponentProvider componentProvider = new ClassPathScanningCandidateComponentProvider( false);//from www . j ava2 s. co m componentProvider.addIncludeFilter(new AnnotationTypeFilter(Document.class)); componentProvider.addIncludeFilter(new AnnotationTypeFilter(Persistent.class)); for (BeanDefinition candidate : componentProvider.findCandidateComponents(basePackage)) { initialEntitySet .add(ClassUtils.forName(candidate.getBeanClassName(), this.getClass().getClassLoader())); } } return initialEntitySet; }
From source file:com.github.gdrouet.scannerbenchmark.JmhBenchmark.java
/** * <p>/*from ww w .j a v a 2 s .c om*/ * 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:com.walmart.gatling.JerseyConfig.java
/** * Scans for {@link javax.ws.rs.Path} annotated classes in the given packages and registers them with Jersey. * @param controllerPackages Jersery controller base package names *///from w w w .ja v a 2 s . c o m protected void registerControllers(String[] controllerPackages) { ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider( false); scanner.addIncludeFilter(new AnnotationTypeFilter(javax.ws.rs.Path.class)); for (String controllerPackage : controllerPackages) { logger.info("Scanning for Jersey controllers in '{}' package.", controllerPackage); for (BeanDefinition bd : scanner.findCandidateComponents(controllerPackage)) { logger.info("Registering Jersey endpoint class: {}", bd.getBeanClassName()); Class<?> controllerClazz = getJerseyControllerClass(bd.getBeanClassName()); if (controllerClazz != null) register(controllerClazz); } } }
From source file:org.moserp.RestConfiguration.java
@Override public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( true);//from w w w .j ava 2s. 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:org.openmrs.module.kenyaemr.calculation.CalculationManager.java
/** * Refreshes registered calculation classes *///from w w w . j a v a 2s .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:com.googlecode.icegem.serialization.spring.AutoSerializableRegistrarBean.java
private void registerClasses(ClassLoader classLoader) throws ClassNotFoundException { List<Class<?>> toRegister = new ArrayList<Class<?>>(); for (String pack : scanPackages) { logger.debug("Scan {}.* for @AutoSerializable classes", pack); ClassPathScanningCandidateComponentProvider ppp = new ClassPathScanningCandidateComponentProvider( false);//from w ww. j ava 2 s. co m ppp.addIncludeFilter(new AnnotationTypeFilter(AutoSerializable.class)); Set<BeanDefinition> candidateComponents = ppp.findCandidateComponents(pack); for (BeanDefinition beanDefinition : candidateComponents) { String className = beanDefinition.getBeanClassName(); final Class<?> clazz = Class.forName(className); toRegister.add(clazz); } } toRegister.addAll(registeredClasses); logger.info("All classes that will be registered in GemFire: " + toRegister); try { HierarchyRegistry.registerAll(classLoader, toRegister); } catch (InvalidClassException e) { final String msg = "Some class from list " + toRegister + " is nor serializable. Cause: " + e.getMessage(); throw new IllegalArgumentException(msg, e); } catch (CannotCompileException e) { final String msg = "Can't compile DataSerializer classes for some classes from list " + toRegister + ". Cause: " + e.getMessage(); throw new IllegalArgumentException(msg, e); } }