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.Document;
28 import org.apache.rat.api.RatException;
29 import org.apache.rat.report.AbstractReport;
30
31
32
33
34 public class LicenseAddingReport extends AbstractReport {
35
36 private final AbstractLicenseAppender appender;
37
38
39
40
41
42
43 public LicenseAddingReport(final String copyrightMsg, final boolean overwrite) {
44 appender = copyrightMsg == null ? new ApacheV2LicenseAppender()
45 : new ApacheV2LicenseAppender(copyrightMsg);
46 appender.setOverwrite(overwrite);
47 }
48
49 @Override
50 public void report(final Document document) throws RatException {
51 if (document.getMetaData().licenses().anyMatch(lic -> lic.equals(UnknownLicense.INSTANCE))) {
52 final File file = new File(document.getName().getName());
53 if (file.isFile()) {
54 try {
55 appender.append(file);
56 } catch (IOException e) {
57 throw new RatException(e.getMessage(), e);
58 }
59 }
60 }
61 }
62 }