Example usage for org.springframework.context.annotation ScannedGenericBeanDefinition setResource

List of usage examples for org.springframework.context.annotation ScannedGenericBeanDefinition setResource

Introduction

In this page you can find the example usage for org.springframework.context.annotation ScannedGenericBeanDefinition setResource.

Prototype

public void setResource(@Nullable Resource resource) 

Source Link

Document

Set the resource that this bean definition came from (for the purpose of showing context in case of errors).

Usage

From source file:com.gzj.tulip.jade.context.spring.JadeComponentProvider.java

/**
 * jar?JadeDAO?/*  www .  ja va2s.  c  om*/
 * <p>
 * ?BeanDefinition?DAO??
 * {@link BeanDefinition#getBeanClassName()} DAO???
 * <p>
 * BeanDefinition??Spring???
 */
public Set<BeanDefinition> findCandidateComponents(String uriPrefix) {
    if (!uriPrefix.endsWith("/")) {
        uriPrefix = uriPrefix + "/";
    }
    Set<BeanDefinition> candidates = new LinkedHashSet<BeanDefinition>();
    try {
        String packageSearchPath = uriPrefix + this.resourcePattern;
        boolean traceEnabled = logger.isDebugEnabled();
        boolean debugEnabled = logger.isDebugEnabled();
        Resource[] resources = this.resourcePatternResolver.getResources(packageSearchPath);
        if (debugEnabled) {
            logger.debug("[jade/find] find " + resources.length + " resources for " + packageSearchPath);
        }
        for (int i = 0; i < resources.length; i++) {
            Resource resource = resources[i];
            if (traceEnabled) {
                logger.trace("[jade/find] scanning " + resource);
            }
            // resourcePatternResolver.getResources?classPathResourcesmetadataReadergetInputStreamnull
            // ???exists
            if (!resource.exists()) {
                if (debugEnabled) {
                    logger.debug("Ignored because not exists:" + resource);
                }
            } else if (resource.isReadable()) {
                MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
                if (isCandidateComponent(metadataReader)) {
                    ScannedGenericBeanDefinition sbd = new ScannedGenericBeanDefinition(metadataReader);
                    sbd.setResource(resource);
                    sbd.setSource(resource);
                    if (sbd.getMetadata().isInterface() && sbd.getMetadata().isIndependent()) {
                        if (debugEnabled) {
                            logger.debug("Identified candidate component class: " + resource);
                        }
                        candidates.add(sbd);
                    } else {
                        if (traceEnabled) {
                            logger.trace("Ignored because not a interface top-level class: " + resource);
                        }
                    }
                } else {
                    if (traceEnabled) {
                        logger.trace("Ignored because not matching any filter: " + resource);
                    }
                }
            } else {
                if (traceEnabled) {
                    logger.trace("Ignored because not readable: " + resource);
                }
            }
        }
    } catch (IOException ex) {
        throw new BeanDefinitionStoreException("I/O failure during jade scanning", ex);
    }
    return candidates;
}

From source file:com.wantscart.jade.core.JadeDaoComponentProvider.java

/**
 * Scan the class path for candidate components.
 * /*from  www  . j a  v a2  s  . co m*/
 *  basePackage the package to check for annotated classes
 *  a corresponding Set of autodetected bean definitions
 */
public Set<BeanDefinition> findCandidateComponents(String uriPrefix) {
    if (!uriPrefix.endsWith("/")) {
        uriPrefix = uriPrefix + "/";
    }
    Set<BeanDefinition> candidates = new LinkedHashSet<BeanDefinition>();
    try {
        String packageSearchPath = uriPrefix + this.resourcePattern;
        boolean traceEnabled = logger.isDebugEnabled();
        boolean debugEnabled = logger.isDebugEnabled();
        Resource[] resources = this.resourcePatternResolver.getResources(packageSearchPath);
        if (debugEnabled) {
            logger.debug("[jade/find] find " + resources.length + " resources for " + packageSearchPath);
        }
        for (int i = 0; i < resources.length; i++) {
            Resource resource = resources[i];
            if (traceEnabled) {
                logger.trace("[jade/find] scanning " + resource);
            }
            // resourcePatternResolver.getResources?classPathResourcesmetadataReadergetInputStreamnull
            // ???exists
            if (!resource.exists()) {
                if (debugEnabled) {
                    logger.debug("Ignored because not exists:" + resource);
                }
            } else if (resource.isReadable()) {
                MetadataReader metadataReader = this.metadataReaderFactory.getMetadataReader(resource);
                if (isCandidateComponent(metadataReader)) {
                    ScannedGenericBeanDefinition sbd = new ScannedGenericBeanDefinition(metadataReader);
                    sbd.setResource(resource);
                    sbd.setSource(resource);
                    if (isCandidateComponent(sbd)) {
                        if (debugEnabled) {
                            logger.debug("Identified candidate component class: " + resource);
                        }
                        candidates.add(sbd);
                    } else {
                        if (traceEnabled) {
                            logger.trace("Ignored because not a interface top-level class: " + resource);
                        }
                    }
                } else {
                    if (traceEnabled) {
                        logger.trace("Ignored because not matching any filter: " + resource);
                    }
                }
            } else {
                if (traceEnabled) {
                    logger.trace("Ignored because not readable: " + resource);
                }
            }
        }
    } catch (IOException ex) {
        throw new BeanDefinitionStoreException("I/O failure during jade scanning", ex);
    }
    return candidates;
}

From source file:org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.java

private Set<BeanDefinition> scanCandidateComponents(String basePackage) {
    Set<BeanDefinition> candidates = new LinkedHashSet<>();
    try {//from  w  ww.  ja  va 2  s.c  om
        String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
                + resolveBasePackage(basePackage) + '/' + this.resourcePattern;
        Resource[] resources = getResourcePatternResolver().getResources(packageSearchPath);
        boolean traceEnabled = logger.isTraceEnabled();
        boolean debugEnabled = logger.isDebugEnabled();
        for (Resource resource : resources) {
            if (traceEnabled) {
                logger.trace("Scanning " + resource);
            }
            if (resource.isReadable()) {
                try {
                    MetadataReader metadataReader = getMetadataReaderFactory().getMetadataReader(resource);
                    if (isCandidateComponent(metadataReader)) {
                        ScannedGenericBeanDefinition sbd = new ScannedGenericBeanDefinition(metadataReader);
                        sbd.setResource(resource);
                        sbd.setSource(resource);
                        if (isCandidateComponent(sbd)) {
                            if (debugEnabled) {
                                logger.debug("Identified candidate component class: " + resource);
                            }
                            candidates.add(sbd);
                        } else {
                            if (debugEnabled) {
                                logger.debug("Ignored because not a concrete top-level class: " + resource);
                            }
                        }
                    } else {
                        if (traceEnabled) {
                            logger.trace("Ignored because not matching any filter: " + resource);
                        }
                    }
                } catch (Throwable ex) {
                    throw new BeanDefinitionStoreException(
                            "Failed to read candidate component class: " + resource, ex);
                }
            } else {
                if (traceEnabled) {
                    logger.trace("Ignored because not readable: " + resource);
                }
            }
        }
    } catch (IOException ex) {
        throw new BeanDefinitionStoreException("I/O failure during classpath scanning", ex);
    }
    return candidates;
}