View Javadoc

1   /*
2    * ReportDataProvider.java
3    * Created on 30 Август 2006 г., 0:03
4    */
5   
6   package org.weda.report.impl;
7   
8   import org.weda.data.DataProvider;
9   import org.weda.data.DataProviderException;
10  import org.weda.report.Report;
11  import org.weda.report.ReportException;
12  
13  /**
14   *
15   * @author Mikhail Titov
16   */
17  public class ReportDataProvider implements DataProvider {
18      private Report report;
19      
20      public ReportDataProvider(Report report) {
21          this.report = report;
22      }
23  
24      public String getMimeType() {
25          return report.getMimeType();
26      }
27  
28      public Object getData() throws DataProviderException {
29          try {
30              return report.generate();
31          } catch (ReportException ex) {
32              throw new DataProviderException(
33                      String.format(
34                          "Error while providing data from report (%s)"
35                          , report.getName())
36                      , ex);
37          }
38      }
39  
40      public void release() throws DataProviderException {
41          try {
42              report.release();
43          } catch (ReportException ex) {
44              throw new DataProviderException(
45                      String.format(
46                          "Error while releasing data provider " +
47                          "resources for report (%s)"
48                          , report.getName())
49                      , ex);
50          }
51      }
52      
53  }