Example usage for org.springframework.core.io Resource isReadable

List of usage examples for org.springframework.core.io Resource isReadable

Introduction

In this page you can find the example usage for org.springframework.core.io Resource isReadable.

Prototype

default boolean isReadable() 

Source Link

Document

Indicate whether non-empty contents of this resource can be read via #getInputStream() .

Usage

From source file:gov.nih.nci.cabig.caaers.domain.DomainObjectTest.java

private List<Class> findMyTypes(String basePackage) throws IOException, ClassNotFoundException {
    ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
    MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resourcePatternResolver);

    List<Class> candidates = new ArrayList<Class>();
    String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
            + resolveBasePackage(basePackage) + "/" + "**/*.class";
    Resource[] resources = resourcePatternResolver.getResources(packageSearchPath);
    for (Resource resource : resources) {
        if (resource.isReadable()) {
            MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
            if (isCandidate(metadataReader))
                candidates.add(Class.forName(metadataReader.getClassMetadata().getClassName()));
        }/*  w  w w.j a  va 2  s  . c  o m*/
    }
    return candidates;
}

From source file:sk.lazyman.gizmo.SpringApplicationContextTest.java

private List<Class> listClasses(String basePackage) throws IOException, ClassNotFoundException {
    ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
    MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resourcePatternResolver);

    List<Class> candidates = new ArrayList<>();
    String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
            + resolveBasePackage(basePackage) + "/" + "**/*.class";
    Resource[] resources = resourcePatternResolver.getResources(packageSearchPath);
    for (Resource resource : resources) {
        if (resource.isReadable()) {
            MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
            candidates.add(Class.forName(metadataReader.getClassMetadata().getClassName()));
        }/* w w w .j a va 2 s.c o  m*/
    }
    return candidates;
}

From source file:org.lightadmin.core.config.bootstrap.scanning.TypeFilterClassScanner.java

@Override
public Set<Class> scan(String basePackage) {
    final Set<Class> classes = newLinkedHashSet();

    try {/*from w  ww .  j a v  a 2s . c  o m*/
        final Resource[] resources = this.resourcePatternResolver.getResources(packageSearchPath(basePackage));
        for (Resource resource : resources) {
            if (resource.isReadable()) {
                MetadataReader metadataReader = this.metadataReaderFactory.getMetadataReader(resource);
                if (hasApplicableType(metadataReader)) {
                    String className = metadataReader.getClassMetadata().getClassName();
                    Class<?> administrationClass = resolveClassName(className,
                            this.resourcePatternResolver.getClassLoader());

                    classes.add(administrationClass);
                }
            }
        }
    } catch (IOException ex) {
        throw new RuntimeException("I/O failure during package scanning", ex);
    }

    return classes;

}

From source file:com.qcadoo.view.internal.resource.JspResourceResolver.java

private void copyResource(final Resource resource) {
    if (!resource.isReadable()) {
        return;//from   www. j av a  2  s .c  o  m
    }

    try {
        String path = resource.getURI().toString().split("WEB-INF/jsp/")[1];
        File file = new File(webappPath + "/WEB-INF/jsp/" + path);

        if (resource.getInputStream().available() == 0) {
            FileUtils.forceMkdir(file);
        } else {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Copying " + path + " to " + file.getAbsolutePath());
            }

            OutputStream output = null;

            try {
                output = new BufferedOutputStream(new FileOutputStream(file));
                IOUtils.copy(resource.getInputStream(), output);
            } finally {
                IOUtils.closeQuietly(output);
            }
        }
    } catch (IOException e) {
        throw new IllegalStateException("Cannot copy resource " + resource, e);
    }
}

From source file:org.powertac.common.XMLMessageConverter.java

@SuppressWarnings("rawtypes")
private List<Class> findMyTypes(String basePackage) throws IOException, ClassNotFoundException {
    ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
    MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resourcePatternResolver);

    List<Class> candidates = new ArrayList<Class>();
    String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
            + resolveBasePackage(basePackage) + "/" + "**/*.class";
    Resource[] resources = resourcePatternResolver.getResources(packageSearchPath);
    for (Resource resource : resources) {
        if (resource.isReadable()) {
            MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
            candidates.add(Class.forName(metadataReader.getClassMetadata().getClassName()));
        }//  w w  w  .ja v a 2  s  .c  o m
    }
    return candidates;
}

From source file:de.codecentric.batch.configuration.AutomaticJobRegistrarConfiguration.java

private List<Class<?>> findMyTypes(String basePackage) throws IOException, ClassNotFoundException {
    ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
    MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resourcePatternResolver);

    List<Class<?>> candidates = new ArrayList<Class<?>>();
    String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
            + resolveBasePackage(basePackage) + "/" + "**/*.class";
    Resource[] resources = resourcePatternResolver.getResources(packageSearchPath);
    for (Resource resource : resources) {
        if (resource.isReadable()) {
            MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
            if (isCandidate(metadataReader)) {
                candidates.add(Class.forName(metadataReader.getClassMetadata().getClassName()));
            }//from w w w  .  ja va  2  s.c  o  m
        }
    }
    return candidates;
}

