Skip to main content
Jump to: navigation, search

Difference between revisions of "Ecore ODA Driver-Proposal"

Line 13: Line 13:
== Getting Started ==
== Getting Started ==
The Ecore ODA Driver is only available from [[#CVS|CVS]]. After checking the code out a number of dependencies may be un-met in your workspace such as: [[Connectivity|Datatools Connectivity]], [ EMF Search], [ EMF Transaction], and [ EMF Query].  You will also need to install the EMF Model Query OCL Integration feature (or the "Next" button on the New Data Source Wizard for the Ecore ODA Data Source will be disabled) and the Data Tools Platform Enablement for JDBC (or you will see assertion failures in the ConnectionProfileManager for a missing generic db JDBC profile).
Use of the Ecore ODA Driver is covered [[Ecore ODA Driver|here]].
Once these dependencies have been met, you can run the BIRT Report Designer (after you have installed [ BIRT], of course) and create a new report.  You might want to install the [ EMF 2.3.2 Examples] and create an instance of an .extlibrary file to get started.  When adding a Data Source, a new type will display <tt>Ecore ODA Data Source</tt> and the wizard will allow you to choose a file.  Selecting and naming this Data Source and giving the name of a file will allow you to enter a new Data Set.  This is, however, pretty much the end of the line. As explained in [[#Status|Status]], above, the code is not yet complete. Column selection has not been implemented and the code currently in CVS does not correctly persist preferences.
== Contributors ==
== Contributors ==
Line 22: Line 20:
* [[|Tim Myer]]
* [[|Tim Myer]]
== CVS ==
{{:Ecore ODA Driver#CVS}}
The Ecore ODA Driver and UI can be checked out of CVS from the <tt>Datatools_Project</tt> Repository of <tt></tt> with a path of <tt>org.eclipse.datatools.incubator/plugins</tt>.
Browse: [ ViewCVS]

Revision as of 00:56, 10 April 2008


The Ecore ODA Driver is a proposed component of the DTP Incubator project. It will provide the ability to query Ecore models using OCL by implementing the Open Data Access (ODA) API. The restriction to use OCL (text-based) queries is based on the design of the ODA API. EMF Queries may be supported at runtime in the future.


Initial code has been committed (see CVS, below) but the code is not yet complete. While most of the driver itself is in place the UI requires some finish work.

Contribution tracked at Bugzilla 132958.

It is hoped that a useful release will be complete in time for Ganymede.

Getting Started

Use of the Ecore ODA Driver is covered here.



The Ecore ODA Driver was created to allow an EMF ECore model to serve as an ODA data source. This makes it simple for BIRT reports to draw data from Ecore models.

The Ecore ODA Driver has been implemented in two projects:

  1. An interim driver was created as a DTP Incubator project. Its latest status can be found in Bugzilla 132958.
  2. A second official and more functional ODA driver has been added to EMF ECore for Indigo M4. See bug 330988 for details. This official EMF implementation effectively obsoletes the interim DTP Incubator implementation.

Data Tools Platform Incubating Ecore ODA Driver


Tim Myer has written a tutorial for the Ecore ODA Driver at Overcoming Fear.


The DTP Incubating ECore ODA Driver build package (for the Indigo release) is available on the DTP downloads page.
Due to no new development activities, the incubating project will no longer be built for the Juno release.

DTP Git Source Repository

The Ecore ODA Driver and UI source codes are maintained in the Eclipse DTP Git repository: org.eclipse.datatools.incubator.git.
For anonymous read access, use the git or http protocol. E.g.


Or use a web browser to browse the content of the DTP Incubator Git

Backport to Eclipse 3.2, EMF 2.2 and JDK 1.4

For the original driver, a backport of these plug-ins was checked-in to CVS for use with Eclipse 3.2, EMF 2.2 and JDK 1.4. The backport has no guarantee of future support. If you would like instructions for using these versions of the plug-ins, please look here.

Connection Properties and Profiles

In order to support requests for Connection Profiles and Connection Properties, we made some changes as of August 22, 2008 that will affect existing reports, i.e., the Model file location is now stored directly as a URI, the property for this URI has been renamed, Column Selections are contained in a single property (instead of in properties with increasing numbers), and the name of the Column Selection property has been changed. Hopefully these fixes will not be too disruptive to existing reports and the benefit of dynamic property binding will outweigh the inconvenience of either manually editing existing reports or re-creating those reports.

EMF Driver


  • Download and install the BIRT All-In-One from
  • Start up Eclipse and and install EMF and the EMF ODA Driver
    • Help | Install New Software | Site: Indigo
    • In the Modeling folder select
      • EMF - Eclipse Modeling Framework SDK
      • EMF Model Query SDK
      • EMF ODA SDK
      • OCL End User SDK
  • After the install of the EMF Framework and ODA SDKs, reboot Eclipse and create sample EMF model, edit and the editor projects in your workspace:
    • New | Examples | Eclipse Modeling Framework | Extended Library Model Example.
  • In order to write reports on instances of the Extended Library Model, the library model has to be registered. The easiest way to do this is to launch an Eclipse Application using the 3 library projects.
    • Right click on the org.eclipse.emf.examples.library.editor project and launch an Eclipse Application
      • Run as | Eclipse Application
  • After the launched workspace comes up create a BIRT Report project.
  • Create an instance of the library model in order to report on it.
    • New | Example EMF Model Creation Wizards | EXTLibrary Model
    • A New Dialog window will be displayed
      • Use your new BIRT Report Project as the parent of the library model document
      • For the Model Object select Library, keep UTF-8 as the encoding
    • The library model document will be created and will open in a EXTLibrary Editor.
  • Edit the Library document to set something for the name and an address properties.
    • In the editor unfold the root entity to expose the Library element of the model
    • Select the Library element and right click to open a popup menu.
    • Select Show Properties View
    • In the properties view edit the properties for Name and Address and save your file.
  • Create a blank BIRT report and add a datasource pointing to the model instance document you just created.
    • You can browse the Workspace to your BIRT Report Project and select the library model document you just saved
  • Create a dataset referencing the just created datasource with the values:
   Query Delegate:
   Context Type:  extlibrary.Library
   Query Text:    self
   Result Type:    extlibrary.Library
  • You should now be able to create your BIRT Report using this dataset

Classloader Issue

Depending on your model you may or may not encounter the need to configure Report Designer Classpath user preferences. See Bugzilla 359306

EclipseCon Talk

2011 EclipseCon Session: Reports and Charts right from your EMF models


EMF ODA Driver SDK can be obtained through the p2 Eclipse Modeling Project Update Site -

  • The EMF ODA Driver builds are not yet available for download as a zips.


The EMF Ecore ODA Driver and UI can be checked out of CVS from the Modeling Repository of with a path of /cvsroot/modeling.

You will find the EMF Driver implemented as features under org.eclipse.emf/features:

  • org.eclipse.emf.oda-feature
  • org.eclipse.emf.oda.ecore-feature
  • org.eclipse.emf.oda.ecore.ui-feature


After obtaining the code, you may notice the drivers have a number of dependencies that might be un-met in your workspace:

Dependency Download Site
BIRT Report Designer
Datatools Connectivity
EMF Query
Object Constraint Language (OCL) Integration

Using the Driver to Create BIRT Reports

Those less familiar with EMF or without a handy EMF model should install the EMF Examples from and create an instance of an .extlibrary file with some data. It's outside the scope of this document to describe this process, but typical readers will already have familiarity with EMF editors.

Of course, any serialized EMF model will do, as long as the package has been registered so that the Java classes representing the model are available at runtime.

Create a Report

The primary consumer of ODA data sources is BIRT. Typically, creating a BIRT report is the first step to using the Ecore ODA Driver.

Create an Ecore ODA Data Source

Any ODA driver registered with the platform show up within BIRT as data source types, each with a wizard to allow for the entry of connection information. In the case of the Ecore ODA Driver, the only information required by the connection is the path to a serialized Ecore model of a registered model type. (If you aren't familiar with registering EMF models, see this question in the EMF/FAQ.) Attempting to load a serialized model for an unregistered package will result in an error.

Create an Ecore ODA Data Set

Once a data source has been created for your Ecore model, use the New Data Set wizard to launch the Ecore ODA Data Set Wizard. be continued... Feature changes in process--screen shots forthcoming...

Back to the top