List of usage examples for org.apache.commons.io.filefilter IOFileFilter accept
public boolean accept(File dir, String name);
From source file:ijfx.core.imagedb.DefaultImageRecordService.java
private void analyseQueue() { ArrayList<File> fileAdded = new ArrayList<>(); IOFileFilter ioFileFilter = imageLoaderService.getIOFileFilter(); while (fileQueue.size() > 0) { File f = fileQueue.poll(); logger.info(/*from ww w . ja v a 2 s. c o m*/ String.format("IO filter result : %s : %s", f.getName(), ioFileFilter.accept(f, f.getName()))); if (isPresent(f)) { logger.info(String.format("%s is already present.", f.getName())); } if (f.isDirectory()) { for (File child : f.listFiles()) { logger.info("Checking child " + child.getName()); if (ioFileFilter.accept(child, child.getName())) { fileQueue.add(child); // logger.info("Adding child to the queue : "+child.getName()); } } } else if (isPresent(f) == false && ioFileFilter.accept(f, f.getName())) { logger.info("Reading metadata of " + f.getName()); MercuryTimer mercuryTimer = new MercuryTimer("Metadata reading"); try { MetaDataSet metadataSet = metadataExtractorService.extractMetaData(f); addRecord(f, metadataSet); mercuryTimer.elapsed("Metadata reading"); fileAdded.add(f); } catch (Exception e) { logger.log(Level.WARNING, "Couldn't read metadata for file " + f.getName(), e); } } //logger.info(String.format(" %d files left in the queue",fileAdded.size())); } if (fileAdded.size() > 0) { notificationService.publish( new DefaultNotification("Auto indexation", String.format(FILE_ADDED, fileAdded.size()))); save(); } }