Example usage for org.springframework.core.io.support PathMatchingResourcePatternResolver PathMatchingResourcePatternResolver

List of usage examples for org.springframework.core.io.support PathMatchingResourcePatternResolver PathMatchingResourcePatternResolver

Introduction

In this page you can find the example usage for org.springframework.core.io.support PathMatchingResourcePatternResolver PathMatchingResourcePatternResolver.

Prototype

public PathMatchingResourcePatternResolver() 

Source Link

Document

Create a new PathMatchingResourcePatternResolver with a DefaultResourceLoader.

Usage

From source file:org.web4thejob.module.SafetyJoblet.java

@Override
public List<Resource> getResources() {
    List<Resource> resources = new ArrayList<Resource>();

    PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
    try {/* w w  w.j  av  a  2  s .  co m*/
        for (Resource resource : resolver.getResources("classpath*:com/safetyjoblet/**/*.hbm.xml")) {
            resources.add(resource);
        }
    } catch (IOException e) {
        e.printStackTrace();
        throw new RuntimeException(e);
    }

    return resources;
}

From source file:com.logsniffer.util.grok.GrokAppConfig.java

@Bean
public GroksRegistry groksRegistry() throws IOException, GrokException {
    GroksRegistry registry = new GroksRegistry();
    PathMatchingResourcePatternResolver pathMatcher = new PathMatchingResourcePatternResolver();
    Resource[] classPathPatterns = pathMatcher.getResources("classpath*:/grok-patterns/*");
    Arrays.sort(classPathPatterns, new Comparator<Resource>() {
        @Override/*from ww  w  .  ja va 2 s .c  o  m*/
        public int compare(final Resource o1, final Resource o2) {
            return o1.getFilename().compareTo(o2.getFilename());
        }
    });
    LinkedHashMap<String, String[]> grokBlocks = new LinkedHashMap<String, String[]>();
    for (Resource r : classPathPatterns) {
        grokBlocks.put(r.getFilename(), IOUtils.readLines(r.getInputStream()).toArray(new String[0]));
    }
    registry.registerPatternBlocks(grokBlocks);
    return registry;
}

From source file:org.codehaus.grepo.core.context.GrepoTestContextLoader.java

/**
 * {@inheritDoc}//from   ww w.j a v  a  2  s  .  c om
 */
@Override
protected BeanDefinitionReader createBeanDefinitionReader(GenericApplicationContext context) {
    BeanDefinitionReader bdr = super.createBeanDefinitionReader(context);
    ResourcePatternResolver rpr = new PathMatchingResourcePatternResolver();
    try {
        Resource[] resources = rpr.getResources("classpath*:/META-INF/grepo/grepo-testcontext.xml");
        logger.debug("Found grepo-testcontexts: {}", ArrayUtils.toString(resources));
        bdr.loadBeanDefinitions(resources);

        String addPattern = getAdditionalConfigPattern();
        if (!StringUtils.isEmpty(addPattern)) {
            Resource[] addResources = rpr.getResources(addPattern);
            if (addResources != null) {
                logger.debug("Found additional spring-configs: {}", ArrayUtils.toString(addResources));
                bdr.loadBeanDefinitions(addResources);
            }
        }
    } catch (IOException e) {
        logger.error(e.getMessage(), e);
    }
    return bdr;
}

From source file:com.edmunds.autotest.ClassResolver.java

public ClassResolver(ClassLoader classLoader, String rootPackageName) {
    assert StringUtils.isNotBlank(rootPackageName) : "Root package is blank";

    this.classLoader = classLoader != null ? classLoader : getClass().getClassLoader();
    this.rootPackageName = rootPackageName.replace('.', '/');
    this.pathResolver = new PathMatchingResourcePatternResolver();

    assert packageExists(this.rootPackageName) : "Root Package does not exists: " + rootPackageName;
}

From source file:net.paoding.rose.scanner.RoseResources.java

