Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

How to generate BIRT report using Jazz data source with script genReport

 Hello,
I'm trying to automate BIRT reports generations by using the script genReport.bat from the BIRT runtime. It works fine when I run the sample report or when I use JDBC datasource but when I want to generate reports using Jazz data source, I get this error even though I have all the ODA jars in the plugins and WEB_INF\platform\plugins directory.
Does anyone know how to configure the BIRT runtime to generate BIRT RTC-based reports?
Thanks in advance for your help.

<code>
Mar 15, 2013 4:28:28 PM org.eclipse.birt.report.data.adapter.impl.ModelAdapter adaptDataSet
WARNING: handle type: org.eclipse.birt.report.model.api.OdaDataSetHandle
Mar 15, 2013 4:28:28 PM org.eclipse.birt.report.data.adapter.impl.ModelAdapter adaptDataSet
WARNING: handle type: org.eclipse.birt.report.model.api.OdaDataSetHandle
Mar 15, 2013 4:28:28 PM org.eclipse.birt.report.data.adapter.impl.ModelAdapter adaptDataSet
WARNING: handle type: org.eclipse.birt.report.model.api.OdaDataSetHandle
Mar 15, 2013 4:28:28 PM org.eclipse.birt.data.engine.odaconsumer.Driver doGetDriverManifest
SEVERE: Cannot find or process the ODA data source extension configuration.java.lang.IllegalArgumentException: Cannot find the ODA dataSource extension (com.ibm.team.reports.generic.dataSource).
 Check the workspace log file for any problems with loading the extension bundleand its dependencies.
        at org.eclipse.datatools.connectivity.oda.util.manifest.ManifestExplorer.getExtensionManifest(ManifestExplorer.java:200)
        at org.eclipse.birt.data.engine.odaconsumer.Driver.doGetDriverManifest(Driver.java:147)
        at org.eclipse.birt.data.engine.odaconsumer.Driver.findDataSourceExtensionConfig(Driver.java:123)
        at org.eclipse.birt.data.engine.odaconsumer.Driver.getDriverExtensionConfig(Driver.java:78)
        at org.eclipse.birt.data.engine.odaconsumer.Driver.getExtensionConfig(Driver.java:60)
        at org.eclipse.birt.data.engine.odaconsumer.Driver.getDriverHelper(Driver.java:93)
        at org.eclipse.birt.data.engine.odaconsumer.DriverManager.getDriverHelper(DriverManager.java:98)
        at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnection(ConnectionManager.java:151)
        at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSource.java:190)
        at org.eclipse.birt.data.engine.executor.DataSource.open(DataSource.java:178))
</code>

0 votes


Accepted answer

Permanent link
Hi,

I think I understand what you're doing now - and the answer is it's not possible to have BIRT (isolated from the RTC server) generate these reports for you. Even if you added our custom ODA plug-in, it has *extensive* runtime dependencies on Jazz Foundation and RTC plugins and capabilities, and cannot be run outside of the OSGi environment in the RTC server.

james

EclipseTalk . selected this answer as the correct answer

0 votes

Comments

 Thanks for the clarification.

We use CURL to generate reports in the night, pretty easy way to get what you want.

So, is it possible to run genReport.bat inside RTC Eclipse Client? How can I do that?

I´m looking for a way to automatize testing for customized BIRT reports.

 

Hi Vladimir,

I'm very intersted in your solution.

Please, can you describe it to me better?

May thanks

Alberto

1) You need to find out report UUID by viewing it, URL will like this:

2) Use this %REPORT_UUID% to download report using CURL (in Excel format in this exmple):

curl -k -b %COOKIES% -H "Accept: application/vnd.ms-excel" "%HOST%/service/com.ibm.team.reports.service.internal.IReportViewerService?format=xls&queryUUID=%REPORT_UUID%&__showArchived=false" >%REPORT_DIR%\Report%REPORT_UUID%.xls 2>>report.log

Other details regarding CURL are here.

Hi Vladimir,

many many thanks: the details you've sent me are very useful for my scope.

I would like to ask some things about the retrieve of the report based on the "report UUID", because it's the target I want to reach: I would like to schedule, or simply call, the creation of a report based on a parameter that I'll pass in the URL.

The URL you have sent me, for me, works fine if I use %QUERY_UUID%, instead of %REPORT_UUID%. This means that I only can use already "done" Reports, that have the assigned "queryUUIDs".
I've esplained what I would like to obtain here:

BIRT report in RTC: how to export a report called passing params via call

 Alberto, I didn't managed to pass report parameters via URL, so I had to set it manually and generate saved reports with particular parameters (fortunately, not so many cases).

showing 5 of 7 show 2 more comments

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 324
× 112

Question asked: Mar 18 '13, 2:20 p.m.

Question was seen: 6,481 times

Last updated: Jun 03 '14, 10:10 a.m.

Related questions
Confirmation Cancel Confirm