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 public class FileMatchingConfiguration
35 {
36
37 private List directoryScanners;
38
39 public FileMatchingConfiguration()
40 {
41 this.directoryScanners = new ArrayList();
42 }
43
44
45
46
47
48 public void addDirectoryScanner(DirectoryScanner directoryScanner)
49 {
50 this.directoryScanners.add(directoryScanner);
51 }
52
53
54
55
56
57 public List getBaseDirectories()
58 {
59 List baseDirs = new ArrayList();
60 Iterator scanners = directoryScanners.iterator();
61 while (scanners.hasNext())
62 {
63 DirectoryScanner scanner = (DirectoryScanner) scanners.next();
64 baseDirs.add(scanner.getBasedir());
65 }
66
67 return baseDirs;
68 }
69
70
71
72
73
74
75
76 public boolean isIncluded(String pathToFile)
77 {
78 Iterator scanners = directoryScanners.iterator();
79 while (scanners.hasNext())
80 {
81 DirectoryScanner scanner = (DirectoryScanner) scanners.next();
82 scanner.scan();
83 String[] includedFiles = scanner.getIncludedFiles();
84
85 for (int i = 0; i < includedFiles.length; i++)
86 {
87 File includedFile = new File(scanner.getBasedir(), includedFiles[i]);
88 if (pathToFile.equalsIgnoreCase(includedFile.getAbsolutePath()))
89 {
90 return true;
91 }
92 }
93 }
94
95 return false;
96 }
97 }