Example usage for org.springframework.core.type.filter AnnotationTypeFilter AnnotationTypeFilter

List of usage examples for org.springframework.core.type.filter AnnotationTypeFilter AnnotationTypeFilter

Introduction

In this page you can find the example usage for org.springframework.core.type.filter AnnotationTypeFilter AnnotationTypeFilter.

Prototype

public AnnotationTypeFilter(Class<? extends Annotation> annotationType) 

Source Link

Document

Create a new AnnotationTypeFilter for the given annotation type.

Usage

From source file:org.elasticsoftware.elasticactors.runtime.ElasticActorsBootstrapper.java

public void init() {
    // annotation configuration context
    applicationContext = new AnnotationConfigApplicationContext();
    // set the correct configurations
    // ensure the EA annotations are scanned
    applicationContext.addIncludeFilters(new AnnotationTypeFilter(ServiceActor.class));
    // generate correct names for ServiceActor annotated actors
    applicationContext.setBeanNameGenerator(new ActorAnnotationBeanNameGenerator());
    // find all the paths to scan
    applicationContext.scan(ScannerHelper.findBasePackagesOnClasspath(CONFIGURATION_BASEPACKAGE));
    // load em up
    applicationContext.refresh();/* w  w  w  . j  a  v a2s .c  o  m*/
    // add shutdown hook
    Runtime.getRuntime().addShutdownHook(new Thread("SHUTDOWN-HOOK") {
        @Override
        public void run() {
            applicationContext.destroy();
        }
    });
}

From source file:org.owasp.webgoat.application.WebGoatServletListener.java

private void loadServlets(ServletContextEvent sce) {
    final ServletContext servletContext = sce.getServletContext();
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            false);//from w  ww.  j a  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: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 {//  ww w .j  a  v a  2s .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.foilen.smalltools.tools.Hibernate51Tools.java

/**
 * Generate the SQL file. This is based on the code in {@link LocalSessionFactoryBuilder#scanPackages(String...)}
 *
 * @param dialect//from w  w  w  .  ja  v  a  2 s .c  o m
 *            the dialect (e.g: org.hibernate.dialect.MySQL5InnoDBDialect )
 * @param outputSqlFile
 *            where to put the generated SQL file
 * @param useUnderscore
 *            true: to have tables names like "employe_manager" ; false: to have tables names like "employeManager"
 * @param packagesToScan
 *            the packages where your entities are
 */
public static void generateSqlSchema(Class<? extends Dialect> dialect, String outputSqlFile,
        boolean useUnderscore, String... packagesToScan) {

    BootstrapServiceRegistry bootstrapServiceRegistry = new BootstrapServiceRegistryBuilder().build();

    MetadataSources metadataSources = new MetadataSources(bootstrapServiceRegistry);

    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);
    scanner.addIncludeFilter(new AnnotationTypeFilter(Entity.class));
    scanner.addIncludeFilter(new AnnotationTypeFilter(Embeddable.class));
    scanner.addIncludeFilter(new AnnotationTypeFilter(MappedSuperclass.class));
    for (String pkg : packagesToScan) {
        for (BeanDefinition beanDefinition : scanner.findCandidateComponents(pkg)) {
            metadataSources.addAnnotatedClassName(beanDefinition.getBeanClassName());
        }
    }

    StandardServiceRegistryBuilder standardServiceRegistryBuilder = new StandardServiceRegistryBuilder(
            bootstrapServiceRegistry);
    standardServiceRegistryBuilder.applySetting(AvailableSettings.DIALECT, dialect.getName());
    StandardServiceRegistryImpl ssr = (StandardServiceRegistryImpl) standardServiceRegistryBuilder.build();
    MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(ssr);

    if (useUnderscore) {
        metadataBuilder.applyImplicitNamingStrategy(new SpringImplicitNamingStrategy());
        metadataBuilder.applyPhysicalNamingStrategy(new SpringPhysicalNamingStrategy());
    }

    new SchemaExport() //
            .setHaltOnError(true) //
            .setOutputFile(outputSqlFile) //
            .setFormat(true) //
            .setDelimiter(";") //
            .execute(EnumSet.of(TargetType.SCRIPT), SchemaExport.Action.CREATE, metadataBuilder.build());

}