public static List<Resource> findContextResources(LoadScope load) throws IOException {
    if (logger.isInfoEnabled()) {
        logger.info("[applicationContext] start to found applicationContext files ...");
    }/*w w  w . j  a v a 2s. c  o  m*/
    String[] scope = load.getScope("applicationContext");
    if (logger.isDebugEnabled()) {
        if (scope == null) {
            logger.debug("[applicationContext] use default scope" + " [all class folders and rosed jar files]");
        } else {
            logger.debug("[applicationContext] use scope: " + Arrays.toString(scope));
        }
    }
    if (logger.isDebugEnabled()) {
        logger.debug("[applicationContext] call 'findFiles'");
    }
    List<ResourceRef> resources = RoseScanner.getInstance().getJarOrClassesFolderResources(scope);
    if (logger.isDebugEnabled()) {
        logger.debug("[applicationContext] exits from 'findFiles'");
        logger.debug("[applicationContext] it has " + resources.size() + " classes folders or jar files "
                + "in the applicationContext scope: " + resources);

        logger.debug("[applicationContext] iterates the 'findFiles'" + " classes folders or jar files; size="
                + resources.size());
    }

    List<Resource> ctxResources = new LinkedList<Resource>();
    ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
    int index = 0;
    for (ResourceRef ref : resources) {
        index++;
        if (ref.hasModifier("applicationContext")) {
            Resource[] founds = ref.getInnerResources(resourcePatternResolver, "applicationContext*.xml");
            List<Resource> asList = Arrays.asList(founds);
            ctxResources.addAll(asList);
            if (logger.isDebugEnabled()) {
                logger.debug("[applicationContext] found applicationContext resources (" + index + "/"
                        + resources.size() + ": " + asList);
            }
        } else {
            if (logger.isDebugEnabled()) {
                logger.debug(
                        "[applicationContext] ignored bacause not marked as 'rose:applicationContext' or 'rose:*'  ("
                                + index + "/" + resources.size() + ": " + ref);
            }
        }
    }
    if (logger.isInfoEnabled()) {
        logger.info("[applicationContext] FOUND " + ctxResources.size() + " applcationContext files: "
                + ctxResources);
    }
    return ctxResources;
}

From source file:com.ligh.spring3.chapter4.ResourcePatternTest.java

@Test
public void testClasspathAsteriskPrefixLimit() throws IOException {
    ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
    //ClassLoader.getResources("")  
    //name/*from   w  w w .  j a v a  2 s .co  m*/
    //jar  
    //         
    Resource[] resources = resolver.getResources("classpath*:asm-*.txt");
    Assert.assertTrue(resources.length == 0);
    //ClassLoader.getResources("asm-license.txt")  
    //asm-license.txtcom.springsource.net.sf.cglib-2.2.0.jar         
    resources = resolver.getResources("classpath*:asm-license.txt");
    Assert.assertTrue(resources.length > 0);

    resources = resolver.getResources("classpath*:LICENS*");
    Assert.assertTrue(resources.length == 1);
}

From source file:com.hp.application.automation.tools.octane.tests.CopyResourceSCM.java

@Override
public boolean checkout(AbstractBuild<?, ?> build, Launcher launcher, FilePath workspace,
        BuildListener listener, File changeLogFile) throws IOException, InterruptedException {
    if (workspace.exists()) {
        listener.getLogger().println("Deleting existing workspace " + workspace.getRemote());
        workspace.deleteRecursive();/*ww  w  .  j  av  a 2  s.c  o m*/
    }
    Resource[] resources = new PathMatchingResourcePatternResolver().getResources("classpath*:" + path + "/**");
    for (Resource resource : resources) {
        if (resource.exists() && resource.isReadable()) {
            String urlString = resource.getURL().toExternalForm();
            String targetName = urlString.substring(urlString.indexOf(path) + path.length());
            byte[] fileContent = IOUtils.toByteArray(resource.getInputStream());
            FileUtils.writeByteArrayToFile(new File(new File(workspace.getRemote(), targetPath), targetName),
                    fileContent);
        }
    }
    return true;
}

