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 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 33 private void initialize() throws InfoException { 34 try { 35 setReportData(new StaticReportData(getReportSpec())); 36 } catch (Exception e) { 37 throw new InfoException(LanguageTraslator.traslate("48"), e); 38 } 39 } 40 41 public String 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 |