1
2
3
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 }