From source file:com.mmnaseri.dragonfly.runtime.lookup.impl.AbstractAnnotatedObjectLookupSource.java

@Override
protected AbstractTypeHierarchyTraversingFilter getFilter() {
    return new AnnotationTypeFilter(getAnnotation());
}

From source file:com.ocs.dynamo.ui.auth.DefaultPermissionCheckerImpl.java

@PostConstruct
public void postConstruct() {

    // scan the class path for all classes annotated with @SpringView
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            true);//  ww w .  j av  a2s. c o m
    provider.addIncludeFilter(new AnnotationTypeFilter(SpringView.class));

    Set<BeanDefinition> views = provider.findCandidateComponents(basePackage);
    for (BeanDefinition d : views) {
        try {
            Class<?> clazz = Class.forName(d.getBeanClassName());

            SpringView view = clazz.getAnnotation(SpringView.class);

            // store the permissions both under the bean name and the view
            // name - unfortunately these
            // don't always have to match but there is no way to tell this
            // to the authentication framework!
            Authorized auth = clazz.getAnnotation(Authorized.class);
            if (auth != null && auth.roles().length > 0) {
                int p = d.getBeanClassName().lastIndexOf(".");
                permissions.put(d.getBeanClassName().substring(p + 1), Arrays.asList(auth.roles()));
                editOnly.put(d.getBeanClassName().substring(p + 1), auth.editOnly());

                permissions.put(view.name(), Arrays.asList(auth.roles()));
                editOnly.put(view.name(), auth.editOnly());
            }
        } catch (ClassNotFoundException e) {
            LOG.error(e.getMessage(), e);
        }
    }
}

From source file:hwolf.spring.boot.servlet.ClassPathScanner.java

@SuppressWarnings("unchecked")
private ClassPathScanningCandidateComponentProvider buildClassPathScanner() {

    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);//from   w w w . j  a  v  a2  s  . c  o  m
    for (Class<?> type : types) {
        if (type.isAnnotation()) {
            if (debug) {
                LOGGER.debug("Search for classes annotated with " + type);
            }
            scanner.addIncludeFilter(new AnnotationTypeFilter((Class<Annotation>) type));
        } else {
            if (debug) {
                LOGGER.debug("Search for classes assignable to " + type);
            }
            scanner.addIncludeFilter(new AssignableTypeFilter(type));
        }
    }
    return scanner;
}

From source file:org.magtured.common.component.MemoryIdManager.java

private static Set<Class<WithId>> findAutonomousWithIdClassesInPackage(Class<?> packageClass)
        throws ClassNotFoundException {
    String basePackage = packageClass.getPackage().getName();
    TypeFilterSet filters = new TypeFilterSet(new AssignableTypeFilter(WithId.class),
            new AnnotationTypeFilter(IdConfiguration.class));
    return PackageUtil.findClassesInPackage(basePackage, filters);
}

From source file:com.springinpractice.ch11.oxm.ClasspathScanningJaxb2Marshaller.java

/**
 * @return//from ww w  . j  a  v a2s  .  c o  m
 * @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:edu.rit.flick.config.FileArchiverExtensionRegistry.java

/**
 * Constructs the file archiver extension registry and scans for
 * FileArchiver classes./*from w  w w  . j a va 2  s .  c o m*/
 */
private FileArchiverExtensionRegistry() {
    registry = new HashMap<String, FileDeflatorInflator>();
    deflationOptionSets = new ArrayList<DeflationOptionSet>();
    inflationOptionSets = new ArrayList<InflationOptionSet>();

    final ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false) {
        @Override
        protected boolean isCandidateComponent(AnnotatedBeanDefinition beanDefinition) {
            return beanDefinition.getMetadata().isIndependent();
        }
    };

    scanner.addIncludeFilter(new AnnotationTypeFilter(RegisterFileDeflatorInflator.class));

    for (final BeanDefinition bd : scanner.findCandidateComponents("*")) {
        try {
            final Class<?> cl = Class.forName(bd.getBeanClassName());
            final RegisterFileDeflatorInflator fileDIP = cl.getAnnotation(RegisterFileDeflatorInflator.class);
            if (fileDIP != null)
                registerFileArchiverExtensions(fileDIP);
        } catch (Exception e) {
        }
    }
}