BIRT Integration-Cannot find the ODA dataSource extension (org.jboss.tools.birt.oda)
mbaxley Jun 16, 2011 10:49 PMI created a Seam 2.2 + JBoss BIRT Integeration project (BIRT2.6). I want to use the Hibernate ODA datasource for my reporting.
In my test project I used the Birt Sample Classic Models database. I generated the entity bean for the employees table and then built a report design using the Hibernate ODS datasource and dataset. I was able to preview the data and report within the eclipse IDE.
When I run the application in JBoss 5.1, I can successfully run the test and test1 sample reports added with birt integration. I can also view the data witht the seam generated web pages. So it seems my birt installation works fine along with my hibernate entity manager.
When I try to run my report that uses the Hibernate ODA datasource i get the following message:
The following items have errors:
Table (id = 9):
+ An exception occurred during processing. Please see the following message for details:
Cannot find or process the org.jboss.tools.birt.oda driver's data source extension configuration.
Cannot find the ODA dataSource extension (org.jboss.tools.birt.oda).
Check the workspace log file for any problems with loading the extension bundle and its dependencies.
The ReportEngine log shows this:
Jun 16, 2011 11:20:43 AM 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 (org.jboss.tools.birt.oda).
Check the workspace log file for any problems with loading the extension bundle and 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:150)
at org.eclipse.birt.data.engine.odaconsumer.Driver.findDataSourceExtensionConfig(Driver.java:126)
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.createNewDriverHelper(Driver.java:97)
at org.eclipse.birt.data.engine.odaconsumer.DriverManager.getDriverHelper(DriverManager.java:111)
at org.eclipse.birt.data.engine.odaconsumer.DriverManager.getNewDriverHelper(DriverManager.java:100)
at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnection(ConnectionManager.java:150)
at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSource.java:224)
at org.eclipse.birt.data.engine.executor.DataSource.open(DataSource.java:212)
I grabbed the source code for ManifestExplorer and added some logging. It looks like the hibernate oda plugin is not being found. These are the plugins that are returned from the ExtensionRegistry:
org.eclipse.birt.report.data.oda.jdbc.dbprofile
org.eclipse.birt.report.data.oda.jdbc
org.eclipse.birt.report.data.oda.sampledb
org.eclipse.birt.report.data.oda.xml
org.eclipse.datatools.connectivity.oda.flatfile
org.eclipse.datatools.enablement.oda.ws
org.eclipse.datatools.enablement.oda.xml
org.jboss.tools.birt.oda is not listed. I do have the org.jboss.tools.birt.oda_1.2.0.v20110215-1225-H29-GA plugin in my plugins folder. I have tried using it both in a jar and exploded.
Any thoughts on how to make BIRT recognize the plugin? I also tried these same steps with my actual database with the identical results.