1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.anttasks;
20
21 import org.apache.rat.ReportConfiguration;
22 import org.apache.rat.api.RatException;
23 import org.apache.rat.document.DocumentName;
24 import org.apache.rat.document.FileDocument;
25 import org.apache.rat.report.IReportable;
26 import org.apache.rat.report.RatReport;
27 import org.apache.tools.ant.types.Resource;
28 import org.apache.tools.ant.types.ResourceCollection;
29 import org.apache.tools.ant.types.resources.FileResource;
30
31
32
33
34
35 class ResourceCollectionContainer implements IReportable {
36
37 private final ResourceCollection resources;
38
39 private final ReportConfiguration configuration;
40
41 private final DocumentName name;
42
43 ResourceCollectionContainer(final DocumentName name, final ReportConfiguration configuration, final ResourceCollection resources) {
44 this.resources = resources;
45 this.configuration = configuration;
46 this.name = name;
47 }
48
49 @Override
50 public void run(final RatReport report) throws RatException {
51 for (Resource r : resources) {
52 if (r.isFilesystemOnly()) {
53 FileResource fr = (FileResource) r;
54 DocumentName dirName = DocumentName.builder(fr.getFile()).setBaseName(fr.getProject().getBaseDir()).build();
55 FileDocument document = new FileDocument(dirName, fr.getFile(), configuration.getDocumentExcluder(dirName));
56 report.report(document);
57 }
58 }
59 }
60
61 @Override
62 public DocumentName getName() {
63 return name;
64 }
65 }