EventHandler for ODA [message #44071] |
Fri, 18 April 2008 13:30 |
Eclipse User |
|
|
|
Originally posted by: dunkelpeter.gmx.net
Hello!
I am developing an ODA Driver.
The driver will be used in a Birt Report-Engine, called by an
application, to print the data from this application.
My problem is to put the data in the "Eclipse Runtime". I can store the
data as Birt-Task ParameterValues, so I see them in the report engine, but
there seems to be no way to call the ODA Driver.
Is there a change to write an EventHandler (like the Birt EventHandler),
where I have the ClassLoader from my application to get my Data-Objects
and as parameter the context of my ODA Driver?
Nice Weekend
Peter
|
|
|
Re: EventHandler for ODA [message #44100 is a reply to message #44071] |
Fri, 18 April 2008 22:49 |
Linda Chan Messages: 845 Registered: July 2009 |
Senior Member |
|
|
Peter,
An ODA driver is normally a data provider to the BIRT engine, and is not
designed for the other way round (i.e. to consume data from its consumer).
If you simply want to pass arbitrary data from the BIRT Engine to an
underlying custom ODA data provider, you can set them in the BIRT Engine's
application context, using its IEngineTask.setAppContext( Map ).
The appContext argument is then passed through to an ODA runtime driver via
the call to each of the ODA interface method, setAppContext, e.g.
IDriver.setAppContext. Your ODA driver implementation of those methods can
then take the value in the passed thru arugment.
From your other NG posting, it seems that you are more interested in passing
a BIRT report parameter value to your ODA driver. To handle this, in your
BIRT report design, use the Data Set Editor's Parameters page to link your
ODA data set parameter to a BIRT report parameter. This way, a report
parameter value will then get passed to an ODA runtime driver thru the call
to your ODA driver implementation of the oda.IQuery.set<dataType> method.
Linda
|
|
|
Re: EventHandler for ODA [message #590999 is a reply to message #44071] |
Fri, 18 April 2008 22:49 |
Linda Chan Messages: 845 Registered: July 2009 |
Senior Member |
|
|
Peter,
An ODA driver is normally a data provider to the BIRT engine, and is not
designed for the other way round (i.e. to consume data from its consumer).
If you simply want to pass arbitrary data from the BIRT Engine to an
underlying custom ODA data provider, you can set them in the BIRT Engine's
application context, using its IEngineTask.setAppContext( Map ).
The appContext argument is then passed through to an ODA runtime driver via
the call to each of the ODA interface method, setAppContext, e.g.
IDriver.setAppContext. Your ODA driver implementation of those methods can
then take the value in the passed thru arugment.
From your other NG posting, it seems that you are more interested in passing
a BIRT report parameter value to your ODA driver. To handle this, in your
BIRT report design, use the Data Set Editor's Parameters page to link your
ODA data set parameter to a BIRT report parameter. This way, a report
parameter value will then get passed to an ODA runtime driver thru the call
to your ODA driver implementation of the oda.IQuery.set<dataType> method.
Linda
|
|
|
Powered by
FUDForum. Page generated in 0.02137 seconds