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 org.apache.rat.ReportConfiguration;
22 import org.apache.rat.analysis.DefaultAnalyserFactory;
23 import org.apache.rat.document.IDocumentAnalyser;
24 import org.apache.rat.document.impl.util.DocumentAnalyserMultiplexer;
25 import org.apache.rat.license.LicenseSetFactory.LicenseFilter;
26 import org.apache.rat.policy.DefaultPolicy;
27 import org.apache.rat.report.RatReport;
28 import org.apache.rat.report.claim.ClaimStatistic;
29 import org.apache.rat.report.claim.impl.ClaimAggregator;
30 import org.apache.rat.report.claim.impl.xml.SimpleXmlClaimReporter;
31 import org.apache.rat.report.claim.util.ClaimReporterMultiplexer;
32 import org.apache.rat.report.claim.util.LicenseAddingReport;
33 import org.apache.rat.report.xml.writer.IXmlWriter;
34
35 import java.util.ArrayList;
36 import java.util.List;
37
38
39
40
41
42 public class XmlReportFactory {
43
44
45
46
47
48
49
50
51
52 public static RatReport createStandardReport(IXmlWriter writer,
53 final ClaimStatistic statistic, ReportConfiguration configuration) {
54 final List<RatReport> reporters = new ArrayList<>();
55 if (statistic != null) {
56 reporters.add(new ClaimAggregator(statistic));
57 }
58 if (configuration.isAddingLicenses()) {
59 reporters.add(new LicenseAddingReport(configuration.getLog(), configuration.getCopyrightMessage(), configuration.isAddingLicensesForced()));
60 }
61 reporters.add(new SimpleXmlClaimReporter(writer));
62
63 final IDocumentAnalyser analyser =
64 DefaultAnalyserFactory.createDefaultAnalyser(configuration.getLog(), configuration.getLicenses(LicenseFilter.all));
65 final DefaultPolicy policy = new DefaultPolicy(configuration.getLicenseFamilies(LicenseFilter.approved));
66
67 final IDocumentAnalyser[] analysers = {analyser, policy};
68 DocumentAnalyserMultiplexer analysisMultiplexer = new DocumentAnalyserMultiplexer(analysers);
69 return new ClaimReporterMultiplexer(analysisMultiplexer, reporters);
70 }
71 }