List of usage examples for org.apache.commons.io.comparator PathFileComparator PathFileComparator
public PathFileComparator()
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; }