Example usage for org.apache.commons.io.filefilter OrFileFilter OrFileFilter

List of usage examples for org.apache.commons.io.filefilter OrFileFilter OrFileFilter

Introduction

In this page you can find the example usage for org.apache.commons.io.filefilter OrFileFilter OrFileFilter.

Prototype

public OrFileFilter(final List fileFilters) 

Source Link

Document

Constructs a new instance of OrFileFilter with the specified filters.

Usage

From source file:ijfx.core.imagedb.DefaultExplorerService.java

@Override
public IOFileFilter getIOFileFilter() {
    List<IOFileFilter> suffixFilters = new ArrayList<>();
    for (String ext : getSupportedExtensions()) {

        suffixFilters.add(new SuffixFileFilter(ext));
    }//from  w w  w.  j a  va2s. c o m
    IOFileFilter suffixFilter = new OrFileFilter(suffixFilters);
    return suffixFilter;
}

From source file:org.duracloud.chunk.FileChunkerDriver.java

private static IOFileFilter buildFilter(File titlesFile) {
    List<IOFileFilter> filters = new ArrayList<IOFileFilter>();

    InputStream input = getInputStream(titlesFile);
    BufferedReader br = new BufferedReader(new InputStreamReader(input));

    String line = readLine(br);/* www . j  av a  2  s . co  m*/
    while (line != null) {
        filters.add(new NameFileFilter(line.trim()));
        line = readLine(br);
    }

    IOUtils.closeQuietly(br);
    return new OrFileFilter(filters);
}

From source file:org.fuin.srcgen4j.commons.SrcGen4J.java

/**
 * Returns a file filter that combines all filters for all incremental
 * parsers. It should be used for selecting the appropriate files.
 * //ww w .  j a  v  a 2  s  . c o m
 * @return File filter.
 */
@NeverNull
public FileFilter getFileFilter() {
    if (fileFilter == null) {
        final List<IOFileFilter> filters = new ArrayList<IOFileFilter>();
        final Parsers parsers = config.getParsers();
        if (parsers != null) {
            final List<ParserConfig> parserConfigs = parsers.getList();
            if (parserConfigs != null) {
                for (final ParserConfig pc : parserConfigs) {
                    final Parser<Object> pars = pc.getParser();
                    if (pars instanceof IncrementalParser) {
                        final IncrementalParser<?> parser = (IncrementalParser<?>) pars;
                        filters.add(parser.getFileFilter());
                    }
                }
            }
        }
        fileFilter = new OrFileFilter(filters);
    }
    return fileFilter;
}

From source file:org.jumpmind.symmetric.model.FileTrigger.java

public IOFileFilter createIOFileFilter() {
    String[] includes = StringUtils.isNotBlank(includesFiles) ? includesFiles.split(",") : new String[] { "*" };
    String[] excludes = StringUtils.isNotBlank(excludesFiles) ? excludesFiles.split(",") : null;
    IOFileFilter filter = new WildcardFileFilter(includes);
    if (excludes != null && excludes.length > 0) {
        List<IOFileFilter> fileFilters = new ArrayList<IOFileFilter>();
        fileFilters.add(filter);//from w w  w .j a  va  2 s  . co  m
        fileFilters.add(new NotFileFilter(new WildcardFileFilter(excludes)));
        filter = new AndFileFilter(fileFilters);
    }
    if (!recurse) {
        List<IOFileFilter> fileFilters = new ArrayList<IOFileFilter>();
        fileFilters.add(filter);
        fileFilters.add(new NotFileFilter(FileFilterUtils.directoryFileFilter()));
        filter = new AndFileFilter(fileFilters);
    } else {
        List<IOFileFilter> fileFilters = new ArrayList<IOFileFilter>();
        fileFilters.add(filter);
        fileFilters.add(FileFilterUtils.directoryFileFilter());
        filter = new OrFileFilter(fileFilters);
    }
    return filter;
}

From source file:org.sonar.java.JavaClasspath.java

