Eclipse BIRT Report Object Model (ROM)

OdaDataSource Element

# Element Overview

An extended data source that represents a connection that implements the Open Data Access (ODA) interfaces to interact with an external data provider.

### Details

Display Name: | ODA Data Source
Since: | 1.0
XML Element: | `oda-data-source`
Extends: | DataSource
Extendable: | Yes
Abstract: | No
Name Space: | Data Sources
Name Requirement: | Required
Allows User Properties: | Yes
Has Style: | No

### Property Summary

designerState
extensionID
  The ID of an ODA data source extension that implements the ODA public interfaces to access an external data provider.
privateDriverProperties
  A dynamic list of name-value structures for specifying private data or attributes specific to the ODA connection.

### Inherited Properties

comments, customXml, displayName, displayNameID, eventHandlerClass, extends, name, propertyMasks, userProperties, viewAction

### Inherited Methods

beforeOpen, beforeClose, afterOpen, afterClose

### Description

The ODA Data Source element represents a type of Open Data Access (ODA) connection. It is described by an extension ID and optional set of driver-specific connection properties. An ODA driver may support one or more ODA data source extensions.

An ODA data source extension may statically define driver-specific connection properties by defining the `property` element in the ODA data source extension point (org.eclipse.birt.data.oda.dataSource). See the BIRT Extensions functional specification document for more detail description. By implementing the extension point, an ODA driver's extension plug-in manifest (plugin.xml) could define static driver-specific connection properties. BIRT uniquely identifies each extension-defined property within the scope of its ODA extension. BIRT supports these properties as extended ROM properties with all their built-in features, such as direct editing from the BIRT designer's property sheet. For ease of segregating these driver-specific properties in the property sheet, one could define them within a `propertyGroup` element with a group display name like "Connection Properties". Such grouping is purely for display in a property sheet. Each property in a display group is treated as a top-level property, whose grouping is not visible, when it is accessed programmatically. At Factory time, these static extension-defined properties are passed to the ODA run-time driver as connection properties to open a data source.

The following plug-in manifest segment demonstrates a simple example of such static property definitions.

<extension

point="org.eclipse.birt.data.oda.dataSource">

<dataSource

id="org.eclipse.birt.report.data.oda.jdbc"

driverClass="org.eclipse.birt.report.data.oda.jdbc.OdaJdbcDriver">

<properties>

<propertyGroup

defaultDisplayName="Connection Properties"

name="connectionProperties">

<property

type="string"

defaultDisplayName="JDBC Driver Class"

canInherit="true"

name="odaDriverClass"/>

<property

type="string"

defaultDisplayName="JDBC Driver URL"

canInherit="true"

name="odaURL"/>

<property

type="string"

defaultDisplayName="Data Source"

canInherit="true"

name="odaDataSource"/>

<property

type="string"

defaultDisplayName="User Name"

canInherit="true"

name="odaUser"/>

<property

isEncryptable="true"

type="string"

canInherit="true"

defaultDisplayName="Password"

name="odaPassword"/>

</propertyGroup>

</properties>

</dataSource>

</extension>

### See Also

`OdaDataSet` element

`DataSource` element

`DataSource` scripting object

# Property Detail

## designerState Property

### Details

Type: | OdaDesignerState Structure
Since: | 2.1
Required: | No
Display Name: | Designer state
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | Yes
Property Sheet Visibility: | Hidden
Property Sheet Group: | Top

## extensionID Property

The ID of an ODA data source extension that implements the ODA public interfaces to access an external data provider.

### Details

Type: | string
Since: | 1.0
Required: | No
Display Name: | Extension ID
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | Yes
Property Sheet Visibility: | Hidden
Property Sheet Group: | Top

### Description

The fully qualified ID that uniquely identifies an ODA data source extension in the BIRT environment. It is defined in the ODA data source extension plug-in manifest (plugin.xml) in the `dataSource.id` attribute.

## privateDriverProperties Property

A dynamic list of name-value structures for specifying private data or attributes specific to the ODA connection.

### Details

Type: | List of ExtendedProperty Structures
Since: | 1.0
Required: | No
Display Name: | Private driver properties
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | Yes
Property Sheet Visibility: | Hidden
Property Sheet Group: | Top

### Description

A dynamic list of name-value structures (`ExtendedProperty` structures) that specify private run-time data or attributes specific to the ODA connection. This is an optional element that an ODA driver may use to store and pass pertinent driver-specific attributes from its designer tool to the run-time driver for the connection. The content of this element is specific and private to an ODA driver, whose designer tool can dynamically define and update them as appropriate. These name-value pairs are stored in the report design file as a persistent service, and are passed to the ODA run-time driver at Factory time as connection properties.

### See Also

`ExtendedProperty` structure