Search in sources :

Example 1 with NameBasedFilter

use of org.eclipse.xtext.mwe.NameBasedFilter in project xtext-xtend by eclipse.

the class XtendBatchCompiler method loadXtendFiles.

protected ResourceSet loadXtendFiles(final ResourceSet resourceSet) {
    encodingProvider.setDefaultEncoding(getFileEncoding());
    final NameBasedFilter nameBasedFilter = new NameBasedFilter();
    nameBasedFilter.setExtension(fileExtensionProvider.getPrimaryFileExtension());
    PathTraverser pathTraverser = new PathTraverser();
    List<String> sourcePathDirectories = getSourcePathDirectories();
    Multimap<String, URI> pathes = pathTraverser.resolvePathes(sourcePathDirectories, new Predicate<URI>() {

        @Override
        public boolean apply(URI input) {
            boolean matches = nameBasedFilter.matches(input);
            return matches;
        }
    });
    for (String src : pathes.keySet()) {
        for (URI uri : pathes.get(src)) {
            if (log.isDebugEnabled()) {
                log.debug("load xtend file '" + uri + "'");
            }
            resourceSet.getResource(uri, true);
        }
    }
    return resourceSet;
}
Also used : PathTraverser(org.eclipse.xtext.mwe.PathTraverser) URI(org.eclipse.emf.common.util.URI) NameBasedFilter(org.eclipse.xtext.mwe.NameBasedFilter)

Aggregations

URI (org.eclipse.emf.common.util.URI)1 NameBasedFilter (org.eclipse.xtext.mwe.NameBasedFilter)1 PathTraverser (org.eclipse.xtext.mwe.PathTraverser)1