From source file:com.github.haixing_hu.ilibrary.service.impl.DocumentTemplateServiceImpl.java

public DocumentTemplateServiceImpl(final String resourcePattern) {
    logger = LoggerFactory.getLogger(DocumentTemplateServiceImpl.class);
    templates = new HashMap<String, DocumentTemplate>();
    //  load all the field templates
    final PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
    try {//from   w  w  w .  jav a 2  s.c  o m
        final JAXBContext context = JAXBContext.newInstance(DocumentTemplate.class);
        final Unmarshaller unmarshaller = context.createUnmarshaller();
        final Resource[] resources = resolver.getResources(resourcePattern);
        for (final Resource resource : resources) {
            final InputStream is = resource.getInputStream();
            final DocumentTemplate document = (DocumentTemplate) unmarshaller.unmarshal(is);
            final String name = document.getName();
            logger.info("Adds a document template: {}", name);
            templates.put(name, document);
        }
    } catch (final Exception e) {
        logger.error("Failed to load the document templates from: {}", resourcePattern, e);
        throw new RuntimeException(e);
    }
}

From source file:org.fenixedu.start.service.ProjectService.java

@Autowired
public ProjectService(APISyncService apiSyncService, ApplicationContext ctx) throws IOException {
    ResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver();
    this.resourcesByType = ImmutableMap.of("module",
            Arrays.asList(patternResolver.getResources("classpath:/templates/module/**/*")), "webapp",
            Arrays.asList(patternResolver.getResources("classpath:/templates/webapp/**/*")));
    this.apiSyncService = apiSyncService;
    this.engine = new PebbleEngine(new StringLoader());
    this.engine.addExtension(new FenixEduStartExtension());
}

From source file:com.laxser.blitz.scanner.BlitzResources.java

public static List<Resource> findContextResources(LoadScope load) throws IOException {
    if (logger.isInfoEnabled()) {
        logger.info("[applicationContext] start to found applicationContext files ...");
    }/*from  www .  ja  v a 2 s.c  om*/
    String[] scope = load.getScope("applicationContext");
    if (logger.isDebugEnabled()) {
        if (scope == null) {
            logger.debug(
                    "[applicationContext] use default scope" + " [all class folders and blitzd jar files]");
        } else {
            logger.debug("[applicationContext] use scope: " + Arrays.toString(scope));
        }
    }
    if (logger.isDebugEnabled()) {
        logger.debug("[applicationContext] call 'findFiles'");
    }
    List<ResourceRef> resources = BlitzScanner.getInstance().getJarOrClassesFolderResources(scope);
    if (logger.isDebugEnabled()) {
        logger.debug("[applicationContext] exits from 'findFiles'");
        logger.debug("[applicationContext] it has " + resources.size() + " classes folders or jar files "
                + "in the applicationContext scope: " + resources);

        logger.debug("[applicationContext] iterates the 'findFiles'" + " classes folders or jar files; size="
                + resources.size());
    }

    List<Resource> ctxResources = new LinkedList<Resource>();
    ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
    int index = 0;
    for (ResourceRef ref : resources) {
        index++;
        if (ref.hasModifier("applicationContext")) {
            Resource[] founds = ref.getInnerResources(resourcePatternResolver, "applicationContext*.xml");
            List<Resource> asList = Arrays.asList(founds);
            ctxResources.addAll(asList);
            if (logger.isDebugEnabled()) {
                logger.debug("[applicationContext] found applicationContext resources (" + index + "/"
                        + resources.size() + ": " + asList);
            }
        } else {
            if (logger.isDebugEnabled()) {
                logger.debug(
                        "[applicationContext] ignored bacause not marked as 'blitz:applicationContext' or 'blitz:*'  ("
                                + index + "/" + resources.size() + ": " + ref);
            }
        }
    }
    if (logger.isInfoEnabled()) {
        logger.info("[applicationContext] FOUND " + ctxResources.size() + " applcationContext files: "
                + ctxResources);
    }
    return ctxResources;
}