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.AnalyserFactory;
26 import org.apache.rat.license.LicenseSetFactory.LicenseFilter;
27 import org.apache.rat.report.ConfigurationReport;
28 import org.apache.rat.report.RatReport;
29 import org.apache.rat.report.claim.ClaimAggregator;
30 import org.apache.rat.report.claim.ClaimReporterMultiplexer;
31 import org.apache.rat.report.claim.ClaimStatistic;
32 import org.apache.rat.report.claim.ClaimValidatorReport;
33 import org.apache.rat.report.claim.LicenseAddingReport;
34 import org.apache.rat.report.claim.SimpleXmlClaimReporter;
35 import org.apache.rat.report.xml.writer.IXmlWriter;
36
37
38
39
40 public final class XmlReportFactory {
41
42 private XmlReportFactory() {
43
44 }
45
46
47
48
49
50
51
52
53
54
55
56 public static RatReport createStandardReport(final IXmlWriter writer, final ClaimStatistic statistic, final ReportConfiguration configuration) {
57 final List<RatReport> reporters = new ArrayList<>();
58 if (statistic != null) {
59 reporters.add(new ClaimAggregator(statistic));
60 }
61 if (configuration.isAddingLicenses() && !configuration.isDryRun()) {
62 reporters.add(new LicenseAddingReport(configuration.getCopyrightMessage(), configuration.isAddingLicensesForced()));
63 }
64
65 if (configuration.listFamilies() != LicenseFilter.NONE || configuration.listLicenses() != LicenseFilter.NONE) {
66
67 reporters.add(new ConfigurationReport(writer, configuration));
68 }
69
70 reporters.add(new SimpleXmlClaimReporter(writer));
71 reporters.add(new ClaimValidatorReport(writer, statistic, configuration));
72
73 return new ClaimReporterMultiplexer(writer, configuration.isDryRun(), AnalyserFactory.createConfiguredAnalyser(configuration), reporters);
74 }
75 }