1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.eclipse.jetty.ant.types;
21
22 import java.io.File;
23 import java.util.ArrayList;
24 import java.util.Iterator;
25 import java.util.List;
26
27 import org.apache.tools.ant.DirectoryScanner;
28
29
30
31
32
33
34
35 public class FileMatchingConfiguration
36 {
37
38 private List directoryScanners;
39
40 public FileMatchingConfiguration()
41 {
42 this.directoryScanners = new ArrayList();
43 }
44
45
46
47
48
49 public void addDirectoryScanner(DirectoryScanner directoryScanner)
50 {
51 this.directoryScanners.add(directoryScanner);
52 }
53
54
55
56
57
58 public List getBaseDirectories()
59 {
60 List baseDirs = new ArrayList();
61 Iterator scanners = directoryScanners.iterator();
62 while (scanners.hasNext())
63 {
64 DirectoryScanner scanner = (DirectoryScanner) scanners.next();
65 baseDirs.add(scanner.getBasedir());
66 }
67
68 return baseDirs;
69 }
70
71
72
73
74
75
76
77 public boolean isIncluded(String pathToFile)
78 {
79 Iterator scanners = directoryScanners.iterator();
80 while (scanners.hasNext())
81 {
82 DirectoryScanner scanner = (DirectoryScanner) scanners.next();
83 scanner.scan();
84 String[] includedFiles = scanner.getIncludedFiles();
85
86 for (int i = 0; i < includedFiles.length; i++)
87 {
88 File includedFile = new File(scanner.getBasedir(), includedFiles[i]);
89 if (pathToFile.equalsIgnoreCase(includedFile.getAbsolutePath()))
90 {
91 return true;
92 }
93 }
94 }
95
96 return false;
97 }
98 }