private List<File> getMatchingFiles(String pattern, File dir, boolean libraryProperty) {
    WilcardPatternFileFilter wilcardPatternFileFilter = new WilcardPatternFileFilter(dir, pattern);
    FileFilter fileFilter = wilcardPatternFileFilter;
    List<File> files = Lists.newArrayList();
    if (libraryProperty) {
        if (pattern.endsWith("*")) {
            fileFilter = new AndFileFilter((IOFileFilter) fileFilter,
                    new OrFileFilter(Lists.newArrayList(suffixFileFilter(".jar", IOCase.INSENSITIVE),
                            suffixFileFilter(".zip", IOCase.INSENSITIVE))));
        }//from   w w w.  j  a  v  a 2s .  c  o  m
        //find jar and zip files
        files.addAll(
                Lists.newArrayList(FileUtils.listFiles(dir, (IOFileFilter) fileFilter, TrueFileFilter.TRUE)));
    }
    //find directories matching pattern.
    IOFileFilter subdirectories = pattern.isEmpty() ? FalseFileFilter.FALSE : TrueFileFilter.TRUE;
    Collection<File> dirs = FileUtils.listFilesAndDirs(dir,
            new AndFileFilter(wilcardPatternFileFilter, DirectoryFileFilter.DIRECTORY), subdirectories);
    //remove searching dir from matching as listFilesAndDirs always includes it in the list see https://issues.apache.org/jira/browse/IO-328
    if (!pattern.isEmpty()) {
        dirs.remove(dir);
        //remove subdirectories that were included during search
        Iterator<File> iterator = dirs.iterator();
        while (iterator.hasNext()) {
            File matchingDir = iterator.next();
            if (!wilcardPatternFileFilter.accept(matchingDir)) {
                iterator.remove();
            }
        }
    }

    if (libraryProperty) {
        for (File directory : dirs) {
            files.addAll(getMatchingFiles("**/*.jar", directory, true));
            files.addAll(getMatchingFiles("**/*.zip", directory, true));
        }
    }
    files.addAll(dirs);
    return files;
}

From source file:umich.ms.batmass.filesupport.core.actions.importing.ImportFileByCategory.java

private List<BMFileFilter> createFileFilters(String category) {
    List<FileTypeResolver> resolvers = FileTypeResolverUtils.getTypeResolvers(category);
    String baseDesc = getCategoryDisplayName();
    LinkedList<BMFileFilter> filters = new LinkedList<>();
    if (resolvers.isEmpty()) {
        filters.add(new BMFileFilter(null) {
            @Override/*from  ww  w .jav  a2s . c o  m*/
            public String getShortDescription() {
                return "UNDEFINED";
            }

            @Override
            public String getDescription() {
                return "No resolvers were found for this filetype category";
            }
        });
        return filters;
    }

    for (FileTypeResolver resolver : resolvers) {
        filters.add(resolver.getFileFilter());
    }

    List<String> shortDescs = new ArrayList<>(filters.size());
    for (BMFileFilter bmff : filters) {
        shortDescs.add(bmff.getShortDescription());
    }
    Collections.sort(shortDescs);

    // creating the composite filter for all recognized files
    StringBuilder sb = new StringBuilder();
    sb.append(baseDesc).append(" (");
    sb.append(shortDescs.get(0));
    if (shortDescs.size() > 1) {
        for (int i = 1; i < shortDescs.size(); i++) {
            sb.append(", ").append(shortDescs.get(i));
        }
    }
    sb.append(")");

    List<IOFileFilter> ioFileFilters = new ArrayList<>(filters.size());
    for (BMFileFilter bmff : filters) {
        ioFileFilters.add(bmff.getFileFilter());
    }

    // add a filter that allows showing directories when "all supported files" option in the filechooser is selected
    ioFileFilters.add(new BMDirectoryFileFilter().getFileFilter());

    OrFileFilter orFileFilter = new OrFileFilter(ioFileFilters);
    final String allFiltersDesc = sb.toString();
    BMFileFilter combinedFilter = new BMFileFilter(orFileFilter) {
        @Override
        public String getShortDescription() {
            return allFiltersDesc;
        }

        @Override
        public String getDescription() {
            return "Any supported file";
        }
    };
    filters.addFirst(combinedFilter);
    return filters;
}