If you have an existed report design file, what the difference thing
that you need to do is to get the designHandle from parsing the design file.
SessionHandle sessionHandle = DesignEngine.newSession(
locale );
ReportDesignHandle designHandle =
sessionHandle.openDesign( fileName );
Then you can get the ElementFactory through the
desginHandle and create your dataSet and dataSource as the code demonstrated below.
One thing need to clarify is:
String odaDriverClass =
"sun.jdbc.odbc.JdbcOdbcDriver";
> String odaURL =
"jdbc:odbc:test";
> String odaUser =
"sa";
> String odaPassword =
"sa";
> datasourceHandele.setProperty(
"odaDriverClass", odaDriverClass );
> datasourceHandele.setProperty(
"odaURL", odaURL );
> datasourceHandele.setProperty(
"odaUser", odaUser );
> datasourceHandele.setProperty(
"odaPassword", odaPassword );
If you looked at the example given below you will find
that the property names are hard coded in the code. But maybe you will get a
little bit confused about where is the list of propertoes that defined on
odaDataSet/odaDataSource. The method:
List OdaDataSource :: getExtensionPropertyDefinitionList(
)
List OdaDataSet :: getExtensionPropertyDefinitionList(
)
Throug the list you can get all of the properties that
you can set and get on the odaDataSource/odaDataSet.
Thanks!
Ivy
Actuate Software ShangHai center.
498 Guoshoujing Rd.Bld 3.Suite 3301. shanghai,201203
Tel: (86)21-50270900 ext:257
Fax:(86)21-50270901
Email: yli@xxxxxxxxxxx
-----Original Message-----
From: birt-dev-bounces@xxxxxxxxxxx [mailto:birt-dev-bounces@xxxxxxxxxxx] On
Behalf Of 孙帅
Sent: Monday, July 11, 2005 11:46 AM
To: For developers on the BIRT project
Subject: Re: [birt-dev] RE: birt-dev Digest, Vol 4, Issue 4
How can I use these codes to an existed rptdesign file?
----- Original Message -----
From: "Jianqiang Luo" <jluo@xxxxxxxxxxx>
To: <birt-dev@xxxxxxxxxxx>
Sent: Monday, July 11, 2005 11:34 AM
Subject: [birt-dev] RE: birt-dev Digest, Vol 4, Issue 4
> Following is an example to demonstrate how to add ODA-JDBC data
source and data set programmatically.
>
> // 1: get ReportDesignHandle
> ReportDesignHandle reportDesignHandle =
HandleAdapterFactory.getInstance( )
> .getReportDesignHandleAdapter( )
> .getReportDesignHandle( );
>
> // 2.1: create datasource handle
> String datasourceName = "datasourceSample";
> String datasourceType =
"org.eclipse.birt.report.data.oda.jdbc";
> OdaDataSourceHandle datasourceHandele =
reportDesignHandle.getDataSources( )
> .getElementHandle( )
> .getElementFactory( )
> .newOdaDataSource( datasourceName, datasourceType );
>
> String odaDriverClass = "sun.jdbc.odbc.JdbcOdbcDriver";
> String odaURL = "jdbc:odbc:test";
> String odaUser = "sa";
> String odaPassword = "sa";
> datasourceHandele.setProperty( "odaDriverClass",
odaDriverClass );
> datasourceHandele.setProperty( "odaURL", odaURL );
> datasourceHandele.setProperty( "odaUser", odaUser );
> datasourceHandele.setProperty( "odaPassword",
odaPassword );
>
> // 2.2: add above created data source element to data source slot
handle
> SlotHandle datasourceSlotHandle =
reportDesignHandle.getDataSources( );
> datasourceSlotHandle.add( datasourceHandele );
>
> // 3.1: create data set handle
> String datasetName = "datasetSample";
> String datasetType =
"org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet";
> OdaDataSetHandle datasetHandle = reportDesignHandle.getDataSets( )
> .getElementHandle( )
> .getElementFactory( )
> .newOdaDataSet( datasetName, datasetType );
> datasetHandle.setDataSource( datasourceName );
> // assume there is a table named testTable
> datasetHandle.setQueryText( "select * from testTable" );
>
> // 3.2. add above created data set element to data set slot handle
> SlotHandle datasetSlotHandle = reportDesignHandle.getDataSets( );
> datasetSlotHandle.add( datasetHandle );
>
> You can get more information from DataSourceSelectionPage.java and
DataSetBasePage.java.
>
> Thanks,
> Jianqiang
>
> -----Original Message-----
> From: birt-dev-bounces@xxxxxxxxxxx
[mailto:birt-dev-bounces@xxxxxxxxxxx] On Behalf Of birt-dev-request@xxxxxxxxxxx
> Sent: 2005年7月11日 0:00
> To: birt-dev@xxxxxxxxxxx
> Subject: birt-dev Digest, Vol 4, Issue 4
>
> Send birt-dev mailing list submissions to
> birt-dev@xxxxxxxxxxx
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://dev.eclipse.org/mailman/listinfo/birt-dev
> or, via email, send a message with subject or body 'help' to
> birt-dev-request@xxxxxxxxxxx
>
> You can reach the person managing the list at
> birt-dev-owner@xxxxxxxxxxx
>
> When replying, please edit your Subject line so it is more
specific
> than "Re: Contents of birt-dev digest..."
>
>
> Today's Topics:
>
> 1. How to create a
datasource (Andres Felipe Gomez Mondragon)
>
>
>
----------------------------------------------------------------------
>
> Message: 1
> Date: Sat, 09 Jul 2005 19:22:41 +0000
> From: "Andres Felipe Gomez Mondragon"
<andresfelipegomezm@xxxxxxxxxxx>
> Subject: [birt-dev] How to create a datasource
> To: birt-dev@xxxxxxxxxxx
> Message-ID: <BAY12-F2606D38F6C8D200F0C1FC8C4DA0@xxxxxxx>
> Content-Type: text/plain; format=flowed
>
> Hello, I need your help.
> I need to create a datasource using java code but i dont know how
to write
> the datasource with the properties like driverclass, url, user, password
> and the metadata with a query like "select code, description
from conexion".
> After the results i´ll show in a table.
>
> Thanks.
>
> _________________________________________________________________
> On the road to retirement? Check out MSN Life Events for advice on
how to
> get there! http://lifeevents.msn.com/category.aspx?cid=Retirement
>
>
>
> ------------------------------
>
> _______________________________________________
> birt-dev mailing list
> birt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/birt-dev
>
>
> End of birt-dev Digest, Vol 4, Issue 4
> **************************************
> _______________________________________________
> birt-dev mailing list
> birt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/birt-dev