1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.report.claim.util;
20
21 import java.io.File;
22 import java.io.IOException;
23
24 import org.apache.rat.analysis.UnknownLicense;
25 import org.apache.rat.annotation.AbstractLicenseAppender;
26 import org.apache.rat.annotation.ApacheV2LicenseAppender;
27 import org.apache.rat.api.RatException;
28 import org.apache.rat.report.AbstractReport;
29 import org.apache.rat.utils.Log;
30
31 public class LicenseAddingReport extends AbstractReport {
32 private final AbstractLicenseAppender appender;
33
34 public LicenseAddingReport(final Log log, String pCopyrightMsg, boolean pForced) {
35 appender = pCopyrightMsg == null ? new ApacheV2LicenseAppender(log)
36 : new ApacheV2LicenseAppender(log, pCopyrightMsg);
37 appender.setForce(pForced);
38 }
39
40 @Override
41 public void report(org.apache.rat.api.Document document) throws RatException {
42 if (document.getMetaData().licenses().anyMatch(lic -> lic.equals(UnknownLicense.INSTANCE))) {
43 final File file = new File(document.getName());
44 if (file.isFile()) {
45 try {
46 appender.append(file);
47 } catch (IOException e) {
48 throw new RatException(e.getMessage(), e);
49 }
50 }
51 }
52 }
53 }