Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EMF Editor goes RAP"

(This Page tries to explain how to turn an automatic generated EMF editor into an RAP application)
(redirect)
 
(18 intermediate revisions by one other user not shown)
Line 1: Line 1:
=How to turn an automatic generated EMF editor into an RAP application=
+
#REDIRECT[[RAP/EMF_Integration]]
 
+
==The Simple Purchase Order Model==
+
To generate the EMF editor we first need a Ecore model. We will use the Simple Purchase Order model (file <tt>SimplePO.ecore</tt>) that is also used in the EMF book. In an UML Editor this model looks as depicted below:
+
 
+
<center>[[Image:SimplePO.gif]]</center>
+
 
+
The <tt>SimplePO.ecore</tt> file viewed in a text editor:
+
<pre>
+
<?xml version="1.0" encoding="ASCII"?>
+
<ecore:EPackage xmi:version="2.0"
+
    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="po"
+
    nsURI="http:///com/example/po.ecore" nsPrefix="com.example.po">
+
  <eClassifiers xsi:type="ecore:EClass" name="PurchaseOrder">
+
    <eStructuralFeatures xsi:type="ecore:EReference" name="items" upperBound="-1"
+
        eType="#//Item" containment="true"/>
+
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shipTo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="billTo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+
  </eClassifiers>
+
  <eClassifiers xsi:type="ecore:EClass" name="Item">
+
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="productName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="price" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+
  </eClassifiers>
+
</ecore:EPackage>
+
</pre>
+
==The Code Generation Model==
+
To generate code from the <tt>SimplePO.ecore</tt> model we first need to create a corresponding code generation model (file <tt>SimplePO.genmodel</tt>) for storing the code generation customization data.
+
Assumed you have all the EMF plugins installed in your Eclipse environment you can do this by a right click on the <tt>SimplePO.ecore</tt> file in the Package Explorer:
+
<center>[[Image:CreateGenModel1.gif]]</center>
+
Select the EMF Model wizard:
+
<center>[[Image:CreateGenModel2.gif]]</center>
+
Click the <b>Next</b> button two times:<br>
+
<center>[[Image:CreateGenModel3.gif]]  [[Image:CreateGenModel4.gif]]</center><br>
+
Press the <b>Load</b> button and the <b>Next</b> button afterwards:<br>
+
<center>[[Image:CreateGenModel5.gif]]</center><br>
+
A click on the <b>Finish</b> button finally creates the <tt>SimplePO.genmodel</tt> file.<br>
+
<center>[[Image:CreateGenModel6.gif]]</center><br>
+
The code generation model allows you to customize the code generation. E.g. the properties
+
<tt>Model Directory</tt>, <tt>Editor Directory</tt>, and <tt>Edit Directory</tt> determine into which folder the model, editor and edit code is generated.<br>
+
<center>[[Image:CodeGenerationPaths.gif]]</center>
+
==Generating the Code==
+
To generate the code for the model, edit and editor plugin simply do a right click on the root element of the SimplePO.genmodel and select <b>Generate All</b><br>
+
<center>[[Image:GenerateCode.gif]]</center>
+

Latest revision as of 17:22, 19 March 2010

Back to the top