1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.reporting.exec;
20
21 import org.apache.maven.model.Plugin;
22 import org.apache.maven.reporting.MavenReport;
23 import org.apache.maven.reporting.MavenReportException;
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 public class MavenReportExecution {
48 private MavenReport mavenReport;
49
50 private ClassLoader classLoader;
51
52 private Plugin plugin;
53
54 private final String goal;
55
56 public MavenReportExecution(String goal, Plugin plugin, MavenReport mavenReport, ClassLoader classLoader) {
57 this.goal = goal;
58 this.setPlugin(plugin);
59 this.mavenReport = mavenReport;
60 this.classLoader = classLoader;
61 }
62
63 public MavenReportExecution(Plugin plugin, MavenReport mavenReport, ClassLoader classLoader) {
64 this(null, plugin, mavenReport, classLoader);
65 }
66
67 public MavenReportExecution(MavenReport mavenReport) {
68 this(null, null, mavenReport, null);
69 }
70
71
72
73
74
75
76 public boolean canGenerateReport() throws MavenReportException {
77 ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
78 try {
79 if (classLoader != null) {
80 Thread.currentThread().setContextClassLoader(classLoader);
81 }
82
83 return mavenReport.canGenerateReport();
84 } finally {
85 if (classLoader != null) {
86 Thread.currentThread().setContextClassLoader(originalClassLoader);
87 }
88 }
89 }
90
91 public MavenReport getMavenReport() {
92 return mavenReport;
93 }
94
95 public void setMavenReport(MavenReport mavenReport) {
96 this.mavenReport = mavenReport;
97 }
98
99 public ClassLoader getClassLoader() {
100 return classLoader;
101 }
102
103 public void setClassLoader(ClassLoader classLoader) {
104 this.classLoader = classLoader;
105 }
106
107 public void setPlugin(Plugin plugin) {
108 this.plugin = plugin;
109 }
110
111 public Plugin getPlugin() {
112 return plugin;
113 }
114
115 public String getGoal() {
116 return goal;
117 }
118 }