Difference between revisions of "Ecore ODA Driver"

From Eclipsepedia

Jump to: navigation, search
(CVS)
(Interim Driver)
 
(7 intermediate revisions by one user not shown)
Line 7: Line 7:
 
# A second  ''official'' and more functional ODA driver has been added to [[EMF ECore]] for [[Indigo]] M4. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=330988 bug 330988] for details. This official [[EMF]] implementation effectively obsoletes the interim [[DTP Incubator]] implementation.
 
# A second  ''official'' and more functional ODA driver has been added to [[EMF ECore]] for [[Indigo]] M4. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=330988 bug 330988] for details. This official [[EMF]] implementation effectively obsoletes the interim [[DTP Incubator]] implementation.
  
== Tutorials ==
+
== Data Tools Platform Incubating Ecore ODA Driver ==
  
=== Interim Driver ===
+
=== Tutorial ===
Tim has written a tutorial for the Ecore ODA Driver at [http://timezra.blogspot.com/2008/04/oda-ecore-getting-started-guide.html Overcoming Fear].
+
  
=== EMF Driver ===
+
Tim Myer has written a tutorial for the Ecore ODA Driver at [http://timezra.blogspot.com/2008/04/oda-ecore-getting-started-guide.html Overcoming Fear].
For the EMF based driver see the 2011 [[EclipseCon]] Session: [http://eclipsecon.org/2011/sessions/?page=sessions&id=2028 Reports and Charts right from your EMF models]  
+
  
Below you'll find some of the information common to both drivers (Unless noted) but without the detail or pretty pictures.
+
=== Installation ===
  
== Interim Driver - Backport to Eclipse 3.2, EMF 2.2 and JDK 1.4 ==
+
The DTP Incubating ECore ODA Driver build package (for the Indigo release) is available on the [http://www.eclipse.org/datatools/downloads.php DTP downloads] page.
 +
<br>Due to no new development activities, the incubating project will no longer be built for the Juno release.
  
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 [http://timezra.blogspot.com/2008/05/oda-ecore-driver-backport.html here].
+
=== DTP Git Source Repository ===
  
== Interim Driver - Connection Properties and Profiles ==
+
The Ecore ODA Driver and UI source codes are maintained in the Eclipse DTP Git repository: <tt>org.eclipse.datatools.incubator.git</tt>.
 +
<br>For anonymous read access, use the <tt>git</tt> or <tt>http</tt> protocol.  E.g.
 +
  git://git.eclipse.org/gitroot/datatools/org.eclipse.datatools.incubator.git
 +
 
 +
Browse:
 +
<br>Or use a web browser to browse the content of the [http://git.eclipse.org/c/datatools/org.eclipse.datatools.incubator.git/ 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 [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.datatools.incubator/plugins/?root=Datatools_Project 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 [http://timezra.blogspot.com/2008/05/oda-ecore-driver-backport.html here].
 +
 
 +
=== Connection Properties and Profiles ===
  
 
In order to support requests for [https://bugs.eclipse.org/bugs/show_bug.cgi?id=243099 Connection Profiles] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=243499 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.
 
In order to support requests for [https://bugs.eclipse.org/bugs/show_bug.cgi?id=243099 Connection Profiles] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=243499 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.
  
== Installation ==
+
== EMF Driver ==
  
* The Interim Driver build package is available on the [http://www.eclipse.org/datatools/downloads.php DTP download] page.
+
=== Tutorial ===
* The EMF Driver builds are not yet available for download as a zips, but they can be obtained through the [[p2]] Eclipse Modeling Project Update Site - http://www.eclipse.org/modeling/updates/
+
 
 +
* Download and install the BIRT All-In-One from http://download.eclipse.org/birt/downloads/
 +
* 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: http://www.eclipse.org/emf/2002/ECore/OCL
 +
    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.  [https://bugs.eclipse.org/bugs/show_bug.cgi?id=359306 See Bugzilla 359306]
 +
 
 +
=== EclipseCon Talk ===
 +
2011 [[EclipseCon]] Session: [http://eclipsecon.org/2011/sessions/?page=sessions&id=2028 Reports and Charts right from your EMF models]
 +
 
 +
 
 +
=== Installation ===
 +
 
 +
EMF ODA Driver SDK can be obtained through the [[p2]] Eclipse Modeling Project Update Site - http://www.eclipse.org/modeling/updates/
 +
 
 +
* ''The EMF ODA Driver builds are not yet available for download as a zips.''
 +
 
 +
=== CVS ===
 +
 
 +
The EMF Ecore ODA Driver and UI can be checked out of CVS from the <tt>Modeling</tt> Repository of <tt>dev.eclipse.org</tt> with a path of <tt>/cvsroot/modeling</tt>.
 +
 
 +
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
  
The sources for both drivers are available from [[#CVS|CVS]].
 
  
 
== Dependencies ==
 
== Dependencies ==
Line 54: Line 118:
 
|}
 
|}
  
== Using the Driver ==
+
== Using the Driver to Create BIRT Reports ==
  
 
Those less familiar with EMF or without a handy EMF model should install the EMF Examples from [http://www.eclipse.org/modeling/emf/updates http://www.eclipse.org/modeling/emf/updates] 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.
 
Those less familiar with EMF or without a handy EMF model should install the EMF Examples from [http://www.eclipse.org/modeling/emf/updates http://www.eclipse.org/modeling/emf/updates] 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.
Line 66: Line 130:
 
=== Create an Ecore ODA Data Source ===
 
=== Create an Ecore ODA Data Source ===
  
Any ODA drivers 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 [[EMF/FAQ#I get a PackageNotFoundException: e.g., "Package with uri 'http://com.example.company.ecore' not found." What do I need to do?|this question]] in the [[EMF/FAQ]].) Attempting to load a serialized model for an unregistered package will result in an error.
+
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 [[EMF/FAQ#I get a PackageNotFoundException: e.g., "Package with uri 'http://com.example.company.ecore' not found." What do I need to do?|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 ===
 
=== Create an Ecore ODA Data Set ===
Line 73: Line 137:
  
 
''...to be continued... Feature changes in process--screen shots forthcoming...''
 
''...to be continued... Feature changes in process--screen shots forthcoming...''
 
== CVS ==
 
 
=== Interim Driver ===
 
The Interim Ecore ODA Driver and UI can be checked out of CVS from the <tt>Datatools_Project</tt> Repository of <tt>dev.eclipse.org</tt> with a path of <tt>org.eclipse.datatools.incubator/plugins</tt>.
 
 
Browse: [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.datatools.incubator/plugins/?root=Datatools_Project ViewCVS]
 
 
=== EMF Driver ===
 
The EMF Ecore ODA Driver and UI can be checked out of CVS from the <tt>Modeling</tt> Repository of <tt>dev.eclipse.org</tt> with a path of <tt>/cvsroot/modeling</tt>.
 
 
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
 

Latest revision as of 18:26, 18 January 2012

Contents

[edit] Introduction

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.

[edit] Data Tools Platform Incubating Ecore ODA Driver

[edit] Tutorial

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

[edit] Installation

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.

[edit] 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.

 git://git.eclipse.org/gitroot/datatools/org.eclipse.datatools.incubator.git

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

[edit] 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.

[edit] 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.

[edit] EMF Driver

[edit] Tutorial

  • Download and install the BIRT All-In-One from http://download.eclipse.org/birt/downloads/
  • 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: http://www.eclipse.org/emf/2002/ECore/OCL
   Context Type:  extlibrary.Library
   Query Text:    self
   Result Type:    extlibrary.Library
  • You should now be able to create your BIRT Report using this dataset

[edit] Classloader Issue

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

[edit] EclipseCon Talk

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


[edit] Installation

EMF ODA Driver SDK can be obtained through the p2 Eclipse Modeling Project Update Site - http://www.eclipse.org/modeling/updates/

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

[edit] CVS

The EMF Ecore ODA Driver and UI can be checked out of CVS from the Modeling Repository of dev.eclipse.org 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


[edit] Dependencies

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 http://download.eclipse.org/birt/downloads/
Datatools Connectivity http://www.eclipse.org/datatools/downloads.php
EMF Query http://www.eclipse.org/modeling/emf/downloads/?project=query
Object Constraint Language (OCL) Integration http://www.eclipse.org/modeling/mdt/downloads/?project=ocl

[edit] Using the Driver to Create BIRT Reports

Those less familiar with EMF or without a handy EMF model should install the EMF Examples from http://www.eclipse.org/modeling/emf/updates 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.

[edit] 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.

[edit] 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.

[edit] 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.

...to be continued... Feature changes in process--screen shots forthcoming...