1 package net.sourceforge.pmd.swingui;
2
3 import net.sourceforge.pmd.RuleSet;
4
5 import java.io.File;
6 import java.io.FileFilter;
7 import java.util.ArrayList;
8 import java.util.List;
9
10 /***
11 *
12 * @author Donald A. Leckie
13 * @since August 27, 2002
14 * @version $Revision: 1.3 $, $Date: 2003/03/14 19:04:11 $
15 */
16 class SearchResultsViewer extends ResultsViewer {
17
18 /***
19 ********************************************************************************
20 *
21 */
22 protected SearchResultsViewer() {
23 super();
24
25 }
26
27 /***
28 ********************************************************************************
29 *
30 * @param ruleSet
31 * @param directory
32 */
33 protected void analyze(File directory, RuleSet ruleSet) {
34 List fileList;
35 FileFilter fileFilter;
36 File[] sourceFiles;
37
38 fileList = new ArrayList(20);
39 fileFilter = new FilesFilter();
40 buildFileList(directory, fileList, fileFilter);
41 sourceFiles = new File[fileList.size()];
42 sourceFiles = (File[]) fileList.toArray(sourceFiles);
43 fileList.clear();
44 analyze(sourceFiles, ruleSet);
45 }
46
47 /***
48 *******************************************************************************
49 *
50 * @param directory
51 * @param fileList
52 * @param fileFilter
53 */
54 private void buildFileList(File directory, List fileList, FileFilter fileFilter) {
55 File[] files = directory.listFiles(fileFilter);
56
57 for (int n = 0; n < files.length; n++) {
58 if (files[n].isDirectory()) {
59 buildFileList(files[n], fileList, fileFilter);
60 } else {
61 fileList.add(files[n]);
62 }
63
64 files[n] = null;
65 }
66 }
67
68 /***
69 *******************************************************************************
70 *******************************************************************************
71 *******************************************************************************
72 */
73 private class FilesFilter implements FileFilter {
74
75 private String fileExtension = ".java";
76
77 public boolean accept(File file) {
78 if (file.isDirectory() && (file.isHidden() == false)) {
79 return true;
80 }
81
82 if (file.isFile() && (file.isHidden() == false)) {
83 String fileName = file.getName().toLowerCase();
84
85 return (fileName.endsWith(fileExtension));
86 }
87
88 return false;
89
90 }
91 }
92 }
This page was automatically generated by Maven