// // UnconfiguredFiles.java // import java.io.File; import java.io.IOException; import java.util.ArrayList; import loci.common.DataTools; /** * Recursively searchs a directory for files that have not been configured for * testing. * * <dl><dt><b>Source code:</b></dt> * <dd><a href="http://trac.openmicroscopy.org.uk/ome/browser/bioformats.git/components/test-suite/utils/UnconfiguredFiles.java">Trac</a>, * <a href="http://git.openmicroscopy.org/?p=bioformats.git;a=blob;f=components/test-suite/utils/UnconfiguredFiles.java;hb=HEAD">Gitweb</a></dd></dl> */ public class UnconfiguredFiles { private ArrayList<String> unconfigured = new ArrayList<String>(); public void buildUnconfiguredList(File root) throws IOException { if (!root.isDirectory()) return; String[] list = root.list(); File configFile = new File(root, ".bioformats"); String configData = null; if (configFile.exists()) { configData = DataTools.readFile(configFile.getAbsolutePath()); } for (String file : list) { File child = new File(root, file).getAbsoluteFile(); if (file.startsWith(".")) continue; else if (child.isDirectory()) buildUnconfiguredList(child); else if (!configFile.exists() || configData.indexOf("\"" + child.getName() + "\"") < 0) { unconfigured.add(child.getAbsolutePath()); } } } public void printList() { if (unconfigured.size() > 0) { System.out.println("Unconfigured files:"); for (String file : unconfigured) { System.out.println(" " + file); } } else System.out.println("All files have been configured!"); } public static void main(String[] args) throws IOException { UnconfiguredFiles f = new UnconfiguredFiles(); f.buildUnconfiguredList(new File(args[0])); f.printList(); } }