Example usage for org.apache.commons.io.comparator PathFileComparator PathFileComparator

List of usage examples for org.apache.commons.io.comparator PathFileComparator PathFileComparator

Introduction

In this page you can find the example usage for org.apache.commons.io.comparator PathFileComparator PathFileComparator.

Prototype

public PathFileComparator() 

Source Link

Document

Construct a case sensitive file path comparator instance.

Usage

From source file:org.jahia.tools.files.FileWatcherJob.java

@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
    JobDataMap jobDataMap = context.getJobDetail().getJobDataMap();
    FileWatcher fileWatcher = (FileWatcher) jobDataMap.get("fileWatcher");
    if (fileWatcher != null) {
        File folder = fileWatcher.getFolder();
        boolean fileOnly = fileWatcher.getFileOnly();
        boolean recursive = fileWatcher.isRecursive();
        IOFileFilter ignoreFilter = fileWatcher.getIgnoreFilter();
        List<File> changedFiles = checkFiles(folder, fileOnly, recursive, fileWatcher.getCheckDate(),
                fileWatcher.getLastCheckTime(), ignoreFilter);
        fileWatcher.setLastCheckTime(System.currentTimeMillis());
        if (fileWatcher.getRemovedFiles()) {
            Collection<File> currentFiles;
            IOFileFilter filter = ignoreFilter != null ? ignoreFilter : TrueFileFilter.INSTANCE;
            if (fileOnly) {
                currentFiles = FileUtils.listFiles(folder, filter,
                        recursive ? filter : FalseFileFilter.INSTANCE);
            } else {
                currentFiles = FileUtils.listFilesAndDirs(folder, filter,
                        recursive ? filter : FalseFileFilter.INSTANCE);
            }//w  w  w. j a  v a 2 s . c  om
            Set<File> deletedFiles = new TreeSet<File>(new PathFileComparator());
            deletedFiles.addAll(fileWatcher.getPreviousFiles());
            deletedFiles.removeAll(currentFiles);
            changedFiles.addAll(deletedFiles);
            fileWatcher.setPreviousFiles(currentFiles);
        }

        // Notify Observers if number of files > 0
        if (changedFiles.size() > 0) {
            fileWatcher.externalSetChanged(); // Alert the Observable Object That there are change in the folder
            fileWatcher.notifyObservers(changedFiles);
        }
    }
}

From source file:parsers.ClueWebContentSource.java

@Override
public void setConfig(Config config) {
    super.setConfig(config);

    // dirs/* ww w . j  av  a  2 s . c o  m*/
    File workDir = new File(config.get("work.dir", "work"));
    String d = config.get("docs.dir", "trec");
    dataDir = new File(d);
    if (!dataDir.isAbsolute()) {
        dataDir = new File(workDir, d);
    }

    try {
        // files: accept only WARC files
        ArrayList<Path> tmpp = new ArrayList<Path>();
        collectFiles(dataDir.toPath(), tmpp);

        ArrayList<File> tmpf = new ArrayList<File>();
        for (Path p : tmpp)
            if (p.toString().endsWith("warc.gz")) {
                tmpf.add(p.toFile());
            } else {
                System.out.println("Ignoring file: " + p);
            }

        tmpf.sort(new PathFileComparator());
        for (File f : tmpf) {
            inputFiles.add(f.toPath());
            System.out.println(f);
        }

        if (inputFiles.size() == 0) {
            throw new IllegalArgumentException("No files in dataDir: " + dataDir);
        }

        // html parser      

        String htmlParserClassName = config.get("html.parser",
                "org.apache.lucene.benchmark.byTask.feeds.DemoHTMLParser");
        htmlParser = Class.forName(htmlParserClassName).asSubclass(HTMLParser.class).newInstance();
    } catch (Exception e) {
        // Should not get here. Throw runtime exception.
        throw new RuntimeException(e);
    }

    verbose = true;
}