View Javadoc

1   package org.springframework.beans;
2   
3   import java.io.File;
4   import java.io.FileFilter;
5   import java.io.IOException;
6   import java.util.ArrayList;
7   import java.util.List;
8   
9   public class ProblemFileDetector {
10      public List<File> getProblemFiles(ProblemFileContext context) throws IOException {
11          File baseDir = context.getBaseDir();
12          FileFilter exclude = context.getExclude();
13          FileFilter include = context.getInclude();
14          FileFilter problem = context.getProblem();
15          List<File> files = getFiles(baseDir, exclude, include);
16          System.out.println("Located " + files.size() + " total files");
17          List<File> problemFiles = getProblemFiles(files, problem);
18          return problemFiles;
19      }
20  
21      protected List<File> getProblemFiles(List<File> files, FileFilter problem) throws IOException {
22          List<File> problemFiles = new ArrayList<File>();
23          for (File file : files) {
24              if (problem.accept(file)) {
25                  problemFiles.add(file);
26              }
27          }
28          return problemFiles;
29      }
30  
31      protected List<File> getFiles(File dir, FileFilter exclude, FileFilter include) {
32          File[] contents = dir.listFiles();
33          List<File> files = new ArrayList<File>();
34          for (File file : contents) {
35              if (!exclude.accept(file)) {
36                  continue;
37              }
38              if (file.isDirectory()) {
39                  files.addAll(getFiles(file, exclude, include));
40              } else {
41                  if (include.accept(file)) {
42                      files.add(file);
43                  }
44              }
45          }
46          return files;
47      }
48  }