1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.report.xml;
20
21 import java.util.ArrayList;
22 import java.util.List;
23
24 import org.apache.rat.ReportConfiguration;
25 import org.apache.rat.analysis.DefaultAnalyserFactory;
26 import org.apache.rat.document.IDocumentAnalyser;
27 import org.apache.rat.document.impl.util.DocumentAnalyserMultiplexer;
28 import org.apache.rat.policy.DefaultPolicy;
29 import org.apache.rat.report.RatReport;
30 import org.apache.rat.report.claim.ClaimStatistic;
31 import org.apache.rat.report.claim.impl.ClaimAggregator;
32 import org.apache.rat.report.claim.impl.xml.SimpleXmlClaimReporter;
33 import org.apache.rat.report.claim.util.ClaimReporterMultiplexer;
34 import org.apache.rat.report.claim.util.LicenseAddingReport;
35 import org.apache.rat.report.xml.writer.IXmlWriter;
36
37
38
39
40
41 public class XmlReportFactory {
42 public static final RatReport createStandardReport(IXmlWriter writer,
43 final ClaimStatistic pStatistic, ReportConfiguration pConfiguration) {
44 final List<RatReport> reporters = new ArrayList<RatReport>();
45 if (pStatistic != null) {
46 reporters.add(new ClaimAggregator(pStatistic));
47 }
48 if (pConfiguration.isAddingLicenses()) {
49 reporters.add(new LicenseAddingReport(pConfiguration.getCopyrightMessage(), pConfiguration.isAddingLicensesForced()));
50 }
51 reporters.add(new SimpleXmlClaimReporter(writer));
52 final IDocumentAnalyser analyser =
53 DefaultAnalyserFactory.createDefaultAnalyser(pConfiguration.getHeaderMatcher());
54 final DefaultPolicy policy = new DefaultPolicy(pConfiguration.getApprovedLicenseNames());
55 final IDocumentAnalyser[] analysers = {analyser, policy};
56 DocumentAnalyserMultiplexer analysisMultiplexer = new DocumentAnalyserMultiplexer(analysers);
57 return new ClaimReporterMultiplexer(analysisMultiplexer, reporters);
58 }
59 }