Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
new ODA implementation does't work with DEAPI
mohammadgh
Hi,
I have a birt ODA extention that i created based on the Hibernate sample.
I exported the plugin as Jar file and it works fine when I create new data source or Dataset with this type.
But when i try to create a new ODA datasource with DEAPI,
it returns null.
OdaDataSourceHandle dsHandle = designFactory.newOdaDataSource(
DATA_SOURCE_NAME, DATASOURCE_ODA_JDBC);
it saw the code, ithe method "isValidExtensionID" in "ODAProvider.class" returns false and it fails to create the datasource.I don't know what i have to do more to make it work with DEAPI.
based on documentation this method
"Checks whether the extension ID can return a valid ODA dataset dataType."
why this is not a valid ODA dataset dataType? what is have to do to make it valid?
I saw also in org.eclipse.datatools.connectivity.oda.util.manifest.ManifestExplorer
the method getExtensions( extensionPoint ) does not return my extension for
the extention point "org.eclipse.datatools.connectivity.oda.dataSource". what is the problem? i think there is a problem in manifest, i dont know where!!!
any help will be greatly appreciated
Mohammad
Find more posts tagged with
Comments
JasonW
Can you post the version you are using?
Jason
mohammadgh
I am using birt 2.3.2.
do you need anything else to know?
i have also attached the plugin.xml
plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
<extension-point id="driverinfo" name="JDBC Driver Information Extension"
schema="schema/driverinfo.exsd"/>
<extension
point="org.eclipse.datatools.connectivity.oda.dataSource">
<dataSource
odaVersion="3.1"
driverClass="ir.orbitall.report.data.oda.jdbc.OdaJdbcDriver"
defaultDisplayName="%datasource.name"
setThreadContextClassLoader="false"
id="%oda.data.source.id">
<properties>
<propertyGroup
defaultDisplayName="Connection Properties"
name="connectionProperties">
<property
type="string"
defaultDisplayName="%datasource.property.odaDriverClass"
canInherit="true"
name="odaDriverClass"/>
<property
type="string"
defaultDisplayName="%datasource.property.odaURL"
canInherit="true"
name="odaURL"/>
<property
type="string"
defaultDisplayName="%datasource.property.odaDataSource"
canInherit="true"
name="odaDataSource"/>
<property
type="string"
defaultDisplayName="%datasource.property.odaUser"
canInherit="true"
name="odaUser"/>
<property
type="choice"
defaultDisplayName="%datasource.property.autocommit"
canInherit="true"
name="odaAutoCommit">
<choice name="false" value="false" defaultDisplayName="%dataset.connection.autocommit.false"/>
<choice name="true" value="true" defaultDisplayName="%dataset.connection.autocommit.true"/>
</property>
<property
type="choice"
defaultDisplayName="%datasource.property.isolationmode"
canInherit="true"
name="odaIsolationMode">
<choice name="read-uncommitted" value="1" defaultDisplayName="%dataset.connection.isolationmode.read-uncommitted"/>
<choice name="read-committed" value="2" defaultDisplayName="%dataset.connection.isolationmode.read-committed"/>
<choice name="repeatable-read" value="4" defaultDisplayName="%dataset.connection.isolationmode.repeatable-read"/>
<choice name="serializable" value="8" defaultDisplayName="%dataset.connection.isolationmode.serializable"/>
</property>
<property
isEncryptable="true"
type="string"
canInherit="true"
defaultDisplayName="%datasource.property.odaPassword"
name="odaPassword"/>
<property
canInherit="true"
defaultDisplayName="%datasource.property.odaJndiURL"
name="odaJndiName"
type="string"/>
</propertyGroup>
<propertyVisibility name="odaDataSource" visibility="hide"/>
</properties>
</dataSource>
<dataSet
defaultDisplayName="%dataset.query.sqltype"
id="ir.orbitall.report.data.oda.jdbc.JdbcSelectDataSet">
<dataTypeMapping
nativeDataType="BIT"
nativeDataTypeCode="-7"
odaScalarDataType="Integer"/>
<dataTypeMapping
nativeDataType="TINYINT"
nativeDataTypeCode="-6"
odaScalarDataType="Integer"/>
<dataTypeMapping
nativeDataType="SMALLINT"
nativeDataTypeCode="5"
odaScalarDataType="Integer"/>
<dataTypeMapping
nativeDataType="INTEGER"
nativeDataTypeCode="4"
odaScalarDataType="Integer"/>
<dataTypeMapping
nativeDataType="BIGINT"
nativeDataTypeCode="-5"
odaScalarDataType="Decimal"/>
<dataTypeMapping
nativeDataType="FLOAT"
nativeDataTypeCode="6"
odaScalarDataType="Double"/>
<dataTypeMapping
nativeDataType="REAL"
nativeDataTypeCode="7"
odaScalarDataType="Double"/>
<dataTypeMapping
nativeDataType="DOUBLE"
nativeDataTypeCode="8"
odaScalarDataType="Double"/>
<dataTypeMapping
nativeDataType="NUMERIC"
nativeDataTypeCode="2"
odaScalarDataType="Decimal"/>
<dataTypeMapping
nativeDataType="DECIMAL"
nativeDataTypeCode="3"
odaScalarDataType="Decimal"/>
<dataTypeMapping
nativeDataType="CHAR"
nativeDataTypeCode="1"
odaScalarDataType="String"/>
<dataTypeMapping
nativeDataType="VARCHAR"
nativeDataTypeCode="12"
odaScalarDataType="String"/>
<dataTypeMapping
nativeDataType="LONGVARCHAR"
nativeDataTypeCode="-1"
odaScalarDataType="String"/>
<dataTypeMapping
nativeDataType="DATE"
nativeDataTypeCode="91"
odaScalarDataType="Date"/>
<dataTypeMapping
nativeDataType="TIME"
nativeDataTypeCode="92"
odaScalarDataType="Time"/>
<dataTypeMapping
nativeDataType="TIMESTAMP"
nativeDataTypeCode="93"
odaScalarDataType="Timestamp"/>
<dataTypeMapping
nativeDataType="BOOLEAN"
nativeDataTypeCode="16"
odaScalarDataType="Boolean"/>
<dataTypeMapping
nativeDataType="BINARY"
nativeDataTypeCode="-2"
odaScalarDataType="Blob"/>
<dataTypeMapping
nativeDataType="VARBINARY"
nativeDataTypeCode="-3"
odaScalarDataType="Blob"/>
<dataTypeMapping
nativeDataType="LONGVARBINARY"
nativeDataTypeCode="-4"
odaScalarDataType="Blob"/>
<dataTypeMapping
nativeDataType="BLOB"
nativeDataTypeCode="2004"
odaScalarDataType="Blob"/>
<dataTypeMapping
nativeDataType="CLOB"
nativeDataTypeCode="2005"
odaScalarDataType="Clob"/>
<properties>
<propertyGroup
defaultDisplayName="Query Properties"
name="queryProperties">
<property
type="string"
defaultDisplayName="%dataset.property.queryTimeOut"
canInherit="true"
name="queryTimeOut"/>
</propertyGroup>
</properties>
</dataSet>
</extension>
<extension
point="org.eclipse.datatools.connectivity.connectionProfile">
<category
id="%oda.data.source.id"
name="%oda.data.source.name"
parentCategory="%oda.parent.category.id"/>
<connectionProfile
category="%oda.data.source.id"
id="%oda.data.source.id"
name="%connection.profile.name"
pingFactory="org.eclipse.datatools.connectivity.oda.profile.OdaConnectionFactory"/>
<connectionFactory
id="org.eclipse.datatools.connectivity.oda.IConnection"
name="%oda.connection.factory.name"
class="org.eclipse.datatools.connectivity.oda.profile.OdaConnectionFactory"
profile="%oda.data.source.id"/>
</extension>
<extension
point="ir.orbitall.report.data.oda.jdbc.driverinfo">
<jdbcDriver
driverClass="org.apache.derby.jdbc.EmbeddedDriver"
urlTemplate="jdbc:derby:[subsubprotocol:]DATABASE[;ATTRIBUTE=VALUE]*"
name="Apache Derby Embedded Driver"/>
</extension>
</plugin>
----
thanks !!!
JasonW
How are you running the DE API? If you are setting BIRT_HOME verify that your exported ODA runtime is in the BIRT_HOME/plugins directory.
Jason
mohammadgh
yes i put the jar files in BIRT_home and that worked well.
thanks!!!