Home
Analytics
Upgrading from old Actuate e.Reports to BIRT
jyol2005
I searched all the forums, but I don't think I found the answers to the following and I'm very desperate to find a solution. I am very new to this product, so please bear with me if I sound stupid.
We have a very old version of actuate in one of the products (it's e.Report Designer - Java Editionv5.0) and finally they've decided to upgrade it to the new version. The problem is I'm new to actuate (both old e.Reports and new BIRT). We have about 50 template files, one for each report and I understand these need to be rewritten using BIRT report designer. Each report has a corresponding java class which gets all the required data from the database, formats it and puts it in a vector. Then it opens the template and sets the datasource, dataset, etc. The sample code is given below.
I would really appreciate if someone knows the old APIs and what would be the equivalent of them in BIRT RE APIs. Right now, we don't want to change all the java code that's doing the data retrieval, formatting, etc. We only want to upgrade Actuate part. I need to estimate and come up with a plan for this effort. So, please help me.
ACJEngine acjE = new ACJEngine();
AppDataHandler ds = new AppDataHandler();
Vector vAccessors_APPRAISALWITHOUTCOSTDATA = new Vector();
vAccessors_APPRAISALWITHOUTCOSTDATA.addElement("TYPECODE = TypeCode");
vAccessors_APPRAISALWITHOUTCOSTDATA.addElement("DESCRIPTION1 = Description1");
vAccessors_APPRAISALWITHOUTCOSTDATA.addElement("DESCRIPTION2 = Description2");
vAccessors_APPRAISALWITHOUTCOSTDATA.addElement("DESCRIPTION3 = Description3");
vAccessors_APPRAISALWITHOUTCOSTDATA.addElement("FREQUENCY = Frequency");
vAccessors_APPRAISALWITHOUTCOSTDATA.addElement("PRICE = Price");
ds.registerObjectAsTable(new AppraisalWithoutCostData(),
"APPRAISALWITHOUTCOSTDATA",
vAccessors_APPRAISALWITHOUTCOSTDATA);
acjE.setDataSource(ds);
acjE.readTemplate(in);
tm.setLabel("TITLE", "Appraisal Without Cost Report");
........
........ // several of these for what appears to be setting different labels
IViewerInterface ivi = acjE.generateReport ();
acjOP = new ACJOutputProcessor ();
acjOP.setReportData (ivi);
Find more posts tagged with
Comments
Virgil Dodson
BIRT can consume the same data from your Java objects using the Scripted Data Source... and Label values can be passed in using parameters but there is not a direct API that you can just swap out. I would start by looking at this example to see how the scripted data source works. <a class='bbc_url' href='
http://www.birt-exchange.com/devshare/designing-birt-reports/544-sample-birt-scripted-data-source-example/#description'>Sample
BIRT Scripted Data Source Example - Designs & Code - BIRT Exchange</a>
jyol2005
I have seen this sample, but I'm not sure if this is exactly what I need to do. While running and rendering the report (using RE APIs), can I set the datasource/dataset for the report design along with other parameters? Or does the report design need to know scripted datasource at design time?
Right now, for each of the reports, we have a Java class which opens the template, sets parameters, datasource, etc and then runs the report. Does this need to be split into two different classes: one as a scripted datasource and another for running the report using report engine APIs?
Thanks for your help.