The non-UI part of EMF works with RAP out of the box. With the aid of the following bundles, EMF models can be created and accessed.
Even though these bundles express an optional dependency on
org.eclipse.core.resources, this dependency isn't required at runtime. As of the Indigo release, these base features (along with a couple of others) are built independently of the rest of the core and are included in a "EMF Base Framework" feature.
EMF UI and Edit Framework
Since 2.6 M6, EMF provides branches of it's UI/Edit framework for use with RAP (details are documented in bug 213988). The necessary bundles are available from the EMF software repository and can be used together with the RAP runtime (> 1.3 M6).
The following sections ouline the basic steps to run EMF on RAP. The Ecore and Genmodel of the Library Example used throughout this page can be downloaded here
Prepare the IDE
In order to develop applications for EMF and RAP, you will need to install two features into your IDE:
- The tools to work with EMF models, which are available from here (chose versions >= 2.6 M6)
- The tooling for RAP, that can be obtained from here (chose versions >= 1.3 M6)
Assemble the Runtime Target
The minimal runtime consists of EMF for RAP and the RAP runtime itself. To set up the target platform, the most conventient way is assemble it directly from the Helios software repository:
- Helios Repository:
The following features are interesting for you:
- Rich Ajax Platform (RAP) Target Components
- EMF RAP Target Components
Both of them are contained in the EclipseRT category. Note also that, as of Indigo, the "EMF Base Framework" feature must also be installed from the Modeling category.
Please make sure to uncheck the "Include required software" option when adding the features from the repositories.
Configuring EMF and RAP as Runtime
Open up the Properties view on your .genmodel file and set the "Rich Ajax Application" from the "Editor" category to true.
After that you can generate your edit and editor code.
Launch the application
You can now launch the application via it's generated
org.eclipse.core.runtime.applications extension. Just use the LibraryEditorAdvisorApplication entry point.