Jump to: navigation, search

Dawn Codegen

Dawn CodeGen Tutorial

Before you start make sure that you have the following components installed:

  • EMF
  • CDO
  • Dawn
  • GMF

Preparation

We will examine the Dawn Codegen by using the Acore example from the Dawn SDK. In the beginning we need to get all necessary model files. Open the Plug-ins View (Window-->Show View-->Others) as shown in the picture below.

Dawn openpluginsView.png

Now select the plug-in org.eclipse.emf.cdo.dawn.examples.acore and import it as soure plug-in

Dawn PluginsView2.png


Generate the EMF extension with Dawn

Generate the EMF plugins

Now generate the EMF edit and the EMF editor plugin for your domain model.

Dawn codegen generate edit code.PNG

Dawn codegen generate editor code.PNG

Generate the Dawn Genmodel

To generate the Dawn Genmodel you now need to right-click the *.genmodel and select "Generated Dawn Genmodel"

Dawn codegen generate dawn Genmodel emf.PNG

This will create two files. One named *.dawngenmodel and one named *.dawngenmodel_emf. The previous is a global file which contains information that can influence all extended frameworks. The latter only contain specific data for the EMF extension.

Dawn codegen generate dawn Genmodel emf result.PNG


By double-clicking the *.dawngenmodel a multipage editor will be opened which shows all condfigurations.

Dawn codegen generate dawn Genmodel editor.PNG

Generate the EMF extension

To generate the extension for EMF right-click the *.dawngenmodel_emf and choose "Generate Dawn EMF Fragment"

Dawn codegen generate extension.PNG

Generate GMF extension with Dawn

Preparations

First let us install GMF's Notational Model and the Runtime.

GMF Runtime Notation.PNG

AS GMF Tooling is not on the Relase train we need to install is seperately from the following update site: http://download.eclipse.org/modeling/gmp/updates/milestones

GMF Toling has a dependency to QVT which needs to be installed first from here : http://download.eclipse.org/modeling/m2m/qvtoml/updates/releases

GMF Tooling.PNG

Dawn codegen QVT.PNG


The code generation part for GMF also had to leave the release train an thus it needs to be installed from the latest stable CDO release

https://hudson.eclipse.org/hudson/job/emf-cdo-integration/lastStableBuild/artifact


Dawn codegen CodeGen GMF.PNG

Generate the GMF plugins

Let's generate the GMF diagram plug-in.

GenerateDiagramCode.png

Generate the Dawn Genmodel

Now your workspace contains the plug-ins: the one containing the model code, the edit plug-in and the diagram plug-in. Now right click the the gmf gen model an examine the context menu. You will see an additional entry called "Generate Dawn Genmodel"

Dawncodegen1.png


Righ-clicking on hte newly created *dawngenmodel_gmf file will generated the extension.

Dawn codegen generate GMF extension.PNG

Generate the extension

In a final step now right click the Dawn genmodel and choose "Generate Dawn GMF Fragment" from the context menu.

Dawncodegen2.png

Now a fragment will be created containing all the specific extensions for your diagram.

Dawnfinish.png