KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > calipso > reportgenerator > reportmanager > StaticReport


1 package com.calipso.reportgenerator.reportmanager;
2
3 import com.calipso.reportgenerator.common.*;
4 import com.calipso.reportgenerator.reportcalculator.DataTree;
5 import com.calipso.reportgenerator.reportdefinitions.types.FilterDefinitionFilterTypeType;
6 import com.calipso.reportgenerator.common.InfoException;
7
8 /**
9  *
10  * User: soliveri
11  * Date: Dec 15, 2003
12  * Time: 5:03:14 PM
13  *
14  */

15
16 public class StaticReport extends Report {
17
18   private DataTree dataTree;
19
20   public StaticReport() throws InfoException{
21   }
22
23   public StaticReport(ReportSpec reportSpec, ReportSource reportSource, ReportGeneratorConfiguration configuration) throws InfoException {
24     super(reportSpec, reportSource, configuration);
25     initialize();
26   }
27
28   /**
29    * Ejecuta la inicialización, recolecta toda la información que necesita de la definición del reporte, inicializa
30    * los objetos encargados de resolver los cálculos y obtiene los valores de parámetros por defecto.
31    * @throws InfoException
32    */

33   private void initialize() throws InfoException {
34     try {
35        setReportData(new StaticReportData(getReportSpec()));
36     } catch (Exception JavaDoc e) {
37       throw new InfoException(LanguageTraslator.traslate("48"), e);
38     }
39   }
40
41   public String JavaDoc getXml() throws InfoException {
42     ReportXmlWriter resultWriter = new StaticReportXmlWriter(getReportData(), getReportSpec(), getQuery().getParamValues());
43     return resultWriter.getXml().toString();
44   }
45
46   public ReportResult ExecQuery(ReportQuery query) throws InfoException {
47     if (query == null) {
48       throw new InfoException(LanguageTraslator.traslate("49"));
49     } else {
50       if(!getFiltersByType(getReportSpec(), FilterDefinitionFilterTypeType.RANKING).isEmpty()){
51         fillEnumeration(query);
52       }
53       if(!getFiltersByType(getReportSpec(), FilterDefinitionFilterTypeType.EXCLUDEGROUP).isEmpty()){
54         fillExcludedEnumeration(query);
55       }
56       if(query.isValid()) {
57         getReportData().setQuery(query, getPivot());
58         dataTree = ((StaticReportData)getReportData()).getDataTree();
59       } else {
60         throw new InfoException(LanguageTraslator.traslate("50"));
61       }
62     }
63     return new StaticReportResult(getReportSpec(), query, dataTree);
64   }
65
66 }
67
Popular Tags