From source file:org.openmrs.web.dwr.DeprecationCheckTest.java

/**
 * Returns a list of class names which contain the {@literal @}Deprecated annotation. Does this search ONLY for
 * DWR*Service classes./*from  ww  w  . j a  v  a 2  s.  c  om*/
 *
 * Found the basic code here:
 * http://stackoverflow.com/questions/1456930/how-do-i-read-all-classes-from-a-java-package-in-the-classpath
 *
 * @return List of classes which contain the Deprecated annotation ({@literal @}Deprecated)
 * @throws IOException
 * @throws ClassNotFoundException
 */
private List<String> findDWRServiceClassesWhichContainDeprecatedAnnotation()
        throws IOException, ClassNotFoundException {
    ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
    MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resourcePatternResolver);

    //Search only for Service Classes in DWR package.
    String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
            + resolveBasePackage(OPENMRS_DWR_PACKAGE_NAME) + "/**/*Service.class";

    List<String> candidateClasses = new ArrayList<String>();
    Resource[] resources = resourcePatternResolver.getResources(packageSearchPath);
    for (Resource resource : resources) {
        if (resource.isReadable()) {
            MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
            if (doesClassContainDeprecatedAnnotation(metadataReader)) {
                candidateClasses.add(metadataReader.getClassMetadata().getClassName());
            }
        }
    }

    return candidateClasses;
}

From source file:com.zht.common.generator.util.LoadPackageClasses.java

/**
 * ??BeanClass??//www. j  av a  2  s. com
 * @return
 * @throws IOException
 * @throws ClassNotFoundException
 */
public Set<Class<?>> getClassSet() throws IOException, ClassNotFoundException {
    this.classSet.clear();
    if (!this.packagesList.isEmpty()) {
        for (String pkg : this.packagesList) {
            String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
                    + ClassUtils.convertClassNameToResourcePath(pkg) + RESOURCE_PATTERN;
            Resource[] resources = this.resourcePatternResolver.getResources(pattern);
            MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(
                    this.resourcePatternResolver);
            for (Resource resource : resources) {
                if (resource.isReadable()) {
                    MetadataReader reader = readerFactory.getMetadataReader(resource);
                    String className = reader.getClassMetadata().getClassName();
                    if (matchesEntityTypeFilter(reader, readerFactory)) {
                        this.classSet.add(Class.forName(className));
                    }
                }
            }
        }
    }
    //
    //      if (logger.isInfoEnabled()){
    //         for (Class<?> clazz : this.classSet) {
    //            //logger.info(String.format("Found class:%s", clazz.getName()));
    //         }
    //      }
    return this.classSet;
}

From source file:org.globus.security.stores.ResourceSigningPolicyStore.java

private void loadPolicies() throws SigningPolicyStoreException {

    String locations = this.parameters.getTrustRootLocations();
    Resource[] resources;/*from   w  w w  .ja v a  2 s .c o  m*/

    try {
        resources = resolver.getResources(locations);
    } catch (IOException e) {
        throw new SigningPolicyStoreException(e);
    }
    Map<X500Principal, SigningPolicy> newPolicyMap = new HashMap<X500Principal, SigningPolicy>();
    Map<URI, ResourceSigningPolicy> newPolicyFileMap = new HashMap<URI, ResourceSigningPolicy>();

    for (Resource resource : resources) {

        if (!resource.isReadable()) {
            logger.fine("Cannot read: " + resource.getFilename());
            continue;
        }
        loadSigningPolicy(resource, newPolicyMap, newPolicyFileMap);
    }

    this.policyMap = newPolicyMap;
    this.signingPolicyFileMap = newPolicyFileMap;
}

From source file:com.sesxh.hoschange.common.util.LoadPackageClasses.java

/**
 * ??BeanClass??//from   w w  w . j  ava 2  s.c om
 * 
 * @return
 * @throws IOException
 * @throws ClassNotFoundException
 */
public Set<Class<?>> getClassSet() throws IOException, ClassNotFoundException {
    this.classSet.clear();
    if (!this.packagesList.isEmpty()) {
        for (String pkg : this.packagesList) {
            String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
                    + ClassUtils.convertClassNameToResourcePath(pkg) + RESOURCE_PATTERN;
            Resource[] resources = this.resourcePatternResolver.getResources(pattern);
            MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(
                    this.resourcePatternResolver);
            for (Resource resource : resources) {
                if (resource.isReadable()) {
                    MetadataReader reader = readerFactory.getMetadataReader(resource);
                    String className = reader.getClassMetadata().getClassName();
                    if (matchesEntityTypeFilter(reader, readerFactory)) {
                        this.classSet.add(Class.forName(className));
                    }
                }
            }
        }
    }
    // 
    // if (logger.isInfoEnabled()){
    // for (Class<?> clazz : this.classSet) {
    // //logger.info(String.format("Found class:%s", clazz.getName()));
    // }
    // }
    return this.classSet;
}