List of usage examples for org.springframework.context.annotation ClassPathScanningCandidateComponentProvider addIncludeFilter
public void addIncludeFilter(TypeFilter includeFilter)
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);//from ww w. jav a 2s. co m 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; }
From source file:org.openmrs.module.kenyacore.calculation.CalculationManager.java
/** * @see org.openmrs.module.kenyacore.ContentManager#refresh() *///from w w w . ja v a 2 s .c om @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:org.owasp.webgoat.application.WebGoatServletListener.java
private void loadServlets(ServletContextEvent sce) { final ServletContext servletContext = sce.getServletContext(); ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( false);/* ww w. ja v a 2 s . c o m*/ provider.addIncludeFilter(new AnnotationTypeFilter(LessonServletMapping.class)); Set<BeanDefinition> candidateComponents = provider.findCandidateComponents("org.owasp.webgoat"); try { for (BeanDefinition beanDefinition : candidateComponents) { Class controllerClass = Class.forName(beanDefinition.getBeanClassName()); LessonServletMapping pathAnnotation = (LessonServletMapping) controllerClass .getAnnotation(LessonServletMapping.class); final ServletRegistration.Dynamic dynamic = servletContext .addServlet(controllerClass.getSimpleName(), controllerClass); dynamic.addMapping(pathAnnotation.path()); } } catch (Exception e) { logger.error("Error", e); } }
From source file:com.googlecode.spring.appengine.objectify.OfyServiceBuilder.java
protected List<Class<?>> scanBasePackages() { List<Class<?>> classes = new ArrayList<Class<?>>(); for (String basePackage : basePackages) { if (this.logger.isInfoEnabled()) { this.logger.info("Scanning package [" + basePackage + "]"); }/*ww w .j a v a2 s. com*/ ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider( false); scanner.addIncludeFilter(new AnnotationTypeFilter(Entity.class)); Set<BeanDefinition> candidates = scanner.findCandidateComponents(basePackage); for (BeanDefinition candidate : candidates) { Class<?> clazz = ClassUtils.resolveClassName(candidate.getBeanClassName(), ClassUtils.getDefaultClassLoader()); classes.add(clazz); } } return classes; }
From source file:com.couchbase.spring.config.AbstractCouchbaseConfiguration.java
/** * Scans the mapping base package for classes annotated with {@link Document}. *///from www . j a v a2 s .c o m protected Set<Class<?>> getInitialEntitySet() throws ClassNotFoundException { String basePackage = getMappingBasePackage(); Set<Class<?>> initialEntitySet = new HashSet<Class<?>>(); if (StringUtils.hasText(basePackage)) { ClassPathScanningCandidateComponentProvider componentProvider = new ClassPathScanningCandidateComponentProvider( false); componentProvider.addIncludeFilter(new AnnotationTypeFilter(Document.class)); componentProvider.addIncludeFilter(new AnnotationTypeFilter(Persistent.class)); for (BeanDefinition candidate : componentProvider.findCandidateComponents(basePackage)) { initialEntitySet.add(ClassUtils.forName(candidate.getBeanClassName(), AbstractCouchbaseConfiguration.class.getClassLoader())); } } return initialEntitySet; }
From source file:com.dm.estore.config.WebAppInitializer.java
private void registerListener(ServletContext servletContext) { AnnotationConfigWebApplicationContext rootContext = createContext(ApplicationModule.class); // find all classes marked as @Configuration in classpath ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider( false);/*from w w w .j av a 2 s . com*/ scanner.addIncludeFilter(new AnnotationTypeFilter(Configuration.class)); //TypeFilter tf = new AssignableTypeFilter(CLASS_YOU_WANT.class); //s.addIncludeFilter(tf); //s.scan("package.you.want1", "package.you.want2"); //String[] beans = bdr.getBeanDefinitionNames(); for (BeanDefinition bd : scanner.findCandidateComponents("com.dm.estore")) { final String beanClassName = bd.getBeanClassName(); final String simpleName = ClassUtils.getShortCanonicalName(beanClassName); if (!excludeFromAutoSearch.contains(beanClassName) && !simpleName.toLowerCase().startsWith(TEST_RESOURCES_PREFIX)) { LOG.warn("Load configuration from: " + bd.getBeanClassName()); try { Class<?> clazz = WebAppInitializer.class.getClassLoader().loadClass(bd.getBeanClassName()); rootContext.register(clazz); } catch (ClassNotFoundException ex) { LOG.error("Unable to load class: " + bd.getBeanClassName(), ex); } } } rootContext.refresh(); servletContext.addListener(new ContextLoaderListener(rootContext)); }
From source file:biz.c24.io.spring.config.C24ModelBeanDefinitionParser.java
/** * Classpath scans the given base package for subclasses of {@link biz.c24.io.api.data.Element} whose names end on * {@code DocumentRootElement}.// w ww . j a v a 2 s. c o m * * @param basePackage * @param context * @param source * @return */ private AbstractBeanDefinition getC24ModelFromPackage(String basePackage, ParserContext context, Object source) { ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( false); provider.addIncludeFilter(new TypeFilter() { private final TypeFilter nameFilter = new RegexPatternTypeFilter( Pattern.compile(".*DocumentRootElement")); private final TypeFilter typeFilter = new AssignableTypeFilter(biz.c24.io.api.data.Element.class); public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { return nameFilter.match(metadataReader, metadataReaderFactory) && typeFilter.match(metadataReader, metadataReaderFactory); } }); Set<BeanDefinition> result = provider.findCandidateComponents(basePackage); if (result.size() != 1) { context.getReaderContext().error("Found none or multiple classes ending on 'DocumentRootElement'!", source); } String elementClassName = result.iterator().next().getBeanClassName(); return getC24ModelFromElement(elementClassName, context, source); }
From source file:com.qubit.solution.fenixedu.bennu.webservices.servlet.BennuWebservicesInitializer.java
@Atomic(mode = TxMode.READ) private void synchorizeServices() { for (Class clazz : BennuWebService.getAvailableWebServices()) { checkServerConfigurationAndCreateIfNeeded(clazz.getName()); }//from w w w . ja v a2 s. co m // Since clients are initialised by the WsServlet we need to look them up via classpath scanning // using spring componentprovider since we do not have OMNIS lookup available // 21 April 2015 - Paulo Abrantes ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( false); provider.addIncludeFilter(new AssignableTypeFilter(BennuWebServiceClient.class)); Set<BeanDefinition> components = provider .findCandidateComponents(BennuWebServiceClient.class.getPackage().getName().replace('.', '/')); for (BeanDefinition component : components) { try { Class cls = Class.forName(component.getBeanClassName()); checkClientConfigurationAndCreateIfNeeded(cls.getName()); } catch (ClassNotFoundException e) { e.printStackTrace(); } // use class cls found } deleteConfigurations(Bennu.getInstance().getWebserviceConfigurationsSet().stream() .filter(configuration -> !configuration.isImplementationClassAvailable()) .collect(Collectors.toList())); }
From source file:org.openmrs.module.CDAGenerator.api.impl.CDAGeneratorServiceImpl.java
@Override public List<BaseCdaSectionHandler> getAllCdaSectionHandlers() { ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( true);/*from w w w . j a v a 2 s. c o m*/ provider.addIncludeFilter(new AssignableTypeFilter(BaseCdaSectionHandler.class)); List<BaseCdaSectionHandler> sectionHandlers = new ArrayList<BaseCdaSectionHandler>(); // scan in org.openmrs.module.CDAGenerator.Sectionhandlers package Set<BeanDefinition> components = provider .findCandidateComponents("org.openmrs.module.CDAGenerator.SectionHandlers"); for (BeanDefinition component : components) { try { Class cls = Class.forName(component.getBeanClassName()); BaseCdaSectionHandler p = (BaseCdaSectionHandler) cls.newInstance(); if (p.templateid != null) { sectionHandlers.add(p); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } return sectionHandlers; }
From source file:org.openmrs.module.CDAGenerator.api.impl.CDAGeneratorServiceImpl.java
@Override public List<BaseCdaTypeHandler> getAllCdaTypeChildHandlers() { ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( true);/*from w ww . j a v a 2s .c o m*/ provider.addIncludeFilter(new AssignableTypeFilter(BaseCdaTypeHandler.class)); List<BaseCdaTypeHandler> handlers = new ArrayList<BaseCdaTypeHandler>(); // scan in org.openmrs.module.CDAGenerator.CDAHandlers package Set<BeanDefinition> components = provider .findCandidateComponents("org.openmrs.module.CDAGenerator.CDAHandlers"); for (BeanDefinition component : components) { try { Class cls = Class.forName(component.getBeanClassName()); BaseCdaTypeHandler p = (BaseCdaTypeHandler) cls.newInstance(); if (p.templateid != null) { handlers.add(p); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } return handlers; }