Eclipse Community Forums - RDF feed
https://www.eclipse.org/forums/
Eclipse Community ForumsCustom ODA driver IDataSetMetaData usage
https://www.eclipse.org/forums/index.php/mv/msg/452258/1006051/#msg_1006051
IConnection.getMetaData() is never called by BIRT framework.
I created a custom ODA data source using the standard template
project that comes with eclipse. This template code provides a
IParameterMetaData instance with one parameter, so I would expect
that when I add such a data source in report designer and edit the
"Data Set" then I would get the parameters binding screen in the
"Edit Data Set" dialog.
I added some logging to trace the main calls of the ODA driver
and note that the IConnection method
IDataSetMetaData getMetaData(String dataSetType)
is never called. Thus it is not surprising that report designer does
not know that query parameters are required.
The template implementation of IDataSetMetaData has method
supportsInParameters() return true so it expects input parameters
to be used.
Why is this not called?
Is there some special plugin.xml setting required?
Obviously this works for the ODA JDBC drivers, but they additionally provide
special UI configuration screens so may be using the API in a different way.
I feel this feature should work in some basic manner for a simple ODA driver
without a special UI plugin.
The same problem applies when just using the runtime reporting engine,
but since the report design will not specify any query parameters this
is not surprising.
My platform:
linux x86_64
java 1.7 (openjdk "icedtea" 7)
eclipse juno SR1
DTP 1.10.1
BIRT 4.2.1
Here is the basic sequence of calls when I first insert a new data source
and data set into a report design using the sample code ODA driver:
]]>Ian Gardner2013-01-29T16:04:30-00:00Re: Custom ODA driver IDataSetMetaData usage
https://www.eclipse.org/forums/index.php/mv/msg/452258/1006264/#msg_1006264
The getParameterMetaData method is actually called from the dataset wizard page:
(CustomDataSetWizardPage.java)
Jason]]>Jason Weathersby2013-01-30T15:51:21-00:00Re: Custom ODA driver IDataSetMetaData usage
https://www.eclipse.org/forums/index.php/mv/msg/452258/1006289/#msg_1006289
You have understood correctly.
In my case the Query "IParameterMetaData getParameterMetaData()" method is
never called either. I assumed the problem was upstream since the
IConnection.getMetaData() method is also not called.
Am I doing something wrong in the report designer?
Here is my sequence of steps:
1. Install my custom ODA driver into the eclipse dropins folder and restart
eclipse with the -clean to purge any plugin cache
2. Create a new report design based on blank page template
3. Add a new data source
4. Add a new data set
After I click the Finish button of the add new dataset wizard the
edit dialog for the dataset pops up (Same as right mouse menu on
dataset and select Edit).
This dialog contains the sub-pages "Data Source", "Output Columns", "Computed Columns",
"Filters", "Property Binding", "Settings" and "Preview Results".
However no input parameter sub-page which is what I am expecting.
Without proceeding any further the main calls logged by my driver are:
No calls to IConnection.getMetaData() or Query.getParameterMetaData().
Thankyou,
Ian
]]>Ian Gardner2013-01-30T17:16:13-00:00Re: Custom ODA driver IDataSetMetaData usage
https://www.eclipse.org/forums/index.php/mv/msg/452258/1006293/#msg_1006293
CustomDataSetWizardPage
Both of those calls are in this class.