added canGenerate()

git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1598679 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/reporting/exec/MavenReportExecution.java b/src/main/java/org/apache/maven/reporting/exec/MavenReportExecution.java
index 2c2dfcb..2d6cbe1 100644
--- a/src/main/java/org/apache/maven/reporting/exec/MavenReportExecution.java
+++ b/src/main/java/org/apache/maven/reporting/exec/MavenReportExecution.java
@@ -72,6 +72,31 @@
         this( null, null, mavenReport, null );
     }
 
+    /**
+     * execute Maven Report's <code>canGenerate()</code> with adequate classloader.
+     * @return Maven Report's <code>canGenerate()</code> result
+     */
+    public boolean canGenerateReport()
+    {
+        ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
+        try
+        {
+            if ( classLoader != null )
+            {
+                Thread.currentThread().setContextClassLoader( classLoader );
+            }
+
+            return mavenReport.canGenerateReport();
+        }
+        finally
+        {
+            if ( classLoader != null )
+            {
+                Thread.currentThread().setContextClassLoader( originalClassLoader );
+            }
+        } 
+    }
+
     public MavenReport getMavenReport()
     {
         return mavenReport;