blob: aa75dd531ddfc63d8a835c1143f83dcbf2bab0c6 [file] [log] [blame]
Alex Lagarde09ad1ca2013-04-30 14:13:46 +02001diff --git a/plugins/org.eclipse.emf.eef.modelingbot/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.eef.modelingbot/META-INF/MANIFEST.MF
2index 19f3122..3cdf029 100644
3--- a/plugins/org.eclipse.emf.eef.modelingbot/META-INF/MANIFEST.MF
4+++ b/plugins/org.eclipse.emf.eef.modelingbot/META-INF/MANIFEST.MF
5@@ -1,87 +1,88 @@
6-Manifest-Version: 1.0
7-Bundle-ManifestVersion: 2
8-Bundle-Name: %pluginName
9-Bundle-SymbolicName: org.eclipse.emf.eef.modelingbot;singleton:=true
10-Bundle-Version: 1.2.0.qualifier
11-Bundle-ClassPath: .
12-Bundle-Vendor: %providerName
13-Bundle-Localization: plugin
14-Bundle-RequiredExecutionEnvironment: J2SE-1.5
15-Export-Package: org.eclipse.emf.eef.modelingBot;
16- uses:="org.eclipse.emf.eef.extended.editor,
17- org.eclipse.emf.ecore.resource,
18- org.eclipse.emf.ecore,
19- org.eclipse.emf.eef.components.parts,
20- org.eclipse.emf.edit.domain",
21- org.eclipse.emf.eef.modelingBot.EEFActions;
22- uses:="org.eclipse.emf.eef.extended.editor,
23- org.eclipse.emf.ecore,
24- org.eclipse.emf.eef.modelingBot,
25- org.eclipse.emf.eef.components",
26- org.eclipse.emf.eef.modelingBot.EEFActions.impl;
27- uses:="org.eclipse.emf.eef.extended.editor,
28- org.eclipse.emf.ecore,
29- org.eclipse.emf.eef.modelingBot.impl,
30- org.eclipse.emf.eef.components,
31- org.eclipse.emf.ecore.impl,
32- org.eclipse.emf.eef.modelingBot.EEFActions",
33- org.eclipse.emf.eef.modelingBot.EEFActions.util;
34- uses:="org.eclipse.emf.ecore,
35- org.eclipse.emf.common.notify.impl,
36- org.eclipse.emf.eef.modelingBot,
37- org.eclipse.emf.common.notify,
38- org.eclipse.emf.eef.modelingBot.EEFActions",
39- org.eclipse.emf.eef.modelingBot.EclipseActions;uses:="org.eclipse.emf.ecore,org.eclipse.emf.eef.modelingBot",
40- org.eclipse.emf.eef.modelingBot.EclipseActions.impl;
41- uses:="org.eclipse.emf.ecore,
42- org.eclipse.emf.eef.modelingBot.impl,
43- org.eclipse.emf.eef.modelingBot.EclipseActions,
44- org.eclipse.emf.ecore.impl",
45- org.eclipse.emf.eef.modelingBot.EclipseActions.util;
46- uses:="org.eclipse.emf.ecore,
47- org.eclipse.emf.common.notify.impl,
48- org.eclipse.emf.eef.modelingBot,
49- org.eclipse.emf.eef.modelingBot.EclipseActions,
50- org.eclipse.emf.common.notify",
51- org.eclipse.emf.eef.modelingBot.batch,
52- org.eclipse.emf.eef.modelingBot.exception,
53- org.eclipse.emf.eef.modelingBot.helper;uses:="org.eclipse.emf.ecore.resource,org.eclipse.core.resources",
54- org.eclipse.emf.eef.modelingBot.impl;
55- uses:="org.eclipse.emf.ecore,
56- org.eclipse.emf.common.util,
57- org.eclipse.emf.eef.modelingBot,
58- org.eclipse.emf.eef.components,
59- org.eclipse.emf.ecore.impl,
60- org.eclipse.emf.common.notify",
61- org.eclipse.emf.eef.modelingBot.interpreter,
62- org.eclipse.emf.eef.modelingBot.menu,
63- org.eclipse.emf.eef.modelingBot.swtbot;
64- uses:="org.eclipse.emf.eef.extended.editor,
65- org.eclipse.emf.ecore,
66- org.eclipse.emf.eef.components.parts,
67- org.eclipse.emf.eef.modelingBot,
68- org.eclipse.swtbot.swt.finder.widgets,
69- org.eclipse.swtbot.swt.finder",
70- org.eclipse.emf.eef.modelingBot.testcase;uses:="org.eclipse.swtbot.eclipse.finder,org.eclipse.emf.eef.modelingBot.swtbot",
71- org.eclipse.emf.eef.modelingBot.uri,
72- org.eclipse.emf.eef.modelingBot.util;
73- uses:="org.eclipse.emf.ecore,
74- org.eclipse.emf.common.notify.impl,
75- org.eclipse.emf.eef.modelingBot,
76- org.eclipse.emf.common.notify"
77-Require-Bundle: org.eclipse.core.runtime,
78- org.eclipse.emf.ecore;visibility:=reexport,
79- org.eclipse.emf.eef.components;visibility:=reexport,
80- org.eclipse.emf.eef.editor.model;visibility:=reexport,
81- org.eclipse.emf.codegen.ecore;visibility:=reexport,
82- org.eclipse.emf.eef.mapping;visibility:=reexport,
83- org.eclipse.emf.eef.views;visibility:=reexport,
84- org.eclipse.swtbot.eclipse.finder;visibility:=reexport,
85- org.eclipse.swtbot.swt.finder;visibility:=reexport,
86- org.hamcrest,
87- org.junit4,
88- org.eclipse.core.resources,
89- org.apache.log4j,
90- org.eclipse.emf.ecore.xmi,
91- org.eclipse.emf.compare;bundle-version="3.0.0"
92-Bundle-ActivationPolicy: lazy
93+Manifest-Version: 1.0
94+Bundle-ManifestVersion: 2
95+Bundle-Name: %pluginName
96+Bundle-SymbolicName: org.eclipse.emf.eef.modelingbot;singleton:=true
97+Bundle-Version: 1.2.0.qualifier
98+Bundle-ClassPath: .
99+Bundle-Vendor: %providerName
100+Bundle-Localization: plugin
101+Bundle-RequiredExecutionEnvironment: J2SE-1.5
102+Export-Package: org.eclipse.emf.eef.modelingBot;
103+ uses:="org.eclipse.emf.eef.extended.editor,
104+ org.eclipse.emf.ecore.resource,
105+ org.eclipse.emf.ecore,
106+ org.eclipse.emf.eef.components.parts,
107+ org.eclipse.emf.edit.domain",
108+ org.eclipse.emf.eef.modelingBot.EEFActions;
109+ uses:="org.eclipse.emf.eef.extended.editor,
110+ org.eclipse.emf.ecore,
111+ org.eclipse.emf.eef.modelingBot,
112+ org.eclipse.emf.eef.components",
113+ org.eclipse.emf.eef.modelingBot.EEFActions.impl;
114+ uses:="org.eclipse.emf.eef.extended.editor,
115+ org.eclipse.emf.ecore,
116+ org.eclipse.emf.eef.modelingBot.impl,
117+ org.eclipse.emf.eef.components,
118+ org.eclipse.emf.ecore.impl,
119+ org.eclipse.emf.eef.modelingBot.EEFActions",
120+ org.eclipse.emf.eef.modelingBot.EEFActions.util;
121+ uses:="org.eclipse.emf.ecore,
122+ org.eclipse.emf.common.notify.impl,
123+ org.eclipse.emf.eef.modelingBot,
124+ org.eclipse.emf.common.notify,
125+ org.eclipse.emf.eef.modelingBot.EEFActions",
126+ org.eclipse.emf.eef.modelingBot.EclipseActions;uses:="org.eclipse.emf.ecore,org.eclipse.emf.eef.modelingBot",
127+ org.eclipse.emf.eef.modelingBot.EclipseActions.impl;
128+ uses:="org.eclipse.emf.ecore,
129+ org.eclipse.emf.eef.modelingBot.impl,
130+ org.eclipse.emf.eef.modelingBot.EclipseActions,
131+ org.eclipse.emf.ecore.impl",
132+ org.eclipse.emf.eef.modelingBot.EclipseActions.util;
133+ uses:="org.eclipse.emf.ecore,
134+ org.eclipse.emf.common.notify.impl,
135+ org.eclipse.emf.eef.modelingBot,
136+ org.eclipse.emf.eef.modelingBot.EclipseActions,
137+ org.eclipse.emf.common.notify",
138+ org.eclipse.emf.eef.modelingBot.batch,
139+ org.eclipse.emf.eef.modelingBot.exception,
140+ org.eclipse.emf.eef.modelingBot.helper;uses:="org.eclipse.emf.ecore.resource,org.eclipse.core.resources",
141+ org.eclipse.emf.eef.modelingBot.impl;
142+ uses:="org.eclipse.emf.ecore,
143+ org.eclipse.emf.common.util,
144+ org.eclipse.emf.eef.modelingBot,
145+ org.eclipse.emf.eef.components,
146+ org.eclipse.emf.ecore.impl,
147+ org.eclipse.emf.common.notify",
148+ org.eclipse.emf.eef.modelingBot.interpreter,
149+ org.eclipse.emf.eef.modelingBot.menu,
150+ org.eclipse.emf.eef.modelingBot.swtbot;
151+ uses:="org.eclipse.emf.eef.extended.editor,
152+ org.eclipse.emf.ecore,
153+ org.eclipse.emf.eef.components.parts,
154+ org.eclipse.emf.eef.modelingBot,
155+ org.eclipse.swtbot.swt.finder.widgets,
156+ org.eclipse.swtbot.swt.finder",
157+ org.eclipse.emf.eef.modelingBot.testcase;uses:="org.eclipse.swtbot.eclipse.finder,org.eclipse.emf.eef.modelingBot.swtbot",
158+ org.eclipse.emf.eef.modelingBot.uri,
159+ org.eclipse.emf.eef.modelingBot.util;
160+ uses:="org.eclipse.emf.ecore,
161+ org.eclipse.emf.common.notify.impl,
162+ org.eclipse.emf.eef.modelingBot,
163+ org.eclipse.emf.common.notify",
164+ org.eclipse.emf.eef.modelingBot.validation
165+Require-Bundle: org.eclipse.core.runtime,
166+ org.eclipse.emf.ecore;visibility:=reexport,
167+ org.eclipse.emf.eef.components;visibility:=reexport,
168+ org.eclipse.emf.eef.editor.model;visibility:=reexport,
169+ org.eclipse.emf.codegen.ecore;visibility:=reexport,
170+ org.eclipse.emf.eef.mapping;visibility:=reexport,
171+ org.eclipse.emf.eef.views;visibility:=reexport,
172+ org.eclipse.swtbot.eclipse.finder;visibility:=reexport,
173+ org.eclipse.swtbot.swt.finder;visibility:=reexport,
174+ org.hamcrest,
175+ org.junit4,
176+ org.eclipse.core.resources,
177+ org.apache.log4j,
178+ org.eclipse.emf.ecore.xmi,
179+ org.eclipse.emf.compare;bundle-version="3.0.0"
180+Bundle-ActivationPolicy: lazy
181diff --git a/plugins/org.eclipse.emf.eef.modelingbot/model/mbot.ecore b/plugins/org.eclipse.emf.eef.modelingbot/model/mbot.ecore
182index f817a95..a820ab2 100644
183--- a/plugins/org.eclipse.emf.eef.modelingbot/model/mbot.ecore
184+++ b/plugins/org.eclipse.emf.eef.modelingbot/model/mbot.ecore
185@@ -1,122 +1,126 @@
186-<?xml version="1.0" encoding="UTF-8"?>
187-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
188- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="modelingBot" nsURI="http://www.eclipse.org/emf/eef/mbot/1.0.0"
189- nsPrefix="eef-mbot">
190- <eClassifiers xsi:type="ecore:EClass" name="Scenario" eSuperTypes="#//Sequence"/>
191- <eClassifiers xsi:type="ecore:EClass" name="Action" abstract="true" eSuperTypes="#//DocumentedElement #//Processing"/>
192- <eClassifiers xsi:type="ecore:EClass" name="Sequence" abstract="true" eSuperTypes="#//DocumentedElement #//Processing">
193- <eStructuralFeatures xsi:type="ecore:EReference" name="actions" upperBound="-1"
194- eType="#//Action" transient="true" derived="true" containment="true"/>
195- <eStructuralFeatures xsi:type="ecore:EReference" name="sequences" upperBound="-1"
196- eType="#//Sequence" transient="true" derived="true" containment="true"/>
197- <eStructuralFeatures xsi:type="ecore:EReference" name="processings" upperBound="-1"
198- eType="#//Processing" containment="true"/>
199- </eClassifiers>
200- <eClassifiers xsi:type="ecore:EClass" name="Wizard" eSuperTypes="#//Sequence">
201- <eStructuralFeatures xsi:type="ecore:EReference" name="referenceableObject" eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject"/>
202- </eClassifiers>
203- <eClassifiers xsi:type="ecore:EClass" name="DocumentedElement" abstract="true">
204- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
205- <eStructuralFeatures xsi:type="ecore:EAttribute" name="documentation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
206- </eClassifiers>
207- <eClassifiers xsi:type="ecore:EClass" name="ModelingBot">
208- <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore" references="#//ModelingBot">
209- <details key="constraints" value="JavaTestExistsConstraint"/>
210- </eAnnotations>
211- <eStructuralFeatures xsi:type="ecore:EReference" name="propertiesEditionContext"
212- eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.components/model/components.ecore#//PropertiesEditionContext"/>
213- <eStructuralFeatures xsi:type="ecore:EReference" name="sequences" upperBound="-1"
214- eType="#//Sequence" containment="true"/>
215- </eClassifiers>
216- <eClassifiers xsi:type="ecore:EClass" name="DetailsPage" eSuperTypes="#//Sequence"/>
217- <eClassifiers xsi:type="ecore:EClass" name="PropertiesView" eSuperTypes="#//Sequence">
218- <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
219- </eClassifiers>
220- <eClassifiers xsi:type="ecore:EClass" name="Processing" abstract="true" interface="true"/>
221- <eClassifiers xsi:type="ecore:EEnum" name="SequenceType">
222- <eLiterals name="DETAILS_PAGE"/>
223- <eLiterals name="WIZARD" value="1"/>
224- <eLiterals name="PROPERTIES_VIEW" value="2"/>
225- </eClassifiers>
226- <eSubpackages name="EEFActions" nsURI="http://www.eclipse.org/emf/eef/test/EEFActions/1.0.0"
227- nsPrefix="eef-test">
228- <eClassifiers xsi:type="ecore:EClass" name="EEFAction" abstract="true" eSuperTypes="#//Action"/>
229- <eClassifiers xsi:type="ecore:EClass" name="EditAction" abstract="true" eSuperTypes="#//EEFActions/EEFAction platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject">
230- <eStructuralFeatures xsi:type="ecore:EReference" name="propertiesEditionElement"
231- eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.components/model/components.ecore#//PropertiesEditionElement"/>
232- <eStructuralFeatures xsi:type="ecore:EReference" name="referenceableObject"
233- eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject"/>
234- </eClassifiers>
235- <eClassifiers xsi:type="ecore:EClass" name="Add" eSuperTypes="#//EEFActions/EditAction">
236- <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
237- <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
238- </eClassifiers>
239- <eClassifiers xsi:type="ecore:EClass" name="Remove" eSuperTypes="#//EEFActions/EditAction"/>
240- <eClassifiers xsi:type="ecore:EClass" name="SetAttribute" eSuperTypes="#//EEFActions/EditAction">
241- <eStructuralFeatures xsi:type="ecore:EAttribute" name="values" upperBound="-1"
242- eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
243- <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
244- </eClassifiers>
245- <eClassifiers xsi:type="ecore:EClass" name="UnsetAttribute" eSuperTypes="#//EEFActions/EditAction">
246- <eStructuralFeatures xsi:type="ecore:EAttribute" name="values" upperBound="-1"
247- eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
248- <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
249- </eClassifiers>
250- <eClassifiers xsi:type="ecore:EClass" name="Unset" eSuperTypes="#//EEFActions/EditAction">
251- <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
252- </eClassifiers>
253- <eClassifiers xsi:type="ecore:EClass" name="Cancel" eSuperTypes="#//EEFActions/EEFAction">
254- <eStructuralFeatures xsi:type="ecore:EReference" name="processing" eType="#//Processing"/>
255- </eClassifiers>
256- <eClassifiers xsi:type="ecore:EClass" name="Check" eSuperTypes="#//EEFActions/EEFAction"/>
257- <eClassifiers xsi:type="ecore:EClass" name="OpenEEFEditor" eSuperTypes="#//EEFActions/EEFAction">
258- <eStructuralFeatures xsi:type="ecore:EAttribute" name="editorName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
259- </eClassifiers>
260- <eClassifiers xsi:type="ecore:EClass" name="SetReference" eSuperTypes="#//EEFActions/EditAction">
261- <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
262- eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject"/>
263- <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
264- </eClassifiers>
265- <eClassifiers xsi:type="ecore:EClass" name="UnsetReference" eSuperTypes="#//EEFActions/EditAction">
266- <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
267- <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
268- eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject"/>
269- </eClassifiers>
270- <eClassifiers xsi:type="ecore:EClass" name="MoveUp" eSuperTypes="#//EEFActions/EditAction"/>
271- <eClassifiers xsi:type="ecore:EClass" name="MoveDown" eSuperTypes="#//EEFActions/EditAction"/>
272- </eSubpackages>
273- <eSubpackages name="EclipseActions" nsURI="http://www.eclipse.org/emf/eef/test/EclipseActions/1.0.0"
274- nsPrefix="eef-test">
275- <eClassifiers xsi:type="ecore:EClass" name="EclipseAction" abstract="true" eSuperTypes="#//Action"/>
276- <eClassifiers xsi:type="ecore:EClass" name="CreateProject" eSuperTypes="#//EclipseActions/EclipseAction">
277- <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
278- </eClassifiers>
279- <eClassifiers xsi:type="ecore:EClass" name="OpenPerspective" eSuperTypes="#//EclipseActions/EclipseAction">
280- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
281- </eClassifiers>
282- <eClassifiers xsi:type="ecore:EClass" name="CloseProject" eSuperTypes="#//EclipseActions/EclipseAction">
283- <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
284- </eClassifiers>
285- <eClassifiers xsi:type="ecore:EClass" name="Save" eSuperTypes="#//EclipseActions/EclipseAction"/>
286- <eClassifiers xsi:type="ecore:EClass" name="Undo" eSuperTypes="#//EclipseActions/EclipseAction"/>
287- <eClassifiers xsi:type="ecore:EClass" name="Redo" eSuperTypes="#//EclipseActions/EclipseAction"/>
288- <eClassifiers xsi:type="ecore:EClass" name="OpenProject" eSuperTypes="#//EclipseActions/EclipseAction">
289- <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
290- </eClassifiers>
291- <eClassifiers xsi:type="ecore:EClass" name="RemoveProject" eSuperTypes="#//EclipseActions/EclipseAction">
292- <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
293- </eClassifiers>
294- <eClassifiers xsi:type="ecore:EClass" name="CloseEditor" eSuperTypes="#//EclipseActions/EclipseAction">
295- <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
296- </eClassifiers>
297- <eClassifiers xsi:type="ecore:EClass" name="OpenEditor" eSuperTypes="#//EclipseActions/EclipseAction">
298- <eStructuralFeatures xsi:type="ecore:EAttribute" name="editorName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
299- <eStructuralFeatures xsi:type="ecore:EReference" name="root" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
300- </eClassifiers>
301- <eClassifiers xsi:type="ecore:EClass" name="CreateModel" eSuperTypes="#//EclipseActions/EclipseAction platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject">
302- <eStructuralFeatures xsi:type="ecore:EAttribute" name="modelName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
303- <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
304- <eStructuralFeatures xsi:type="ecore:EReference" name="root" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
305- </eClassifiers>
306- </eSubpackages>
307-</ecore:EPackage>
308+<?xml version="1.0" encoding="UTF-8"?>
309+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
310+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="modelingBot" nsURI="http://www.eclipse.org/emf/eef/mbot/1.0.0"
311+ nsPrefix="eef-mbot">
312+ <eClassifiers xsi:type="ecore:EClass" name="Scenario" eSuperTypes="#//Sequence">
313+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore" references="#//Scenario">
314+ <details key="constraints" value="JavaTestExistsForScenarioConstraint"/>
315+ </eAnnotations>
316+ </eClassifiers>
317+ <eClassifiers xsi:type="ecore:EClass" name="Action" abstract="true" eSuperTypes="#//DocumentedElement #//Processing"/>
318+ <eClassifiers xsi:type="ecore:EClass" name="Sequence" abstract="true" eSuperTypes="#//DocumentedElement #//Processing">
319+ <eStructuralFeatures xsi:type="ecore:EReference" name="actions" upperBound="-1"
320+ eType="#//Action" transient="true" derived="true" containment="true"/>
321+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequences" upperBound="-1"
322+ eType="#//Sequence" transient="true" derived="true" containment="true"/>
323+ <eStructuralFeatures xsi:type="ecore:EReference" name="processings" upperBound="-1"
324+ eType="#//Processing" containment="true"/>
325+ </eClassifiers>
326+ <eClassifiers xsi:type="ecore:EClass" name="Wizard" eSuperTypes="#//Sequence">
327+ <eStructuralFeatures xsi:type="ecore:EReference" name="referenceableObject" eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject"/>
328+ </eClassifiers>
329+ <eClassifiers xsi:type="ecore:EClass" name="DocumentedElement" abstract="true">
330+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
331+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="documentation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
332+ </eClassifiers>
333+ <eClassifiers xsi:type="ecore:EClass" name="ModelingBot">
334+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore" references="#//ModelingBot">
335+ <details key="constraints" value="JavaTestExistsConstraint"/>
336+ </eAnnotations>
337+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertiesEditionContext"
338+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.components/model/components.ecore#//PropertiesEditionContext"/>
339+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequences" upperBound="-1"
340+ eType="#//Sequence" containment="true"/>
341+ </eClassifiers>
342+ <eClassifiers xsi:type="ecore:EClass" name="DetailsPage" eSuperTypes="#//Sequence"/>
343+ <eClassifiers xsi:type="ecore:EClass" name="PropertiesView" eSuperTypes="#//Sequence">
344+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
345+ </eClassifiers>
346+ <eClassifiers xsi:type="ecore:EClass" name="Processing" abstract="true" interface="true"/>
347+ <eClassifiers xsi:type="ecore:EEnum" name="SequenceType">
348+ <eLiterals name="DETAILS_PAGE"/>
349+ <eLiterals name="WIZARD" value="1"/>
350+ <eLiterals name="PROPERTIES_VIEW" value="2"/>
351+ </eClassifiers>
352+ <eSubpackages name="EEFActions" nsURI="http://www.eclipse.org/emf/eef/test/EEFActions/1.0.0"
353+ nsPrefix="eef-test">
354+ <eClassifiers xsi:type="ecore:EClass" name="EEFAction" abstract="true" eSuperTypes="#//Action"/>
355+ <eClassifiers xsi:type="ecore:EClass" name="EditAction" abstract="true" eSuperTypes="#//EEFActions/EEFAction platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject">
356+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertiesEditionElement"
357+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.components/model/components.ecore#//PropertiesEditionElement"/>
358+ <eStructuralFeatures xsi:type="ecore:EReference" name="referenceableObject"
359+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject"/>
360+ </eClassifiers>
361+ <eClassifiers xsi:type="ecore:EClass" name="Add" eSuperTypes="#//EEFActions/EditAction">
362+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
363+ <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
364+ </eClassifiers>
365+ <eClassifiers xsi:type="ecore:EClass" name="Remove" eSuperTypes="#//EEFActions/EditAction"/>
366+ <eClassifiers xsi:type="ecore:EClass" name="SetAttribute" eSuperTypes="#//EEFActions/EditAction">
367+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="values" upperBound="-1"
368+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
369+ <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
370+ </eClassifiers>
371+ <eClassifiers xsi:type="ecore:EClass" name="UnsetAttribute" eSuperTypes="#//EEFActions/EditAction">
372+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="values" upperBound="-1"
373+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
374+ <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
375+ </eClassifiers>
376+ <eClassifiers xsi:type="ecore:EClass" name="Unset" eSuperTypes="#//EEFActions/EditAction">
377+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
378+ </eClassifiers>
379+ <eClassifiers xsi:type="ecore:EClass" name="Cancel" eSuperTypes="#//EEFActions/EEFAction">
380+ <eStructuralFeatures xsi:type="ecore:EReference" name="processing" eType="#//Processing"/>
381+ </eClassifiers>
382+ <eClassifiers xsi:type="ecore:EClass" name="Check" eSuperTypes="#//EEFActions/EEFAction"/>
383+ <eClassifiers xsi:type="ecore:EClass" name="OpenEEFEditor" eSuperTypes="#//EEFActions/EEFAction">
384+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="editorName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
385+ </eClassifiers>
386+ <eClassifiers xsi:type="ecore:EClass" name="SetReference" eSuperTypes="#//EEFActions/EditAction">
387+ <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
388+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject"/>
389+ <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
390+ </eClassifiers>
391+ <eClassifiers xsi:type="ecore:EClass" name="UnsetReference" eSuperTypes="#//EEFActions/EditAction">
392+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
393+ <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
394+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject"/>
395+ </eClassifiers>
396+ <eClassifiers xsi:type="ecore:EClass" name="MoveUp" eSuperTypes="#//EEFActions/EditAction"/>
397+ <eClassifiers xsi:type="ecore:EClass" name="MoveDown" eSuperTypes="#//EEFActions/EditAction"/>
398+ </eSubpackages>
399+ <eSubpackages name="EclipseActions" nsURI="http://www.eclipse.org/emf/eef/test/EclipseActions/1.0.0"
400+ nsPrefix="eef-test">
401+ <eClassifiers xsi:type="ecore:EClass" name="EclipseAction" abstract="true" eSuperTypes="#//Action"/>
402+ <eClassifiers xsi:type="ecore:EClass" name="CreateProject" eSuperTypes="#//EclipseActions/EclipseAction">
403+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
404+ </eClassifiers>
405+ <eClassifiers xsi:type="ecore:EClass" name="OpenPerspective" eSuperTypes="#//EclipseActions/EclipseAction">
406+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
407+ </eClassifiers>
408+ <eClassifiers xsi:type="ecore:EClass" name="CloseProject" eSuperTypes="#//EclipseActions/EclipseAction">
409+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
410+ </eClassifiers>
411+ <eClassifiers xsi:type="ecore:EClass" name="Save" eSuperTypes="#//EclipseActions/EclipseAction"/>
412+ <eClassifiers xsi:type="ecore:EClass" name="Undo" eSuperTypes="#//EclipseActions/EclipseAction"/>
413+ <eClassifiers xsi:type="ecore:EClass" name="Redo" eSuperTypes="#//EclipseActions/EclipseAction"/>
414+ <eClassifiers xsi:type="ecore:EClass" name="OpenProject" eSuperTypes="#//EclipseActions/EclipseAction">
415+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
416+ </eClassifiers>
417+ <eClassifiers xsi:type="ecore:EClass" name="RemoveProject" eSuperTypes="#//EclipseActions/EclipseAction">
418+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
419+ </eClassifiers>
420+ <eClassifiers xsi:type="ecore:EClass" name="CloseEditor" eSuperTypes="#//EclipseActions/EclipseAction">
421+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
422+ </eClassifiers>
423+ <eClassifiers xsi:type="ecore:EClass" name="OpenEditor" eSuperTypes="#//EclipseActions/EclipseAction">
424+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="editorName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
425+ <eStructuralFeatures xsi:type="ecore:EReference" name="root" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
426+ </eClassifiers>
427+ <eClassifiers xsi:type="ecore:EClass" name="CreateModel" eSuperTypes="#//EclipseActions/EclipseAction platform:/plugin/org.eclipse.emf.eef.editor.model/model/extended.ecore#//editor/ReferenceableObject">
428+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="modelName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
429+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
430+ <eStructuralFeatures xsi:type="ecore:EReference" name="root" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
431+ </eClassifiers>
432+ </eSubpackages>
433+</ecore:EPackage>
434diff --git a/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/Scenario.java b/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/Scenario.java
435old mode 100755
436new mode 100644
437index 8d2186e..011edf7
438--- a/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/Scenario.java
439+++ b/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/Scenario.java
440@@ -1,25 +1,25 @@
441-/*******************************************************************************
442- * Copyright (c) 2008, 2011 Obeo.
443- * All rights reserved. This program and the accompanying materials
444- * are made available under the terms of the Eclipse Public License v1.0
445- * which accompanies this distribution, and is available at
446- * http://www.eclipse.org/legal/epl-v10.html
447- *
448- * Contributors:
449- * Obeo - initial API and implementation
450- *******************************************************************************/
451-package org.eclipse.emf.eef.modelingBot;
452-
453-
454-/**
455- * <!-- begin-user-doc -->
456- * A representation of the model object '<em><b>Scenario</b></em>'.
457- * <!-- end-user-doc -->
458- *
459- *
460- * @see org.eclipse.emf.eef.modelingBot.ModelingBotPackage#getScenario()
461- * @model
462- * @generated
463- */
464-public interface Scenario extends Sequence {
465-} // Scenario
466+/*******************************************************************************
467+ * Copyright (c) 2008, 2011 Obeo.
468+ * All rights reserved. This program and the accompanying materials
469+ * are made available under the terms of the Eclipse Public License v1.0
470+ * which accompanies this distribution, and is available at
471+ * http://www.eclipse.org/legal/epl-v10.html
472+ *
473+ * Contributors:
474+ * Obeo - initial API and implementation
475+ *******************************************************************************/
476+package org.eclipse.emf.eef.modelingBot;
477+
478+
479+/**
480+ * <!-- begin-user-doc -->
481+ * A representation of the model object '<em><b>Scenario</b></em>'.
482+ * <!-- end-user-doc -->
483+ *
484+ *
485+ * @see org.eclipse.emf.eef.modelingBot.ModelingBotPackage#getScenario()
486+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='JavaTestExistsForScenarioConstraint'"
487+ * @generated
488+ */
489+public interface Scenario extends Sequence {
490+} // Scenario
491diff --git a/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/impl/ModelingBotPackageImpl.java b/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/impl/ModelingBotPackageImpl.java
492old mode 100755
493new mode 100644
494index ec18728..253d7f5
495--- a/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/impl/ModelingBotPackageImpl.java
496+++ b/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/impl/ModelingBotPackageImpl.java
497@@ -1,551 +1,560 @@
498-/*******************************************************************************
499- * Copyright (c) 2008, 2011 Obeo.
500- * All rights reserved. This program and the accompanying materials
501- * are made available under the terms of the Eclipse Public License v1.0
502- * which accompanies this distribution, and is available at
503- * http://www.eclipse.org/legal/epl-v10.html
504- *
505- * Contributors:
506- * Obeo - initial API and implementation
507- *******************************************************************************/
508-package org.eclipse.emf.eef.modelingBot.impl;
509-
510-import org.eclipse.emf.common.util.URI;
511-import org.eclipse.emf.ecore.EAttribute;
512-import org.eclipse.emf.ecore.EClass;
513-import org.eclipse.emf.ecore.EEnum;
514-import org.eclipse.emf.ecore.EPackage;
515-import org.eclipse.emf.ecore.EReference;
516-
517-import org.eclipse.emf.ecore.EValidator;
518-import org.eclipse.emf.ecore.EcorePackage;
519-import org.eclipse.emf.ecore.impl.EPackageImpl;
520-
521-import org.eclipse.emf.eef.components.ComponentsPackage;
522-
523-import org.eclipse.emf.eef.extended.editor.EditorPackage;
524-
525-import org.eclipse.emf.eef.extended.query.QueryPackage;
526-
527-import org.eclipse.emf.eef.modelingBot.Action;
528-import org.eclipse.emf.eef.modelingBot.DetailsPage;
529-import org.eclipse.emf.eef.modelingBot.DocumentedElement;
530-
531-import org.eclipse.emf.eef.modelingBot.EEFActions.EEFActionsPackage;
532-
533-import org.eclipse.emf.eef.modelingBot.EEFActions.impl.EEFActionsPackageImpl;
534-
535-import org.eclipse.emf.eef.modelingBot.EclipseActions.EclipseActionsPackage;
536-
537-import org.eclipse.emf.eef.modelingBot.EclipseActions.impl.EclipseActionsPackageImpl;
538-
539-import org.eclipse.emf.eef.modelingBot.ModelingBot;
540-import org.eclipse.emf.eef.modelingBot.ModelingBotFactory;
541-import org.eclipse.emf.eef.modelingBot.ModelingBotPackage;
542-import org.eclipse.emf.eef.modelingBot.Processing;
543-import org.eclipse.emf.eef.modelingBot.PropertiesView;
544-import org.eclipse.emf.eef.modelingBot.Scenario;
545-import org.eclipse.emf.eef.modelingBot.Sequence;
546-import org.eclipse.emf.eef.modelingBot.SequenceType;
547-import org.eclipse.emf.eef.modelingBot.Wizard;
548-import org.eclipse.emf.eef.modelingBot.util.ModelingBotValidator;
549-
550-/**
551- * <!-- begin-user-doc -->
552- * An implementation of the model <b>Package</b>.
553- * <!-- end-user-doc -->
554- * @generated
555- */
556-public class ModelingBotPackageImpl extends EPackageImpl implements ModelingBotPackage {
557- /**
558- * <!-- begin-user-doc -->
559- * <!-- end-user-doc -->
560- * @generated
561- */
562- private EClass scenarioEClass = null;
563-
564- /**
565- * <!-- begin-user-doc -->
566- * <!-- end-user-doc -->
567- * @generated
568- */
569- private EClass actionEClass = null;
570-
571- /**
572- * <!-- begin-user-doc -->
573- * <!-- end-user-doc -->
574- * @generated
575- */
576- private EClass sequenceEClass = null;
577-
578- /**
579- * <!-- begin-user-doc -->
580- * <!-- end-user-doc -->
581- * @generated
582- */
583- private EClass wizardEClass = null;
584-
585- /**
586- * <!-- begin-user-doc -->
587- * <!-- end-user-doc -->
588- * @generated
589- */
590- private EClass documentedElementEClass = null;
591-
592- /**
593- * <!-- begin-user-doc -->
594- * <!-- end-user-doc -->
595- * @generated
596- */
597- private EClass modelingBotEClass = null;
598-
599- /**
600- * <!-- begin-user-doc -->
601- * <!-- end-user-doc -->
602- * @generated
603- */
604- private EClass detailsPageEClass = null;
605-
606- /**
607- * <!-- begin-user-doc -->
608- * <!-- end-user-doc -->
609- * @generated
610- */
611- private EClass propertiesViewEClass = null;
612-
613- /**
614- * <!-- begin-user-doc -->
615- * <!-- end-user-doc -->
616- * @generated
617- */
618- private EClass processingEClass = null;
619-
620- /**
621- * <!-- begin-user-doc -->
622- * <!-- end-user-doc -->
623- * @generated
624- */
625- private EEnum sequenceTypeEEnum = null;
626-
627- /**
628- * Creates an instance of the model <b>Package</b>, registered with
629- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
630- * package URI value.
631- * <p>Note: the correct way to create the package is via the static
632- * factory method {@link #init init()}, which also performs
633- * initialization of the package, or returns the registered package,
634- * if one already exists.
635- * <!-- begin-user-doc -->
636- * <!-- end-user-doc -->
637- * @see org.eclipse.emf.ecore.EPackage.Registry
638- * @see org.eclipse.emf.eef.modelingBot.ModelingBotPackage#eNS_URI
639- * @see #init()
640- * @generated
641- */
642- private ModelingBotPackageImpl() {
643- super(eNS_URI, ModelingBotFactory.eINSTANCE);
644- }
645-
646- /**
647- * <!-- begin-user-doc -->
648- * <!-- end-user-doc -->
649- * @generated
650- */
651- private static boolean isInited = false;
652-
653- /**
654- * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
655- *
656- * <p>This method is used to initialize {@link ModelingBotPackage#eINSTANCE} when that field is accessed.
657- * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
658- * <!-- begin-user-doc -->
659- * <!-- end-user-doc -->
660- * @see #eNS_URI
661- * @see #createPackageContents()
662- * @see #initializePackageContents()
663- * @generated
664- */
665- public static ModelingBotPackage init() {
666- if (isInited) return (ModelingBotPackage)EPackage.Registry.INSTANCE.getEPackage(ModelingBotPackage.eNS_URI);
667-
668- // Obtain or create and register package
669- ModelingBotPackageImpl theModelingBotPackage = (ModelingBotPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ModelingBotPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ModelingBotPackageImpl());
670-
671- isInited = true;
672-
673- // Initialize simple dependencies
674- EditorPackage.eINSTANCE.eClass();
675- QueryPackage.eINSTANCE.eClass();
676-
677- // Obtain or create and register interdependencies
678- EEFActionsPackageImpl theEEFActionsPackage = (EEFActionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EEFActionsPackage.eNS_URI) instanceof EEFActionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EEFActionsPackage.eNS_URI) : EEFActionsPackage.eINSTANCE);
679- EclipseActionsPackageImpl theEclipseActionsPackage = (EclipseActionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EclipseActionsPackage.eNS_URI) instanceof EclipseActionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EclipseActionsPackage.eNS_URI) : EclipseActionsPackage.eINSTANCE);
680-
681- // Create package meta-data objects
682- theModelingBotPackage.createPackageContents();
683- theEEFActionsPackage.createPackageContents();
684- theEclipseActionsPackage.createPackageContents();
685-
686- // Initialize created meta-data
687- theModelingBotPackage.initializePackageContents();
688- theEEFActionsPackage.initializePackageContents();
689- theEclipseActionsPackage.initializePackageContents();
690-
691- // Register package validator
692- EValidator.Registry.INSTANCE.put
693- (theModelingBotPackage,
694- new EValidator.Descriptor() {
695- public EValidator getEValidator() {
696- return ModelingBotValidator.INSTANCE;
697- }
698- });
699-
700- // Mark meta-data to indicate it can't be changed
701- theModelingBotPackage.freeze();
702-
703-
704- // Update the registry and return the package
705- EPackage.Registry.INSTANCE.put(ModelingBotPackage.eNS_URI, theModelingBotPackage);
706- return theModelingBotPackage;
707- }
708-
709- /**
710- * <!-- begin-user-doc -->
711- * <!-- end-user-doc -->
712- * @generated
713- */
714- public EClass getScenario() {
715- return scenarioEClass;
716- }
717-
718- /**
719- * <!-- begin-user-doc -->
720- * <!-- end-user-doc -->
721- * @generated
722- */
723- public EClass getAction() {
724- return actionEClass;
725- }
726-
727- /**
728- * <!-- begin-user-doc -->
729- * <!-- end-user-doc -->
730- * @generated
731- */
732- public EClass getSequence() {
733- return sequenceEClass;
734- }
735-
736- /**
737- * <!-- begin-user-doc -->
738- * <!-- end-user-doc -->
739- * @generated
740- */
741- public EReference getSequence_Actions() {
742- return (EReference)sequenceEClass.getEStructuralFeatures().get(0);
743- }
744-
745- /**
746- * <!-- begin-user-doc -->
747- * <!-- end-user-doc -->
748- * @generated
749- */
750- public EReference getSequence_Sequences() {
751- return (EReference)sequenceEClass.getEStructuralFeatures().get(1);
752- }
753-
754- /**
755- * <!-- begin-user-doc -->
756- * <!-- end-user-doc -->
757- * @generated
758- */
759- public EReference getSequence_Processings() {
760- return (EReference)sequenceEClass.getEStructuralFeatures().get(2);
761- }
762-
763- /**
764- * <!-- begin-user-doc -->
765- * <!-- end-user-doc -->
766- * @generated
767- */
768- public EClass getWizard() {
769- return wizardEClass;
770- }
771-
772- /**
773- * <!-- begin-user-doc -->
774- * <!-- end-user-doc -->
775- * @generated
776- */
777- public EReference getWizard_ReferenceableObject() {
778- return (EReference)wizardEClass.getEStructuralFeatures().get(0);
779- }
780-
781- /**
782- * <!-- begin-user-doc -->
783- * <!-- end-user-doc -->
784- * @generated
785- */
786- public EClass getDocumentedElement() {
787- return documentedElementEClass;
788- }
789-
790- /**
791- * <!-- begin-user-doc -->
792- * <!-- end-user-doc -->
793- * @generated
794- */
795- public EAttribute getDocumentedElement_Name() {
796- return (EAttribute)documentedElementEClass.getEStructuralFeatures().get(0);
797- }
798-
799- /**
800- * <!-- begin-user-doc -->
801- * <!-- end-user-doc -->
802- * @generated
803- */
804- public EAttribute getDocumentedElement_Documentation() {
805- return (EAttribute)documentedElementEClass.getEStructuralFeatures().get(1);
806- }
807-
808- /**
809- * <!-- begin-user-doc -->
810- * <!-- end-user-doc -->
811- * @generated
812- */
813- public EClass getModelingBot() {
814- return modelingBotEClass;
815- }
816-
817- /**
818- * <!-- begin-user-doc -->
819- * <!-- end-user-doc -->
820- * @generated
821- */
822- public EReference getModelingBot_PropertiesEditionContext() {
823- return (EReference)modelingBotEClass.getEStructuralFeatures().get(0);
824- }
825-
826- /**
827- * <!-- begin-user-doc -->
828- * <!-- end-user-doc -->
829- * @generated
830- */
831- public EReference getModelingBot_Sequences() {
832- return (EReference)modelingBotEClass.getEStructuralFeatures().get(1);
833- }
834-
835- /**
836- * <!-- begin-user-doc -->
837- * <!-- end-user-doc -->
838- * @generated
839- */
840- public EClass getDetailsPage() {
841- return detailsPageEClass;
842- }
843-
844- /**
845- * <!-- begin-user-doc -->
846- * <!-- end-user-doc -->
847- * @generated
848- */
849- public EClass getPropertiesView() {
850- return propertiesViewEClass;
851- }
852-
853- /**
854- * <!-- begin-user-doc -->
855- * <!-- end-user-doc -->
856- * @generated
857- */
858- public EAttribute getPropertiesView_Id() {
859- return (EAttribute)propertiesViewEClass.getEStructuralFeatures().get(0);
860- }
861-
862- /**
863- * <!-- begin-user-doc -->
864- * <!-- end-user-doc -->
865- * @generated
866- */
867- public EClass getProcessing() {
868- return processingEClass;
869- }
870-
871- /**
872- * <!-- begin-user-doc -->
873- * <!-- end-user-doc -->
874- * @generated
875- */
876- public EEnum getSequenceType() {
877- return sequenceTypeEEnum;
878- }
879-
880- /**
881- * <!-- begin-user-doc -->
882- * <!-- end-user-doc -->
883- * @generated
884- */
885- public ModelingBotFactory getModelingBotFactory() {
886- return (ModelingBotFactory)getEFactoryInstance();
887- }
888-
889- /**
890- * <!-- begin-user-doc -->
891- * <!-- end-user-doc -->
892- * @generated
893- */
894- private boolean isCreated = false;
895-
896- /**
897- * Creates the meta-model objects for the package. This method is
898- * guarded to have no affect on any invocation but its first.
899- * <!-- begin-user-doc -->
900- * <!-- end-user-doc -->
901- * @generated
902- */
903- public void createPackageContents() {
904- if (isCreated) return;
905- isCreated = true;
906-
907- // Create classes and their features
908- scenarioEClass = createEClass(SCENARIO);
909-
910- actionEClass = createEClass(ACTION);
911-
912- sequenceEClass = createEClass(SEQUENCE);
913- createEReference(sequenceEClass, SEQUENCE__ACTIONS);
914- createEReference(sequenceEClass, SEQUENCE__SEQUENCES);
915- createEReference(sequenceEClass, SEQUENCE__PROCESSINGS);
916-
917- wizardEClass = createEClass(WIZARD);
918- createEReference(wizardEClass, WIZARD__REFERENCEABLE_OBJECT);
919-
920- documentedElementEClass = createEClass(DOCUMENTED_ELEMENT);
921- createEAttribute(documentedElementEClass, DOCUMENTED_ELEMENT__NAME);
922- createEAttribute(documentedElementEClass, DOCUMENTED_ELEMENT__DOCUMENTATION);
923-
924- modelingBotEClass = createEClass(MODELING_BOT);
925- createEReference(modelingBotEClass, MODELING_BOT__PROPERTIES_EDITION_CONTEXT);
926- createEReference(modelingBotEClass, MODELING_BOT__SEQUENCES);
927-
928- detailsPageEClass = createEClass(DETAILS_PAGE);
929-
930- propertiesViewEClass = createEClass(PROPERTIES_VIEW);
931- createEAttribute(propertiesViewEClass, PROPERTIES_VIEW__ID);
932-
933- processingEClass = createEClass(PROCESSING);
934-
935- // Create enums
936- sequenceTypeEEnum = createEEnum(SEQUENCE_TYPE);
937- }
938-
939- /**
940- * <!-- begin-user-doc -->
941- * <!-- end-user-doc -->
942- * @generated
943- */
944- private boolean isInitialized = false;
945-
946- /**
947- * Complete the initialization of the package and its meta-model. This
948- * method is guarded to have no affect on any invocation but its first.
949- * <!-- begin-user-doc -->
950- * <!-- end-user-doc -->
951- * @generated
952- */
953- public void initializePackageContents() {
954- if (isInitialized) return;
955- isInitialized = true;
956-
957- // Initialize package
958- setName(eNAME);
959- setNsPrefix(eNS_PREFIX);
960- setNsURI(eNS_URI);
961-
962- // Obtain other dependent packages
963- EEFActionsPackage theEEFActionsPackage = (EEFActionsPackage)EPackage.Registry.INSTANCE.getEPackage(EEFActionsPackage.eNS_URI);
964- EclipseActionsPackage theEclipseActionsPackage = (EclipseActionsPackage)EPackage.Registry.INSTANCE.getEPackage(EclipseActionsPackage.eNS_URI);
965- EditorPackage theEditorPackage = (EditorPackage)EPackage.Registry.INSTANCE.getEPackage(EditorPackage.eNS_URI);
966- ComponentsPackage theComponentsPackage = (ComponentsPackage)EPackage.Registry.INSTANCE.getEPackage(ComponentsPackage.eNS_URI);
967- EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
968-
969- // Add subpackages
970- getESubpackages().add(theEEFActionsPackage);
971- getESubpackages().add(theEclipseActionsPackage);
972-
973- // Create type parameters
974-
975- // Set bounds for type parameters
976-
977- // Add supertypes to classes
978- scenarioEClass.getESuperTypes().add(this.getSequence());
979- actionEClass.getESuperTypes().add(this.getDocumentedElement());
980- actionEClass.getESuperTypes().add(this.getProcessing());
981- sequenceEClass.getESuperTypes().add(this.getDocumentedElement());
982- sequenceEClass.getESuperTypes().add(this.getProcessing());
983- wizardEClass.getESuperTypes().add(this.getSequence());
984- detailsPageEClass.getESuperTypes().add(this.getSequence());
985- propertiesViewEClass.getESuperTypes().add(this.getSequence());
986-
987- // Initialize classes and features; add operations and parameters
988- initEClass(scenarioEClass, Scenario.class, "Scenario", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
989-
990- initEClass(actionEClass, Action.class, "Action", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
991-
992- initEClass(sequenceEClass, Sequence.class, "Sequence", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
993- initEReference(getSequence_Actions(), this.getAction(), null, "actions", null, 0, -1, Sequence.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
994- initEReference(getSequence_Sequences(), this.getSequence(), null, "sequences", null, 0, -1, Sequence.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
995- initEReference(getSequence_Processings(), this.getProcessing(), null, "processings", null, 0, -1, Sequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
996-
997- initEClass(wizardEClass, Wizard.class, "Wizard", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
998- initEReference(getWizard_ReferenceableObject(), theEditorPackage.getReferenceableObject(), null, "referenceableObject", null, 0, 1, Wizard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
999-
1000- initEClass(documentedElementEClass, DocumentedElement.class, "DocumentedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1001- initEAttribute(getDocumentedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, DocumentedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1002- initEAttribute(getDocumentedElement_Documentation(), ecorePackage.getEString(), "documentation", null, 0, 1, DocumentedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1003-
1004- initEClass(modelingBotEClass, ModelingBot.class, "ModelingBot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1005- initEReference(getModelingBot_PropertiesEditionContext(), theComponentsPackage.getPropertiesEditionContext(), null, "propertiesEditionContext", null, 0, 1, ModelingBot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1006- initEReference(getModelingBot_Sequences(), this.getSequence(), null, "sequences", null, 0, -1, ModelingBot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1007-
1008- initEClass(detailsPageEClass, DetailsPage.class, "DetailsPage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1009-
1010- initEClass(propertiesViewEClass, PropertiesView.class, "PropertiesView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1011- initEAttribute(getPropertiesView_Id(), theEcorePackage.getEString(), "id", null, 0, 1, PropertiesView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1012-
1013- initEClass(processingEClass, Processing.class, "Processing", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1014-
1015- // Initialize enums and add enum literals
1016- initEEnum(sequenceTypeEEnum, SequenceType.class, "SequenceType");
1017- addEEnumLiteral(sequenceTypeEEnum, SequenceType.DETAILS_PAGE);
1018- addEEnumLiteral(sequenceTypeEEnum, SequenceType.WIZARD);
1019- addEEnumLiteral(sequenceTypeEEnum, SequenceType.PROPERTIES_VIEW);
1020-
1021- // Create resource
1022- createResource(eNS_URI);
1023-
1024- // Create annotations
1025- // http://www.eclipse.org/emf/2002/Ecore
1026- createEcoreAnnotations();
1027- }
1028-
1029- /**
1030- * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
1031- * <!-- begin-user-doc -->
1032- * <!-- end-user-doc -->
1033- * @generated
1034- */
1035- protected void createEcoreAnnotations() {
1036- String source = "http://www.eclipse.org/emf/2002/Ecore";
1037- addAnnotation
1038- (modelingBotEClass,
1039- source,
1040- new String[] {
1041- "constraints", "JavaTestExistsConstraint"
1042- },
1043- new URI[] {
1044- URI.createURI(eNS_URI).appendFragment("//ModelingBot")
1045- });
1046- }
1047-
1048-} //ModelingBotPackageImpl
1049+/*******************************************************************************
1050+ * Copyright (c) 2008, 2011 Obeo.
1051+ * All rights reserved. This program and the accompanying materials
1052+ * are made available under the terms of the Eclipse Public License v1.0
1053+ * which accompanies this distribution, and is available at
1054+ * http://www.eclipse.org/legal/epl-v10.html
1055+ *
1056+ * Contributors:
1057+ * Obeo - initial API and implementation
1058+ *******************************************************************************/
1059+package org.eclipse.emf.eef.modelingBot.impl;
1060+
1061+import org.eclipse.emf.common.util.URI;
1062+import org.eclipse.emf.ecore.EAttribute;
1063+import org.eclipse.emf.ecore.EClass;
1064+import org.eclipse.emf.ecore.EEnum;
1065+import org.eclipse.emf.ecore.EPackage;
1066+import org.eclipse.emf.ecore.EReference;
1067+
1068+import org.eclipse.emf.ecore.EValidator;
1069+import org.eclipse.emf.ecore.EcorePackage;
1070+import org.eclipse.emf.ecore.impl.EPackageImpl;
1071+
1072+import org.eclipse.emf.eef.components.ComponentsPackage;
1073+
1074+import org.eclipse.emf.eef.extended.editor.EditorPackage;
1075+
1076+import org.eclipse.emf.eef.extended.query.QueryPackage;
1077+
1078+import org.eclipse.emf.eef.modelingBot.Action;
1079+import org.eclipse.emf.eef.modelingBot.DetailsPage;
1080+import org.eclipse.emf.eef.modelingBot.DocumentedElement;
1081+
1082+import org.eclipse.emf.eef.modelingBot.EEFActions.EEFActionsPackage;
1083+
1084+import org.eclipse.emf.eef.modelingBot.EEFActions.impl.EEFActionsPackageImpl;
1085+
1086+import org.eclipse.emf.eef.modelingBot.EclipseActions.EclipseActionsPackage;
1087+
1088+import org.eclipse.emf.eef.modelingBot.EclipseActions.impl.EclipseActionsPackageImpl;
1089+
1090+import org.eclipse.emf.eef.modelingBot.ModelingBot;
1091+import org.eclipse.emf.eef.modelingBot.ModelingBotFactory;
1092+import org.eclipse.emf.eef.modelingBot.ModelingBotPackage;
1093+import org.eclipse.emf.eef.modelingBot.Processing;
1094+import org.eclipse.emf.eef.modelingBot.PropertiesView;
1095+import org.eclipse.emf.eef.modelingBot.Scenario;
1096+import org.eclipse.emf.eef.modelingBot.Sequence;
1097+import org.eclipse.emf.eef.modelingBot.SequenceType;
1098+import org.eclipse.emf.eef.modelingBot.Wizard;
1099+import org.eclipse.emf.eef.modelingBot.util.ModelingBotValidator;
1100+
1101+/**
1102+ * <!-- begin-user-doc -->
1103+ * An implementation of the model <b>Package</b>.
1104+ * <!-- end-user-doc -->
1105+ * @generated
1106+ */
1107+public class ModelingBotPackageImpl extends EPackageImpl implements ModelingBotPackage {
1108+ /**
1109+ * <!-- begin-user-doc -->
1110+ * <!-- end-user-doc -->
1111+ * @generated
1112+ */
1113+ private EClass scenarioEClass = null;
1114+
1115+ /**
1116+ * <!-- begin-user-doc -->
1117+ * <!-- end-user-doc -->
1118+ * @generated
1119+ */
1120+ private EClass actionEClass = null;
1121+
1122+ /**
1123+ * <!-- begin-user-doc -->
1124+ * <!-- end-user-doc -->
1125+ * @generated
1126+ */
1127+ private EClass sequenceEClass = null;
1128+
1129+ /**
1130+ * <!-- begin-user-doc -->
1131+ * <!-- end-user-doc -->
1132+ * @generated
1133+ */
1134+ private EClass wizardEClass = null;
1135+
1136+ /**
1137+ * <!-- begin-user-doc -->
1138+ * <!-- end-user-doc -->
1139+ * @generated
1140+ */
1141+ private EClass documentedElementEClass = null;
1142+
1143+ /**
1144+ * <!-- begin-user-doc -->
1145+ * <!-- end-user-doc -->
1146+ * @generated
1147+ */
1148+ private EClass modelingBotEClass = null;
1149+
1150+ /**
1151+ * <!-- begin-user-doc -->
1152+ * <!-- end-user-doc -->
1153+ * @generated
1154+ */
1155+ private EClass detailsPageEClass = null;
1156+
1157+ /**
1158+ * <!-- begin-user-doc -->
1159+ * <!-- end-user-doc -->
1160+ * @generated
1161+ */
1162+ private EClass propertiesViewEClass = null;
1163+
1164+ /**
1165+ * <!-- begin-user-doc -->
1166+ * <!-- end-user-doc -->
1167+ * @generated
1168+ */
1169+ private EClass processingEClass = null;
1170+
1171+ /**
1172+ * <!-- begin-user-doc -->
1173+ * <!-- end-user-doc -->
1174+ * @generated
1175+ */
1176+ private EEnum sequenceTypeEEnum = null;
1177+
1178+ /**
1179+ * Creates an instance of the model <b>Package</b>, registered with
1180+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
1181+ * package URI value.
1182+ * <p>Note: the correct way to create the package is via the static
1183+ * factory method {@link #init init()}, which also performs
1184+ * initialization of the package, or returns the registered package,
1185+ * if one already exists.
1186+ * <!-- begin-user-doc -->
1187+ * <!-- end-user-doc -->
1188+ * @see org.eclipse.emf.ecore.EPackage.Registry
1189+ * @see org.eclipse.emf.eef.modelingBot.ModelingBotPackage#eNS_URI
1190+ * @see #init()
1191+ * @generated
1192+ */
1193+ private ModelingBotPackageImpl() {
1194+ super(eNS_URI, ModelingBotFactory.eINSTANCE);
1195+ }
1196+
1197+ /**
1198+ * <!-- begin-user-doc -->
1199+ * <!-- end-user-doc -->
1200+ * @generated
1201+ */
1202+ private static boolean isInited = false;
1203+
1204+ /**
1205+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
1206+ *
1207+ * <p>This method is used to initialize {@link ModelingBotPackage#eINSTANCE} when that field is accessed.
1208+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
1209+ * <!-- begin-user-doc -->
1210+ * <!-- end-user-doc -->
1211+ * @see #eNS_URI
1212+ * @see #createPackageContents()
1213+ * @see #initializePackageContents()
1214+ * @generated
1215+ */
1216+ public static ModelingBotPackage init() {
1217+ if (isInited) return (ModelingBotPackage)EPackage.Registry.INSTANCE.getEPackage(ModelingBotPackage.eNS_URI);
1218+
1219+ // Obtain or create and register package
1220+ ModelingBotPackageImpl theModelingBotPackage = (ModelingBotPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ModelingBotPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ModelingBotPackageImpl());
1221+
1222+ isInited = true;
1223+
1224+ // Initialize simple dependencies
1225+ EditorPackage.eINSTANCE.eClass();
1226+ QueryPackage.eINSTANCE.eClass();
1227+
1228+ // Obtain or create and register interdependencies
1229+ EEFActionsPackageImpl theEEFActionsPackage = (EEFActionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EEFActionsPackage.eNS_URI) instanceof EEFActionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EEFActionsPackage.eNS_URI) : EEFActionsPackage.eINSTANCE);
1230+ EclipseActionsPackageImpl theEclipseActionsPackage = (EclipseActionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EclipseActionsPackage.eNS_URI) instanceof EclipseActionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EclipseActionsPackage.eNS_URI) : EclipseActionsPackage.eINSTANCE);
1231+
1232+ // Create package meta-data objects
1233+ theModelingBotPackage.createPackageContents();
1234+ theEEFActionsPackage.createPackageContents();
1235+ theEclipseActionsPackage.createPackageContents();
1236+
1237+ // Initialize created meta-data
1238+ theModelingBotPackage.initializePackageContents();
1239+ theEEFActionsPackage.initializePackageContents();
1240+ theEclipseActionsPackage.initializePackageContents();
1241+
1242+ // Register package validator
1243+ EValidator.Registry.INSTANCE.put
1244+ (theModelingBotPackage,
1245+ new EValidator.Descriptor() {
1246+ public EValidator getEValidator() {
1247+ return ModelingBotValidator.INSTANCE;
1248+ }
1249+ });
1250+
1251+ // Mark meta-data to indicate it can't be changed
1252+ theModelingBotPackage.freeze();
1253+
1254+
1255+ // Update the registry and return the package
1256+ EPackage.Registry.INSTANCE.put(ModelingBotPackage.eNS_URI, theModelingBotPackage);
1257+ return theModelingBotPackage;
1258+ }
1259+
1260+ /**
1261+ * <!-- begin-user-doc -->
1262+ * <!-- end-user-doc -->
1263+ * @generated
1264+ */
1265+ public EClass getScenario() {
1266+ return scenarioEClass;
1267+ }
1268+
1269+ /**
1270+ * <!-- begin-user-doc -->
1271+ * <!-- end-user-doc -->
1272+ * @generated
1273+ */
1274+ public EClass getAction() {
1275+ return actionEClass;
1276+ }
1277+
1278+ /**
1279+ * <!-- begin-user-doc -->
1280+ * <!-- end-user-doc -->
1281+ * @generated
1282+ */
1283+ public EClass getSequence() {
1284+ return sequenceEClass;
1285+ }
1286+
1287+ /**
1288+ * <!-- begin-user-doc -->
1289+ * <!-- end-user-doc -->
1290+ * @generated
1291+ */
1292+ public EReference getSequence_Actions() {
1293+ return (EReference)sequenceEClass.getEStructuralFeatures().get(0);
1294+ }
1295+
1296+ /**
1297+ * <!-- begin-user-doc -->
1298+ * <!-- end-user-doc -->
1299+ * @generated
1300+ */
1301+ public EReference getSequence_Sequences() {
1302+ return (EReference)sequenceEClass.getEStructuralFeatures().get(1);
1303+ }
1304+
1305+ /**
1306+ * <!-- begin-user-doc -->
1307+ * <!-- end-user-doc -->
1308+ * @generated
1309+ */
1310+ public EReference getSequence_Processings() {
1311+ return (EReference)sequenceEClass.getEStructuralFeatures().get(2);
1312+ }
1313+
1314+ /**
1315+ * <!-- begin-user-doc -->
1316+ * <!-- end-user-doc -->
1317+ * @generated
1318+ */
1319+ public EClass getWizard() {
1320+ return wizardEClass;
1321+ }
1322+
1323+ /**
1324+ * <!-- begin-user-doc -->
1325+ * <!-- end-user-doc -->
1326+ * @generated
1327+ */
1328+ public EReference getWizard_ReferenceableObject() {
1329+ return (EReference)wizardEClass.getEStructuralFeatures().get(0);
1330+ }
1331+
1332+ /**
1333+ * <!-- begin-user-doc -->
1334+ * <!-- end-user-doc -->
1335+ * @generated
1336+ */
1337+ public EClass getDocumentedElement() {
1338+ return documentedElementEClass;
1339+ }
1340+
1341+ /**
1342+ * <!-- begin-user-doc -->
1343+ * <!-- end-user-doc -->
1344+ * @generated
1345+ */
1346+ public EAttribute getDocumentedElement_Name() {
1347+ return (EAttribute)documentedElementEClass.getEStructuralFeatures().get(0);
1348+ }
1349+
1350+ /**
1351+ * <!-- begin-user-doc -->
1352+ * <!-- end-user-doc -->
1353+ * @generated
1354+ */
1355+ public EAttribute getDocumentedElement_Documentation() {
1356+ return (EAttribute)documentedElementEClass.getEStructuralFeatures().get(1);
1357+ }
1358+
1359+ /**
1360+ * <!-- begin-user-doc -->
1361+ * <!-- end-user-doc -->
1362+ * @generated
1363+ */
1364+ public EClass getModelingBot() {
1365+ return modelingBotEClass;
1366+ }
1367+
1368+ /**
1369+ * <!-- begin-user-doc -->
1370+ * <!-- end-user-doc -->
1371+ * @generated
1372+ */
1373+ public EReference getModelingBot_PropertiesEditionContext() {
1374+ return (EReference)modelingBotEClass.getEStructuralFeatures().get(0);
1375+ }
1376+
1377+ /**
1378+ * <!-- begin-user-doc -->
1379+ * <!-- end-user-doc -->
1380+ * @generated
1381+ */
1382+ public EReference getModelingBot_Sequences() {
1383+ return (EReference)modelingBotEClass.getEStructuralFeatures().get(1);
1384+ }
1385+
1386+ /**
1387+ * <!-- begin-user-doc -->
1388+ * <!-- end-user-doc -->
1389+ * @generated
1390+ */
1391+ public EClass getDetailsPage() {
1392+ return detailsPageEClass;
1393+ }
1394+
1395+ /**
1396+ * <!-- begin-user-doc -->
1397+ * <!-- end-user-doc -->
1398+ * @generated
1399+ */
1400+ public EClass getPropertiesView() {
1401+ return propertiesViewEClass;
1402+ }
1403+
1404+ /**
1405+ * <!-- begin-user-doc -->
1406+ * <!-- end-user-doc -->
1407+ * @generated
1408+ */
1409+ public EAttribute getPropertiesView_Id() {
1410+ return (EAttribute)propertiesViewEClass.getEStructuralFeatures().get(0);
1411+ }
1412+
1413+ /**
1414+ * <!-- begin-user-doc -->
1415+ * <!-- end-user-doc -->
1416+ * @generated
1417+ */
1418+ public EClass getProcessing() {
1419+ return processingEClass;
1420+ }
1421+
1422+ /**
1423+ * <!-- begin-user-doc -->
1424+ * <!-- end-user-doc -->
1425+ * @generated
1426+ */
1427+ public EEnum getSequenceType() {
1428+ return sequenceTypeEEnum;
1429+ }
1430+
1431+ /**
1432+ * <!-- begin-user-doc -->
1433+ * <!-- end-user-doc -->
1434+ * @generated
1435+ */
1436+ public ModelingBotFactory getModelingBotFactory() {
1437+ return (ModelingBotFactory)getEFactoryInstance();
1438+ }
1439+
1440+ /**
1441+ * <!-- begin-user-doc -->
1442+ * <!-- end-user-doc -->
1443+ * @generated
1444+ */
1445+ private boolean isCreated = false;
1446+
1447+ /**
1448+ * Creates the meta-model objects for the package. This method is
1449+ * guarded to have no affect on any invocation but its first.
1450+ * <!-- begin-user-doc -->
1451+ * <!-- end-user-doc -->
1452+ * @generated
1453+ */
1454+ public void createPackageContents() {
1455+ if (isCreated) return;
1456+ isCreated = true;
1457+
1458+ // Create classes and their features
1459+ scenarioEClass = createEClass(SCENARIO);
1460+
1461+ actionEClass = createEClass(ACTION);
1462+
1463+ sequenceEClass = createEClass(SEQUENCE);
1464+ createEReference(sequenceEClass, SEQUENCE__ACTIONS);
1465+ createEReference(sequenceEClass, SEQUENCE__SEQUENCES);
1466+ createEReference(sequenceEClass, SEQUENCE__PROCESSINGS);
1467+
1468+ wizardEClass = createEClass(WIZARD);
1469+ createEReference(wizardEClass, WIZARD__REFERENCEABLE_OBJECT);
1470+
1471+ documentedElementEClass = createEClass(DOCUMENTED_ELEMENT);
1472+ createEAttribute(documentedElementEClass, DOCUMENTED_ELEMENT__NAME);
1473+ createEAttribute(documentedElementEClass, DOCUMENTED_ELEMENT__DOCUMENTATION);
1474+
1475+ modelingBotEClass = createEClass(MODELING_BOT);
1476+ createEReference(modelingBotEClass, MODELING_BOT__PROPERTIES_EDITION_CONTEXT);
1477+ createEReference(modelingBotEClass, MODELING_BOT__SEQUENCES);
1478+
1479+ detailsPageEClass = createEClass(DETAILS_PAGE);
1480+
1481+ propertiesViewEClass = createEClass(PROPERTIES_VIEW);
1482+ createEAttribute(propertiesViewEClass, PROPERTIES_VIEW__ID);
1483+
1484+ processingEClass = createEClass(PROCESSING);
1485+
1486+ // Create enums
1487+ sequenceTypeEEnum = createEEnum(SEQUENCE_TYPE);
1488+ }
1489+
1490+ /**
1491+ * <!-- begin-user-doc -->
1492+ * <!-- end-user-doc -->
1493+ * @generated
1494+ */
1495+ private boolean isInitialized = false;
1496+
1497+ /**
1498+ * Complete the initialization of the package and its meta-model. This
1499+ * method is guarded to have no affect on any invocation but its first.
1500+ * <!-- begin-user-doc -->
1501+ * <!-- end-user-doc -->
1502+ * @generated
1503+ */
1504+ public void initializePackageContents() {
1505+ if (isInitialized) return;
1506+ isInitialized = true;
1507+
1508+ // Initialize package
1509+ setName(eNAME);
1510+ setNsPrefix(eNS_PREFIX);
1511+ setNsURI(eNS_URI);
1512+
1513+ // Obtain other dependent packages
1514+ EEFActionsPackage theEEFActionsPackage = (EEFActionsPackage)EPackage.Registry.INSTANCE.getEPackage(EEFActionsPackage.eNS_URI);
1515+ EclipseActionsPackage theEclipseActionsPackage = (EclipseActionsPackage)EPackage.Registry.INSTANCE.getEPackage(EclipseActionsPackage.eNS_URI);
1516+ EditorPackage theEditorPackage = (EditorPackage)EPackage.Registry.INSTANCE.getEPackage(EditorPackage.eNS_URI);
1517+ ComponentsPackage theComponentsPackage = (ComponentsPackage)EPackage.Registry.INSTANCE.getEPackage(ComponentsPackage.eNS_URI);
1518+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
1519+
1520+ // Add subpackages
1521+ getESubpackages().add(theEEFActionsPackage);
1522+ getESubpackages().add(theEclipseActionsPackage);
1523+
1524+ // Create type parameters
1525+
1526+ // Set bounds for type parameters
1527+
1528+ // Add supertypes to classes
1529+ scenarioEClass.getESuperTypes().add(this.getSequence());
1530+ actionEClass.getESuperTypes().add(this.getDocumentedElement());
1531+ actionEClass.getESuperTypes().add(this.getProcessing());
1532+ sequenceEClass.getESuperTypes().add(this.getDocumentedElement());
1533+ sequenceEClass.getESuperTypes().add(this.getProcessing());
1534+ wizardEClass.getESuperTypes().add(this.getSequence());
1535+ detailsPageEClass.getESuperTypes().add(this.getSequence());
1536+ propertiesViewEClass.getESuperTypes().add(this.getSequence());
1537+
1538+ // Initialize classes and features; add operations and parameters
1539+ initEClass(scenarioEClass, Scenario.class, "Scenario", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1540+
1541+ initEClass(actionEClass, Action.class, "Action", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1542+
1543+ initEClass(sequenceEClass, Sequence.class, "Sequence", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1544+ initEReference(getSequence_Actions(), this.getAction(), null, "actions", null, 0, -1, Sequence.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
1545+ initEReference(getSequence_Sequences(), this.getSequence(), null, "sequences", null, 0, -1, Sequence.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
1546+ initEReference(getSequence_Processings(), this.getProcessing(), null, "processings", null, 0, -1, Sequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1547+
1548+ initEClass(wizardEClass, Wizard.class, "Wizard", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1549+ initEReference(getWizard_ReferenceableObject(), theEditorPackage.getReferenceableObject(), null, "referenceableObject", null, 0, 1, Wizard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1550+
1551+ initEClass(documentedElementEClass, DocumentedElement.class, "DocumentedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1552+ initEAttribute(getDocumentedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, DocumentedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1553+ initEAttribute(getDocumentedElement_Documentation(), ecorePackage.getEString(), "documentation", null, 0, 1, DocumentedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1554+
1555+ initEClass(modelingBotEClass, ModelingBot.class, "ModelingBot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1556+ initEReference(getModelingBot_PropertiesEditionContext(), theComponentsPackage.getPropertiesEditionContext(), null, "propertiesEditionContext", null, 0, 1, ModelingBot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1557+ initEReference(getModelingBot_Sequences(), this.getSequence(), null, "sequences", null, 0, -1, ModelingBot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1558+
1559+ initEClass(detailsPageEClass, DetailsPage.class, "DetailsPage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1560+
1561+ initEClass(propertiesViewEClass, PropertiesView.class, "PropertiesView", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1562+ initEAttribute(getPropertiesView_Id(), theEcorePackage.getEString(), "id", null, 0, 1, PropertiesView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1563+
1564+ initEClass(processingEClass, Processing.class, "Processing", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1565+
1566+ // Initialize enums and add enum literals
1567+ initEEnum(sequenceTypeEEnum, SequenceType.class, "SequenceType");
1568+ addEEnumLiteral(sequenceTypeEEnum, SequenceType.DETAILS_PAGE);
1569+ addEEnumLiteral(sequenceTypeEEnum, SequenceType.WIZARD);
1570+ addEEnumLiteral(sequenceTypeEEnum, SequenceType.PROPERTIES_VIEW);
1571+
1572+ // Create resource
1573+ createResource(eNS_URI);
1574+
1575+ // Create annotations
1576+ // http://www.eclipse.org/emf/2002/Ecore
1577+ createEcoreAnnotations();
1578+ }
1579+
1580+ /**
1581+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
1582+ * <!-- begin-user-doc -->
1583+ * <!-- end-user-doc -->
1584+ * @generated
1585+ */
1586+ protected void createEcoreAnnotations() {
1587+ String source = "http://www.eclipse.org/emf/2002/Ecore";
1588+ addAnnotation
1589+ (scenarioEClass,
1590+ source,
1591+ new String[] {
1592+ "constraints", "JavaTestExistsForScenarioConstraint"
1593+ },
1594+ new URI[] {
1595+ URI.createURI(eNS_URI).appendFragment("//Scenario")
1596+ });
1597+ addAnnotation
1598+ (modelingBotEClass,
1599+ source,
1600+ new String[] {
1601+ "constraints", "JavaTestExistsConstraint"
1602+ },
1603+ new URI[] {
1604+ URI.createURI(eNS_URI).appendFragment("//ModelingBot")
1605+ });
1606+ }
1607+
1608+} //ModelingBotPackageImpl
1609diff --git a/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/util/ModelingBotValidator.java b/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/util/ModelingBotValidator.java
1610index 717c561..01ffda8 100644
1611--- a/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/util/ModelingBotValidator.java
1612+++ b/plugins/org.eclipse.emf.eef.modelingbot/src-gen/org/eclipse/emf/eef/modelingBot/util/ModelingBotValidator.java
1613@@ -20,6 +20,7 @@
1614 import org.eclipse.emf.eef.modelingBot.Sequence;
1615 import org.eclipse.emf.eef.modelingBot.SequenceType;
1616 import org.eclipse.emf.eef.modelingBot.Wizard;
1617+import org.eclipse.emf.eef.modelingBot.validation.ModelingBotValidationUtils;
1618
1619 /**
1620 * <!-- begin-user-doc --> The <b>Validator</b> for the model. <!-- end-user-doc -->
1621@@ -123,7 +124,44 @@
1622 */
1623 public boolean validateScenario(Scenario scenario, DiagnosticChain diagnostics,
1624 Map<Object, Object> context) {
1625- return validate_EveryDefaultConstraint(scenario, diagnostics, context);
1626+ if (!validate_NoCircularContainment(scenario, diagnostics, context))
1627+ return false;
1628+ boolean result = validate_EveryMultiplicityConforms(scenario, diagnostics, context);
1629+ if (result || diagnostics != null)
1630+ result &= validate_EveryDataValueConforms(scenario, diagnostics, context);
1631+ if (result || diagnostics != null)
1632+ result &= validate_EveryReferenceIsContained(scenario, diagnostics, context);
1633+ if (result || diagnostics != null)
1634+ result &= validate_EveryProxyResolves(scenario, diagnostics, context);
1635+ if (result || diagnostics != null)
1636+ result &= validate_UniqueID(scenario, diagnostics, context);
1637+ if (result || diagnostics != null)
1638+ result &= validate_EveryKeyUnique(scenario, diagnostics, context);
1639+ if (result || diagnostics != null)
1640+ result &= validate_EveryMapEntryUnique(scenario, diagnostics, context);
1641+ if (result || diagnostics != null)
1642+ result &= validateScenario_JavaTestExistsForScenarioConstraint(scenario, diagnostics, context);
1643+ return result;
1644+ }
1645+
1646+ /**
1647+ * Validates the JavaTestExistsForScenarioConstraint constraint of '<em>Scenario</em>'. <!--
1648+ * begin-user-doc --> <!-- end-user-doc -->
1649+ *
1650+ * @generated NOT
1651+ */
1652+ public boolean validateScenario_JavaTestExistsForScenarioConstraint(Scenario scenario,
1653+ DiagnosticChain diagnostics, Map<Object, Object> context) {
1654+ if (diagnostics != null) {
1655+ if (!ModelingBotValidationUtils.isAssociatedToTest(scenario)) {
1656+ diagnostics.add(createDiagnostic(Diagnostic.ERROR, DIAGNOSTIC_SOURCE, 0,
1657+ "_UI_GenericConstraint_diagnostic", new Object[] {"JavaTestExistsConstraint",
1658+ getObjectLabel(scenario, context)
1659+ }, new Object[] {scenario
1660+ }, context));
1661+ }
1662+ }
1663+ return true;
1664 }
1665
1666 /**
1667diff --git a/plugins/org.eclipse.emf.eef.modelingbot/src/org/eclipse/emf/eef/modelingBot/validation/ModelingBotValidationUtils.java b/plugins/org.eclipse.emf.eef.modelingbot/src/org/eclipse/emf/eef/modelingBot/validation/ModelingBotValidationUtils.java
1668new file mode 100644
1669index 0000000..a48e67c
1670--- /dev/null
1671+++ b/plugins/org.eclipse.emf.eef.modelingbot/src/org/eclipse/emf/eef/modelingBot/validation/ModelingBotValidationUtils.java
1672@@ -0,0 +1,76 @@
1673+/*******************************************************************************
1674+ * Copyright (c) 2010, 2011 Obeo.
1675+ * All rights reserved. This program and the accompanying materials
1676+ * are made available under the terms of the Eclipse Public License v1.0
1677+ * which accompanies this distribution, and is available at
1678+ * http://www.eclipse.org/legal/epl-v10.html
1679+ *
1680+ * Contributors:
1681+ * Obeo - initial API and implementation
1682+ *******************************************************************************/
1683+package org.eclipse.emf.eef.modelingBot.validation;
1684+
1685+import org.eclipse.core.resources.IProject;
1686+import org.eclipse.core.resources.ResourcesPlugin;
1687+import org.eclipse.emf.common.util.URI;
1688+import org.eclipse.emf.ecore.EObject;
1689+import org.eclipse.emf.ecore.util.EcoreUtil;
1690+import org.eclipse.emf.eef.modelingBot.Scenario;
1691+
1692+/**
1693+ * Utility class providing facilities for validating ModelingBot elements.
1694+ *
1695+ * @author <a href="mailto:alex.lagarde@obeo.fr">Alex Lagarde</a>
1696+ */
1697+public class ModelingBotValidationUtils {
1698+
1699+ /**
1700+ * Indicates whether a junit test corresponding to the given element exists.
1701+ *
1702+ * @param element
1703+ * the element to test (a Scenario or a ModelingBot)
1704+ * @return true if a junit tests corresponding to the given element exists, false otherwise
1705+ */
1706+ public static boolean isAssociatedToTest(EObject element) {
1707+ boolean isAssociatedToTest = true;
1708+ URI uri = EcoreUtil.getURI(element);
1709+ if (element instanceof Scenario) {
1710+ isAssociatedToTest = false;
1711+ String projectName = getProjectName(uri);
1712+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
1713+ String expectedPath = getExpectedPath(project, (Scenario)element);
1714+ return project.getFile(expectedPath).exists();
1715+ }
1716+ return isAssociatedToTest;
1717+ }
1718+
1719+ /**
1720+ * Returns the relative path (from the project) that indicates where should be located the junit test of
1721+ * the given scenario.
1722+ *
1723+ * @param project
1724+ * the project helding the scenario
1725+ * @param scenario
1726+ * the scenario to query
1727+ * @return the relative path (from the project) that indicates where should be located the junit test of
1728+ * the given scenario
1729+ */
1730+ public static String getExpectedPath(IProject project, Scenario scenario) {
1731+ if (project.exists()) {
1732+ return "src/" + project.getName().replace(".", "/") + "/scenarios/"
1733+ + scenario.getName().trim().replace(" ", "_") + "Test.java";
1734+ }
1735+ return null;
1736+ }
1737+
1738+ /**
1739+ * Extracts the project name from the given element {@link URI}.
1740+ *
1741+ * @param elementURI
1742+ * the element {@link URI}
1743+ * @return the project name from the given element {@link URI}
1744+ */
1745+ public static String getProjectName(URI elementURI) {
1746+ return elementURI.toString().replace("platform:/resource/", "").replace("intent:/", "").split("/")[0];
1747+ }
1748+}
1749diff --git a/tests/org.eclipse.emf.eef.tests.nonreg.junit/.project b/tests/org.eclipse.emf.eef.tests.nonreg.junit/.project
1750index f56548a..54d5de5 100644
1751--- a/tests/org.eclipse.emf.eef.tests.nonreg.junit/.project
1752+++ b/tests/org.eclipse.emf.eef.tests.nonreg.junit/.project
1753@@ -1,28 +1,34 @@
1754-<?xml version="1.0" encoding="UTF-8"?>
1755-<projectDescription>
1756- <name>org.eclipse.emf.eef.tests.nonreg.junit</name>
1757- <comment></comment>
1758- <projects>
1759- </projects>
1760- <buildSpec>
1761- <buildCommand>
1762- <name>org.eclipse.jdt.core.javabuilder</name>
1763- <arguments>
1764- </arguments>
1765- </buildCommand>
1766- <buildCommand>
1767- <name>org.eclipse.pde.ManifestBuilder</name>
1768- <arguments>
1769- </arguments>
1770- </buildCommand>
1771- <buildCommand>
1772- <name>org.eclipse.pde.SchemaBuilder</name>
1773- <arguments>
1774- </arguments>
1775- </buildCommand>
1776- </buildSpec>
1777- <natures>
1778- <nature>org.eclipse.jdt.core.javanature</nature>
1779- <nature>org.eclipse.pde.PluginNature</nature>
1780- </natures>
1781-</projectDescription>
1782+<?xml version="1.0" encoding="UTF-8"?>
1783+<projectDescription>
1784+ <name>org.eclipse.emf.eef.tests.nonreg.junit</name>
1785+ <comment></comment>
1786+ <projects>
1787+ </projects>
1788+ <buildSpec>
1789+ <buildCommand>
1790+ <name>org.eclipse.jdt.core.javabuilder</name>
1791+ <arguments>
1792+ </arguments>
1793+ </buildCommand>
1794+ <buildCommand>
1795+ <name>org.eclipse.pde.ManifestBuilder</name>
1796+ <arguments>
1797+ </arguments>
1798+ </buildCommand>
1799+ <buildCommand>
1800+ <name>org.eclipse.pde.SchemaBuilder</name>
1801+ <arguments>
1802+ </arguments>
1803+ </buildCommand>
1804+ <buildCommand>
1805+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
1806+ <arguments>
1807+ </arguments>
1808+ </buildCommand>
1809+ </buildSpec>
1810+ <natures>
1811+ <nature>org.eclipse.jdt.core.javanature</nature>
1812+ <nature>org.eclipse.pde.PluginNature</nature>
1813+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
1814+ </natures>
1815+</projectDescription>
1816diff --git a/tests/org.eclipse.emf.eef.tests.nonreg.junit/src-mbot/org/eclipse/emf/eef/tests/nonreg/idoc/ComposedMBotAddAdvTableCompoOnAbstractRef.java b/tests/org.eclipse.emf.eef.tests.nonreg.junit/src-mbot/org/eclipse/emf/eef/tests/nonreg/idoc/ComposedMBotAddAdvTableCompoOnAbstractRef.java
1817new file mode 100644
1818index 0000000..d5e14d9
1819--- /dev/null
1820+++ b/tests/org.eclipse.emf.eef.tests.nonreg.junit/src-mbot/org/eclipse/emf/eef/tests/nonreg/idoc/ComposedMBotAddAdvTableCompoOnAbstractRef.java
1821@@ -0,0 +1,24 @@
1822+/*******************************************************************************
1823+ * Copyright (c) 2011, 2012 Obeo.
1824+ * All rights reserved. This program and the accompanying materials
1825+ * are made available under the terms of the Eclipse Public License v1.0
1826+ * which accompanies this distribution, and is available at
1827+ * http://www.eclipse.org/legal/epl-v10.html
1828+ *
1829+ * Contributors:
1830+ * Obeo - initial API and implementation
1831+ *******************************************************************************/
1832+package org.eclipse.emf.eef.tests.nonreg.idoc;
1833+
1834+/**
1835+ * @author arichard
1836+ */
1837+public class ComposedMBotAddAdvTableCompoOnAbstractRef extends org.eclipse.emf.eef.modelingBot.testcase.AbstractComposedModelingBotTestCase {
1838+
1839+ public void testModelingBot() throws Exception {
1840+ bot.runModelingBot("intent:/org.eclipse.emf.eef.scenario.idoc/scenario1.modelingbot");
1841+ }
1842+
1843+
1844+
1845+}