Example usage for org.springframework.core.type.classreading SimpleMetadataReaderFactory SimpleMetadataReaderFactory

List of usage examples for org.springframework.core.type.classreading SimpleMetadataReaderFactory SimpleMetadataReaderFactory

Introduction

In this page you can find the example usage for org.springframework.core.type.classreading SimpleMetadataReaderFactory SimpleMetadataReaderFactory.

Prototype

public SimpleMetadataReaderFactory() 

Source Link

Document

Create a new SimpleMetadataReaderFactory for the default class loader.

Usage

From source file:org.wallride.tools.Hbm2ddl.java

public static void main(String[] args) throws Exception {
    String locationPattern = "classpath:/org/wallride/domain/*";

    final BootstrapServiceRegistry registry = new BootstrapServiceRegistryBuilder().build();
    final MetadataSources metadataSources = new MetadataSources(registry);
    final StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder(registry);

    registryBuilder.applySetting(AvailableSettings.DIALECT,
            ExtendedMySQL5InnoDBDialect.class.getCanonicalName());
    registryBuilder.applySetting(AvailableSettings.GLOBALLY_QUOTED_IDENTIFIERS, true);
    registryBuilder.applySetting(AvailableSettings.PHYSICAL_NAMING_STRATEGY,
            PhysicalNamingStrategySnakeCaseImpl.class);

    final PathMatchingResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
    final Resource[] resources = resourcePatternResolver.getResources(locationPattern);
    final SimpleMetadataReaderFactory metadataReaderFactory = new SimpleMetadataReaderFactory();
    for (Resource resource : resources) {
        MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
        AnnotationMetadata metadata = metadataReader.getAnnotationMetadata();
        if (metadata.hasAnnotation(Entity.class.getName())) {
            metadataSources.addAnnotatedClass(Class.forName(metadata.getClassName()));
        }/*from  ww  w  .j  a  v a2  s  .  com*/
    }

    final StandardServiceRegistryImpl registryImpl = (StandardServiceRegistryImpl) registryBuilder.build();
    final MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(registryImpl);

    new SchemaExport().setHaltOnError(true).setDelimiter(";").create(EnumSet.of(TargetType.STDOUT),
            metadataBuilder.build());
}

From source file:org.duracloud.account.db.util.security.impl.AnnotationParserImpl.java

private MetadataReader getMetadataReader(Class<?> targetClass) {
    MetadataReaderFactory metadataReaderFactory = new SimpleMetadataReaderFactory();
    try {/*from w  w w.j  a va2 s .co m*/
        return metadataReaderFactory.getMetadataReader(targetClass.getName());

    } catch (IOException e) {
        log.warn("Error reading metadata. {}", e.getMessage());
        throw new DuraCloudRuntimeException(e);
    }
}

From source file:org.codehaus.mojo.gwt.webxml.ServletAnnotationFinder.java

/**
 * @param packageName//from   w  w w.j  a  va 2  s .  c  om
 * @return cannot return <code>null</null>
 * @throws IOException
 */
public Set<ServletDescriptor> findServlets(String packageName, String startPath, ClassLoader classLoader)
        throws IOException {
    Set<ServletDescriptor> servlets = new LinkedHashSet<ServletDescriptor>();
    PathMatchingResourcePatternResolver pathMatchingResourcePatternResolver = new PathMatchingResourcePatternResolver(
            classLoader);
    String patternFinder = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
            + ClassUtils.convertClassNameToResourcePath(packageName) + "/**/*.class";

    Resource[] resources = pathMatchingResourcePatternResolver.getResources(patternFinder);
    SimpleMetadataReaderFactory simpleMetadataReaderFactory = new SimpleMetadataReaderFactory();
    getLogger().debug("springresource " + resources.length + " for pattern " + patternFinder);
    for (Resource resource : resources) {
        getLogger().debug("springresource " + resource.getFilename());
        MetadataReader metadataReader = simpleMetadataReaderFactory.getMetadataReader(resource);

        if (metadataReader.getAnnotationMetadata().hasAnnotation(RemoteServiceRelativePath.class.getName())) {
            Map<String, Object> annotationAttributes = metadataReader.getAnnotationMetadata()
                    .getAnnotationAttributes(RemoteServiceRelativePath.class.getName());
            getLogger().debug("found RemoteServiceRelativePath annotation for class "
                    + metadataReader.getClassMetadata().getClassName());
            if (StringUtils.isNotBlank(startPath)) {
                StringBuilder path = new StringBuilder();
                if (!startPath.startsWith("/")) {
                    path.append('/');
                }
                path.append(startPath);
                String annotationPathValue = (String) annotationAttributes.get("value");
                if (!annotationPathValue.startsWith("/")) {
                    path.append('/');
                }
                path.append(annotationPathValue);
                ServletDescriptor servletDescriptor = new ServletDescriptor(path.toString(),
                        metadataReader.getClassMetadata().getClassName());
                servlets.add(servletDescriptor);
            } else {
                StringBuilder path = new StringBuilder();
                String annotationPathValue = (String) annotationAttributes.get("value");
                if (!annotationPathValue.startsWith("/")) {
                    path.append('/');
                }
                path.append(annotationPathValue);
                ServletDescriptor servletDescriptor = new ServletDescriptor(path.toString(),
                        metadataReader.getClassMetadata().getClassName());
                servlets.add(servletDescriptor);
            }
        }
    }
    return servlets;
}