Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Charles David2018-02-23 10:34:44 +0000
committerStephane Begaudeau2018-03-14 07:51:13 +0000
commitfc2386caf5c8954a146b6cc0917be2ac08c78621 (patch)
tree741cbd01a77514ece997081ad71bbbd96e3f69ad
parentf576295650cb2736dd45f8a1a330251d72cf22b6 (diff)
downloadorg.eclipse.sirius-fc2386caf5c8954a146b6cc0917be2ac08c78621.tar.gz
org.eclipse.sirius-fc2386caf5c8954a146b6cc0917be2ac08c78621.tar.xz
org.eclipse.sirius-fc2386caf5c8954a146b6cc0917be2ac08c78621.zip
[DRAFT 509735] Add initial workflow definition metamodel
Bug: 509735 Change-Id: Ia8fbd16993d7e5cdae32d35dbebb2518de019687 Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
-rw-r--r--packaging/org.eclipse.sirius.parent/pom.xml4
-rw-r--r--packaging/org.eclipse.sirius.workflow-feature/.project11
-rw-r--r--packaging/org.eclipse.sirius.workflow-feature/build.properties13
-rw-r--r--packaging/org.eclipse.sirius.workflow-feature/epl-v10.html328
-rw-r--r--packaging/org.eclipse.sirius.workflow-feature/feature.properties21
-rw-r--r--packaging/org.eclipse.sirius.workflow-feature/feature.xml36
-rw-r--r--packaging/org.eclipse.sirius.workflow-feature/pom.xml65
-rw-r--r--plugins/org.eclipse.sirius.editor.properties/src/org/eclipse/sirius/editor/properties/tools/internal/menu/PropertiesMenuBuilder.java2
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.checkstyle13
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.classpath8
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.project28
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.settings/fr.obeo.baseliner.prefs2
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.core.runtime.prefs3
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.jdt.core.prefs353
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.jdt.ui.prefs62
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.ltk.core.refactoring.prefs2
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.pde.prefs32
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/META-INF/MANIFEST.MF33
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/about.html27
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/build.properties23
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/help/contexts.xml47
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/model/customize.properties22
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/model/generate-advance-editor-properties.chain14
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/plugin.properties13
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/plugin.xml96
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/pom.xml26
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/activitydescription/ActivityDescriptionImagePathFilter.java43
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/activitydescription/ActivityDescriptionLabelExpressionFilter.java43
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionDescriptionExpressionFilter.java43
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionImagePathFilter.java43
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionTitleExpressionFilter.java43
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionDescriptionExpressionFilter.java43
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionImagePathFilter.java43
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionTitleExpressionFilter.java43
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/activitydescription/ActivityDescriptionImagePathPropertySection.java104
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/activitydescription/ActivityDescriptionLabelExpressionPropertySection.java117
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionDescriptionExpressionPropertySection.java117
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionImagePathPropertySection.java104
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionTitleExpressionPropertySection.java117
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionDescriptionExpressionPropertySection.java117
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionImagePathPropertySection.java104
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionTitleExpressionPropertySection.java117
-rw-r--r--plugins/org.eclipse.sirius.editor.workflow/src/org/eclipse/sirius/editor/workflow/Activator.java20
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.checkstyle13
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.classpath7
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.project28
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.settings/fr.obeo.baseliner.prefs2
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.core.runtime.prefs3
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.jdt.core.prefs354
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.jdt.ui.prefs62
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.ltk.core.refactoring.prefs2
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.pde.prefs32
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/META-INF/MANIFEST.MF21
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/about.html27
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/build.properties22
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/ActivityDescription.gifbin0 -> 361 bytes
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/PageDescription.gifbin0 -> 110 bytes
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/SectionDescription.gifbin0 -> 358 bytes
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/WorkflowDescription.gifbin0 -> 218 bytes
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/plugin.properties44
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/plugin.xml38
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/pom.xml25
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/edit/WorkflowEditPlugin.java89
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/ActivityDescriptionItemProvider.java206
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/PageDescriptionItemProvider.java221
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/SectionDescriptionItemProvider.java221
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/WorkflowDescriptionItemProvider.java226
-rw-r--r--plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/WorkflowItemProviderAdapterFactory.java420
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.checkstyle13
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.classpath7
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.project28
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.settings/fr.obeo.baseliner.prefs2
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.core.runtime.prefs3
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.jdt.core.prefs354
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.jdt.ui.prefs62
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.ltk.core.refactoring.prefs2
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.pde.prefs32
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/META-INF/MANIFEST.MF22
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/about.html27
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/build.properties22
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/model/workflow.ecore35
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/model/workflow.genmodel37
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/plugin.properties13
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/plugin.xml26
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/pom.xml25
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/ActivityDescription.java117
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/PageDescription.java134
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/SectionDescription.java135
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowDescription.java50
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowFactory.java71
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowPackage.java679
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/ActivityDescriptionImpl.java446
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/PageDescriptionImpl.java441
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/SectionDescriptionImpl.java442
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowDescriptionImpl.java403
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowFactoryImpl.java144
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowPackageImpl.java428
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/util/WorkflowAdapterFactory.java238
-rw-r--r--plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/util/WorkflowSwitch.java273
102 files changed, 9329 insertions, 1 deletions
diff --git a/packaging/org.eclipse.sirius.parent/pom.xml b/packaging/org.eclipse.sirius.parent/pom.xml
index ed1b43eb25..255f6f53b7 100644
--- a/packaging/org.eclipse.sirius.parent/pom.xml
+++ b/packaging/org.eclipse.sirius.parent/pom.xml
@@ -348,6 +348,8 @@
<module>../../plugins/org.eclipse.sirius.synchronizer</module>
<module>../../plugins/org.eclipse.sirius.table</module>
<module>../../plugins/org.eclipse.sirius.tree</module>
+ <module>../../plugins/org.eclipse.sirius.workflow.model</module>
+ <module>../../plugins/org.eclipse.sirius.workflow.edit</module>
<!-- features -->
<module>../../packaging/org.eclipse.sirius.runtime</module>
@@ -393,6 +395,7 @@
<module>../../plugins/org.eclipse.sirius.editor.sequence</module>
<module>../../plugins/org.eclipse.sirius.editor.table</module>
<module>../../plugins/org.eclipse.sirius.editor.tree</module>
+ <module>../../plugins/org.eclipse.sirius.editor.workflow</module>
<module>../../plugins/org.eclipse.sirius.editor</module>
<module>../../plugins/org.eclipse.sirius.eef.adapters</module>
<module>../../plugins/org.eclipse.sirius.interpreter</module>
@@ -453,6 +456,7 @@
<module>../../packaging/org.eclipse.sirius.properties.feature</module>
<module>../../packaging/org.eclipse.sirius.specifier.properties.feature</module>
<module>../../packaging/org.eclipse.sirius.samples.properties.feature</module>
+ <module>../../packaging/org.eclipse.sirius.workflow-feature</module>
<module>../../packaging/org.eclipse.sirius.diagram.elk.feature</module>
<module>../../packaging/org.eclipse.sirius.server.feature</module>
diff --git a/packaging/org.eclipse.sirius.workflow-feature/.project b/packaging/org.eclipse.sirius.workflow-feature/.project
new file mode 100644
index 0000000000..4b51ad2aa4
--- /dev/null
+++ b/packaging/org.eclipse.sirius.workflow-feature/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.sirius.workflow.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/packaging/org.eclipse.sirius.workflow-feature/build.properties b/packaging/org.eclipse.sirius.workflow-feature/build.properties
new file mode 100644
index 0000000000..25f93418dc
--- /dev/null
+++ b/packaging/org.eclipse.sirius.workflow-feature/build.properties
@@ -0,0 +1,13 @@
+# ====================================================================
+# Copyright (c) 2018 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+bin.includes = feature.xml,\
+ feature.properties,\
+ epl-v10.html
diff --git a/packaging/org.eclipse.sirius.workflow-feature/epl-v10.html b/packaging/org.eclipse.sirius.workflow-feature/epl-v10.html
new file mode 100644
index 0000000000..ed4b196655
--- /dev/null
+++ b/packaging/org.eclipse.sirius.workflow-feature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/packaging/org.eclipse.sirius.workflow-feature/feature.properties b/packaging/org.eclipse.sirius.workflow-feature/feature.properties
new file mode 100644
index 0000000000..628102bdad
--- /dev/null
+++ b/packaging/org.eclipse.sirius.workflow-feature/feature.properties
@@ -0,0 +1,21 @@
+# ====================================================================
+# Copyright (c) 2018 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+featureName = Sirius Support for Modeling Workflows
+providerName = Eclipse Modeling Project
+copyright=\
+Copyright (c) 2018 Obeo and others.\n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+Contributors:\n\
+ Obeo - initial API and implementation\n
diff --git a/packaging/org.eclipse.sirius.workflow-feature/feature.xml b/packaging/org.eclipse.sirius.workflow-feature/feature.xml
new file mode 100644
index 0000000000..16815992b8
--- /dev/null
+++ b/packaging/org.eclipse.sirius.workflow-feature/feature.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Obeo
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Obeo - Initial API and implementation
+-->
+<feature
+ id="org.eclipse.sirius.workflow.feature"
+ label="%featureName"
+ version="6.0.0.qualifier"
+ provider-name="%providerName"
+ license-feature="org.eclipse.license"
+ license-feature-version="0.0.0">
+
+ <description url="http://www.eclipse.org/sirius">
+ Sirius support for modeling workflows
+ </description>
+
+ <copyright>
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <plugin id="org.eclipse.sirius.editor.workflow" version="0.0.0" />
+ <plugin id="org.eclipse.sirius.workflow.edit" version="0.0.0" />
+ <plugin id="org.eclipse.sirius.workflow.model" version="0.0.0" />
+
+</feature>
diff --git a/packaging/org.eclipse.sirius.workflow-feature/pom.xml b/packaging/org.eclipse.sirius.workflow-feature/pom.xml
new file mode 100644
index 0000000000..ccb2801b64
--- /dev/null
+++ b/packaging/org.eclipse.sirius.workflow-feature/pom.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 Obeo
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Obeo - Initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.sirius</groupId>
+ <artifactId>sirius-parent</artifactId>
+ <version>6.0.0-SNAPSHOT</version>
+ <relativePath>../../packaging/org.eclipse.sirius.parent</relativePath>
+ </parent>
+
+ <properties>
+ <!-- Skip feature in Sonar analysis -->
+ <sonar.skip>true</sonar.skip>
+ </properties>
+
+ <artifactId>org.eclipse.sirius.workflow.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-source-feature-plugin</artifactId>
+ <version>${tycho-extras-version}</version>
+ <executions>
+ <execution>
+ <id>source-feature</id>
+ <phase>package</phase>
+ <goals>
+ <goal>source-feature</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>attached-p2-metadata</id>
+ <phase>package</phase>
+ <goals>
+ <goal>p2-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/plugins/org.eclipse.sirius.editor.properties/src/org/eclipse/sirius/editor/properties/tools/internal/menu/PropertiesMenuBuilder.java b/plugins/org.eclipse.sirius.editor.properties/src/org/eclipse/sirius/editor/properties/tools/internal/menu/PropertiesMenuBuilder.java
index e17f0e3a16..de1c21c8f9 100644
--- a/plugins/org.eclipse.sirius.editor.properties/src/org/eclipse/sirius/editor/properties/tools/internal/menu/PropertiesMenuBuilder.java
+++ b/plugins/org.eclipse.sirius.editor.properties/src/org/eclipse/sirius/editor/properties/tools/internal/menu/PropertiesMenuBuilder.java
@@ -64,7 +64,7 @@ public class PropertiesMenuBuilder extends AbstractTypeRestrictingMenuBuilder {
this.advancedChildActions = new ArrayList<>();
Optional<CommandParameter> optionalNewPropertyViewCommandParameter = newChildDescriptors.stream().filter(CommandParameter.class::isInstance).map(CommandParameter.class::cast)
- .filter(parameter -> DescriptionPackage.Literals.GROUP__EXTENSIONS.equals(parameter.getEStructuralFeature())).findFirst();
+ .filter(parameter -> DescriptionPackage.Literals.GROUP__EXTENSIONS.equals(parameter.getEStructuralFeature()) && parameter.getEValue() instanceof ViewExtensionDescription).findFirst();
if (selection instanceof IStructuredSelection && optionalNewPropertyViewCommandParameter.isPresent()) {
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.checkstyle b/plugins/org.eclipse.sirius.editor.workflow/.checkstyle
new file mode 100644
index 0000000000..3c756ff819
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+ <local-check-config name="Sirius Checks" location="/org.eclipse.sirius.settings/CheckstyleConfiguration.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="all" enabled="true" check-config-name="Sirius Checks" local="true">
+ <file-match-pattern match-pattern="." include-pattern="true"/>
+ </fileset>
+ <filter name="FilesFromPackage" enabled="true">
+ <filter-data value="src-gen"/>
+ </filter>
+</fileset-config>
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.classpath b/plugins/org.eclipse.sirius.editor.workflow/.classpath
new file mode 100644
index 0000000000..50aae142c5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.project b/plugins/org.eclipse.sirius.editor.workflow/.project
new file mode 100644
index 0000000000..8b8a35ec28
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.sirius.editor.workflow</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.settings/fr.obeo.baseliner.prefs b/plugins/org.eclipse.sirius.editor.workflow/.settings/fr.obeo.baseliner.prefs
new file mode 100644
index 0000000000..edbf92725a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.settings/fr.obeo.baseliner.prefs
@@ -0,0 +1,2 @@
+baselineSource=platform\:/resource/org.eclipse.sirius.targets/baseline.target
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..96b10a7985
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Tue May 10 09:11:52 CEST 2011
+eclipse.preferences.version=1
+encoding/<project>=US-ASCII
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.core.runtime.prefs b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000000..0baebd940f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,3 @@
+#Tue May 10 09:11:52 CEST 2011
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..311d038388
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,353 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL,NORMAL,NORMAL,NORMAL,NORMAL,HIGH
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,TODOCBR,TODOMCH,TODOYMO,OPTIMISATION_POSSIBLE,TODONEWMM
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=200
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..f903dbceb5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,62 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=true
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_Sirius
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Sirius
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..b196c64a34
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..740eeeb99a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=0
+compilers.p.build=0
+compilers.p.build.bin.includes=0
+compilers.p.build.encodings=0
+compilers.p.build.java.compiler=0
+compilers.p.build.java.compliance=0
+compilers.p.build.missing.output=0
+compilers.p.build.output.library=0
+compilers.p.build.source.library=0
+compilers.p.build.src.includes=0
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=0
+compilers.p.missing-packages=0
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=0
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=1
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=0
+compilers.p.unknown-resource=0
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.sirius.editor.workflow/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.editor.workflow/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..36a64ecabf
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/META-INF/MANIFEST.MF
@@ -0,0 +1,33 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.sirius.editor.workflow;singleton:=true
+Bundle-Version: 6.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Vendor: %providerName
+Bundle-Activator: org.eclipse.sirius.editor.workflow.Activator
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
+ org.eclipse.emf.edit.ui;bundle-version="2.3.1",
+ org.eclipse.sirius.common;bundle-version="2.0.0",
+ org.eclipse.sirius.common.ui;bundle-version="2.0.0",
+ org.eclipse.sirius.diagram;bundle-version="2.0.0",
+ org.eclipse.sirius.diagram.ui;bundle-version="2.0.0",
+ org.eclipse.sirius.editor;bundle-version="2.0.0",
+ org.eclipse.ui.ide;bundle-version="3.5.200",
+ org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.300",
+ org.eclipse.ui.workbench.texteditor;bundle-version="3.8.0",
+ org.eclipse.sirius.workflow.model;bundle-version="6.0.0",
+ org.eclipse.sirius.ext.swt;bundle-version="6.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Automatic-Module-Name: org.eclipse.sirius.editor.workflow
+Export-Package: org.eclipse.sirius.editor.workflow,
+ org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.activitydescription,
+ org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.pagedescription,
+ org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.sectiondescription,
+ org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.activitydescription,
+ org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.pagedescription,
+ org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.sectiondescription
diff --git a/plugins/org.eclipse.sirius.editor.workflow/about.html b/plugins/org.eclipse.sirius.editor.workflow/about.html
new file mode 100644
index 0000000000..420ad0f930
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/about.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/plugins/org.eclipse.sirius.editor.workflow/build.properties b/plugins/org.eclipse.sirius.editor.workflow/build.properties
new file mode 100644
index 0000000000..1a73669159
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/build.properties
@@ -0,0 +1,23 @@
+# ====================================================================
+# Copyright (c) 2018 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+
+source.. = src/,\
+ src-gen/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties,\
+ help/,\
+ about.html,\
+ model/
+javacDefaultEncoding.. = US-ASCII
+javacProjectSettings = true
diff --git a/plugins/org.eclipse.sirius.editor.workflow/help/contexts.xml b/plugins/org.eclipse.sirius.editor.workflow/help/contexts.xml
new file mode 100644
index 0000000000..bcebaba307
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/help/contexts.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<contexts>
+ <context id="WorkflowDescription">
+ <description>
+
+
+
+ <!-- Start of user code WorkflowDescription description -->
+
+ <!-- End of user code WorkflowDescription description -->
+
+ </description>
+ </context>
+ <context id="PageDescription">
+ <description>
+
+
+
+ <!-- Start of user code PageDescription description -->
+
+ <!-- End of user code PageDescription description -->
+
+ </description>
+ </context>
+ <context id="SectionDescription">
+ <description>
+
+
+
+ <!-- Start of user code SectionDescription description -->
+
+ <!-- End of user code SectionDescription description -->
+
+ </description>
+ </context>
+ <context id="ActivityDescription">
+ <description>
+
+
+
+ <!-- Start of user code ActivityDescription description -->
+
+ <!-- End of user code ActivityDescription description -->
+
+ </description>
+ </context>
+</contexts> \ No newline at end of file
diff --git a/plugins/org.eclipse.sirius.editor.workflow/model/customize.properties b/plugins/org.eclipse.sirius.editor.workflow/model/customize.properties
new file mode 100644
index 0000000000..ac8cd228c8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/model/customize.properties
@@ -0,0 +1,22 @@
+# ====================================================================
+# Copyright (c) 2018 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+
+generate_wizards = false
+generate_manifest = false
+generate_extra_editors = false
+
+editor_name = SiriusEditor
+main_package_name = org.eclipse.sirius.editor
+ignore_packages = tree
+
+model_name=Viewpoint
+provider_name = Eclipse Modeling Project
+contributorId = org.eclipse.sirius.editor.editorPlugin.SiriusEditorContributor
diff --git a/plugins/org.eclipse.sirius.editor.workflow/model/generate-advance-editor-properties.chain b/plugins/org.eclipse.sirius.editor.workflow/model/generate-advance-editor-properties.chain
new file mode 100644
index 0000000000..8b4512d135
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/model/generate-advance-editor-properties.chain
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ASCII"?>
+<chain:Chain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:chain="http://www.obeo.fr/acceleo/chain">
+ <repository>
+ <members documentation="R&#xe9;f&#xe9;rentiel pour l'appel de sous-cha&#xee;ne">
+ <files xsi:type="chain:Model" path="/org.eclipse.sirius.workflow.model/model/workflow.genmodel"/>
+ <files xsi:type="chain:Log" path="/org.eclipse.sirius.editor.workflow/acceleo.log"/>
+ </members>
+ </repository>
+ <actions>
+ <actions xsi:type="chain:ChainCall" documentation="" chainPath="/fr.obeo.pim.ecore.gen.editor/generatePropertySections.chain" argumentsFiles="//@repository/@members.0/@files.0 //@repository/@members.0/@files.1">
+ <argumentsPatterns>org.eclipse.sirius.editor.workflow</argumentsPatterns>
+ </actions>
+ </actions>
+</chain:Chain>
diff --git a/plugins/org.eclipse.sirius.editor.workflow/plugin.properties b/plugins/org.eclipse.sirius.editor.workflow/plugin.properties
new file mode 100644
index 0000000000..918b4d22f2
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/plugin.properties
@@ -0,0 +1,13 @@
+# ====================================================================
+# Copyright (c) 2018 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+
+pluginName = Sirius Workflow Specification Editor
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.sirius.editor.workflow/plugin.xml b/plugins/org.eclipse.sirius.editor.workflow/plugin.xml
new file mode 100644
index 0000000000..57ab283cb7
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/plugin.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<!-- Start of user code plugin.xml start specifics -->
+<!--
+ Copyright (c) 2018 Obeo.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ Contributors:
+ Obeo - initial API and implementation
+
+-->
+
+<plugin>
+ <!-- End of user code plugin.xml start specifics -->
+
+ <extension point="org.eclipse.ui.views.properties.tabbed.propertySections">
+ <propertySections contributorId="org.eclipse.sirius.editor.editorPlugin.SiriusEditorContributor">
+ <propertySection
+ class="org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.activitydescription.ActivityDescriptionImagePathPropertySection"
+ id="workflow.section.activityDescription.ImagePath"
+ filter="org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.activitydescription.ActivityDescriptionImagePathFilter"
+ afterSection="description.section.documentedElement.Documentation"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.workflow.ActivityDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.activitydescription.ActivityDescriptionLabelExpressionPropertySection"
+ id="workflow.section.activityDescription.LabelExpression"
+ filter="org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.activitydescription.ActivityDescriptionLabelExpressionFilter"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.workflow.ActivityDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.sectiondescription.SectionDescriptionImagePathPropertySection"
+ id="workflow.section.sectionDescription.ImagePath"
+ filter="org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.sectiondescription.SectionDescriptionImagePathFilter"
+ afterSection="description.section.documentedElement.Documentation"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.workflow.SectionDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.sectiondescription.SectionDescriptionDescriptionExpressionPropertySection"
+ id="workflow.section.sectionDescription.DescriptionExpression"
+ filter="org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.sectiondescription.SectionDescriptionDescriptionExpressionFilter"
+ afterSection="workflow.section.sectionDescription.TitleExpression"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.workflow.SectionDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.sectiondescription.SectionDescriptionTitleExpressionPropertySection"
+ id="workflow.section.sectionDescription.TitleExpression"
+ filter="org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.sectiondescription.SectionDescriptionTitleExpressionFilter"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.workflow.SectionDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.pagedescription.PageDescriptionImagePathPropertySection"
+ id="workflow.section.pageDescription.ImagePath"
+ filter="org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.pagedescription.PageDescriptionImagePathFilter"
+ afterSection="description.section.documentedElement.Documentation"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.workflow.PageDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.pagedescription.PageDescriptionDescriptionExpressionPropertySection"
+ id="workflow.section.pageDescription.DescriptionExpression"
+ filter="org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.pagedescription.PageDescriptionDescriptionExpressionFilter"
+ afterSection="workflow.section.pageDescription.TitleExpression"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.workflow.PageDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.pagedescription.PageDescriptionTitleExpressionPropertySection"
+ id="workflow.section.pageDescription.TitleExpression"
+ filter="org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.pagedescription.PageDescriptionTitleExpressionFilter"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.workflow.PageDescription"/>
+ </propertySection>
+ <!-- Start of user code propertySections of org.eclipse.sirius.editor.editorPlugin.SiriusEditorContributor -->
+
+ <!-- End of user code propertySections of org.eclipse.sirius.editor.editorPlugin.SiriusEditorContributor -->
+ </propertySections>
+ </extension>
+
+<!-- Start of user code plugin.xml end specifics -->
+
+ <extension point="org.eclipse.help.contexts">
+ <contexts file="help/contexts.xml" plugin="org.eclipse.sirius.workflow">
+ </contexts>
+ </extension>
+
+</plugin>
+<!-- End of user code plugin.xml end specifics --> \ No newline at end of file
diff --git a/plugins/org.eclipse.sirius.editor.workflow/pom.xml b/plugins/org.eclipse.sirius.editor.workflow/pom.xml
new file mode 100644
index 0000000000..9d7d80f0bb
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2018 Obeo
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Obeo - Initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.sirius</groupId>
+ <artifactId>sirius-parent</artifactId>
+ <version>6.0.0-SNAPSHOT</version>
+ <relativePath>../../packaging/org.eclipse.sirius.parent</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.sirius.editor.workflow</artifactId>
+ <version>6.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/activitydescription/ActivityDescriptionImagePathFilter.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/activitydescription/ActivityDescriptionImagePathFilter.java
new file mode 100644
index 0000000000..d81479fdf3
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/activitydescription/ActivityDescriptionImagePathFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.activitydescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the imagePath property section.
+ */
+public class ActivityDescriptionImagePathFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return WorkflowPackage.eINSTANCE.getActivityDescription_ImagePath();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.workflow.ActivityDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/activitydescription/ActivityDescriptionLabelExpressionFilter.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/activitydescription/ActivityDescriptionLabelExpressionFilter.java
new file mode 100644
index 0000000000..f52cee5807
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/activitydescription/ActivityDescriptionLabelExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.activitydescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the labelExpression property section.
+ */
+public class ActivityDescriptionLabelExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return WorkflowPackage.eINSTANCE.getActivityDescription_LabelExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.workflow.ActivityDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionDescriptionExpressionFilter.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionDescriptionExpressionFilter.java
new file mode 100644
index 0000000000..11a64c851b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionDescriptionExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.pagedescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the descriptionExpression property section.
+ */
+public class PageDescriptionDescriptionExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return WorkflowPackage.eINSTANCE.getPageDescription_DescriptionExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.workflow.PageDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionImagePathFilter.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionImagePathFilter.java
new file mode 100644
index 0000000000..6a8cd5d5d7
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionImagePathFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.pagedescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the imagePath property section.
+ */
+public class PageDescriptionImagePathFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return WorkflowPackage.eINSTANCE.getPageDescription_ImagePath();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.workflow.PageDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionTitleExpressionFilter.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionTitleExpressionFilter.java
new file mode 100644
index 0000000000..24c9110b1f
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/pagedescription/PageDescriptionTitleExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.pagedescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the titleExpression property section.
+ */
+public class PageDescriptionTitleExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return WorkflowPackage.eINSTANCE.getPageDescription_TitleExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.workflow.PageDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionDescriptionExpressionFilter.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionDescriptionExpressionFilter.java
new file mode 100644
index 0000000000..39ce3b5beb
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionDescriptionExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.sectiondescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the descriptionExpression property section.
+ */
+public class SectionDescriptionDescriptionExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return WorkflowPackage.eINSTANCE.getSectionDescription_DescriptionExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.workflow.SectionDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionImagePathFilter.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionImagePathFilter.java
new file mode 100644
index 0000000000..891de9c43b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionImagePathFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.sectiondescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the imagePath property section.
+ */
+public class SectionDescriptionImagePathFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return WorkflowPackage.eINSTANCE.getSectionDescription_ImagePath();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.workflow.SectionDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionTitleExpressionFilter.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionTitleExpressionFilter.java
new file mode 100644
index 0000000000..5142017543
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/filters/workflow/sectiondescription/SectionDescriptionTitleExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.filters.workflow.sectiondescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the titleExpression property section.
+ */
+public class SectionDescriptionTitleExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return WorkflowPackage.eINSTANCE.getSectionDescription_TitleExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.workflow.SectionDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/activitydescription/ActivityDescriptionImagePathPropertySection.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/activitydescription/ActivityDescriptionImagePathPropertySection.java
new file mode 100644
index 0000000000..d4954029de
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/activitydescription/ActivityDescriptionImagePathPropertySection.java
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.activitydescription;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.internal.presentation.WorkspaceAndPluginsResourceDialog;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the imagePath property of a ActivityDescription object.
+ */
+public class ActivityDescriptionImagePathPropertySection extends AbstractTextWithButtonPropertySection {
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "ImagePath"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + ":"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return WorkflowPackage.eINSTANCE.getActivityDescription_ImagePath();
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ String imagePath = WorkspaceAndPluginsResourceDialog.openDialogForImages(composite.getShell());
+ if (imagePath != null) {
+ text.setText(imagePath);
+ handleTextModified();
+ }
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/activitydescription/ActivityDescriptionLabelExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/activitydescription/ActivityDescriptionLabelExpressionPropertySection.java
new file mode 100644
index 0000000000..315ec8ce41
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/activitydescription/ActivityDescriptionLabelExpressionPropertySection.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.activitydescription;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.internal.navigation.NavigationByKeyListener;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider;
+import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog;
+import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the labelExpression property of a ActivityDescription object.
+ */
+public class ActivityDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "LabelExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return WorkflowPackage.eINSTANCE.getActivityDescription_LabelExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+ /*
+ * We set the color as it's a InterpretedExpression
+ */
+ text.setBackground(SiriusEditor.getColorRegistry().get("yellow"));
+
+ nameLabel.setFont(SiriusEditor.getFontRegistry().get("required"));
+
+ TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text);
+
+ text.addKeyListener(new NavigationByKeyListener(this, text, eObject));
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ActivityDescriptionLabelExpressionPropertySection.this, text.getText());
+ dialog.open();
+ text.setText(dialog.getResult());
+ handleTextModified();
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionDescriptionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionDescriptionExpressionPropertySection.java
new file mode 100644
index 0000000000..6d9146bd28
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionDescriptionExpressionPropertySection.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.pagedescription;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.internal.navigation.NavigationByKeyListener;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider;
+import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog;
+import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the descriptionExpression property of a PageDescription object.
+ */
+public class PageDescriptionDescriptionExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "DescriptionExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return WorkflowPackage.eINSTANCE.getPageDescription_DescriptionExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+ /*
+ * We set the color as it's a InterpretedExpression
+ */
+ text.setBackground(SiriusEditor.getColorRegistry().get("yellow"));
+
+ nameLabel.setFont(SiriusEditor.getFontRegistry().get("required"));
+
+ TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text);
+
+ text.addKeyListener(new NavigationByKeyListener(this, text, eObject));
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), PageDescriptionDescriptionExpressionPropertySection.this, text.getText());
+ dialog.open();
+ text.setText(dialog.getResult());
+ handleTextModified();
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionImagePathPropertySection.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionImagePathPropertySection.java
new file mode 100644
index 0000000000..ba1e8fba08
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionImagePathPropertySection.java
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.pagedescription;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.internal.presentation.WorkspaceAndPluginsResourceDialog;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the imagePath property of a PageDescription object.
+ */
+public class PageDescriptionImagePathPropertySection extends AbstractTextWithButtonPropertySection {
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "ImagePath"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + ":"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return WorkflowPackage.eINSTANCE.getPageDescription_ImagePath();
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ String imagePath = WorkspaceAndPluginsResourceDialog.openDialogForImages(composite.getShell());
+ if (imagePath != null) {
+ text.setText(imagePath);
+ handleTextModified();
+ }
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionTitleExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionTitleExpressionPropertySection.java
new file mode 100644
index 0000000000..0337ad5d44
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/pagedescription/PageDescriptionTitleExpressionPropertySection.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.pagedescription;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.internal.navigation.NavigationByKeyListener;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider;
+import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog;
+import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the titleExpression property of a PageDescription object.
+ */
+public class PageDescriptionTitleExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "TitleExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return WorkflowPackage.eINSTANCE.getPageDescription_TitleExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+ /*
+ * We set the color as it's a InterpretedExpression
+ */
+ text.setBackground(SiriusEditor.getColorRegistry().get("yellow"));
+
+ nameLabel.setFont(SiriusEditor.getFontRegistry().get("required"));
+
+ TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text);
+
+ text.addKeyListener(new NavigationByKeyListener(this, text, eObject));
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), PageDescriptionTitleExpressionPropertySection.this, text.getText());
+ dialog.open();
+ text.setText(dialog.getResult());
+ handleTextModified();
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionDescriptionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionDescriptionExpressionPropertySection.java
new file mode 100644
index 0000000000..6bf1793106
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionDescriptionExpressionPropertySection.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.sectiondescription;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.internal.navigation.NavigationByKeyListener;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider;
+import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog;
+import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the descriptionExpression property of a SectionDescription object.
+ */
+public class SectionDescriptionDescriptionExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "DescriptionExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return WorkflowPackage.eINSTANCE.getSectionDescription_DescriptionExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+ /*
+ * We set the color as it's a InterpretedExpression
+ */
+ text.setBackground(SiriusEditor.getColorRegistry().get("yellow"));
+
+ nameLabel.setFont(SiriusEditor.getFontRegistry().get("required"));
+
+ TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text);
+
+ text.addKeyListener(new NavigationByKeyListener(this, text, eObject));
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SectionDescriptionDescriptionExpressionPropertySection.this, text.getText());
+ dialog.open();
+ text.setText(dialog.getResult());
+ handleTextModified();
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionImagePathPropertySection.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionImagePathPropertySection.java
new file mode 100644
index 0000000000..c810381368
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionImagePathPropertySection.java
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.sectiondescription;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.internal.presentation.WorkspaceAndPluginsResourceDialog;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the imagePath property of a SectionDescription object.
+ */
+public class SectionDescriptionImagePathPropertySection extends AbstractTextWithButtonPropertySection {
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "ImagePath"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + ":"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return WorkflowPackage.eINSTANCE.getSectionDescription_ImagePath();
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ String imagePath = WorkspaceAndPluginsResourceDialog.openDialogForImages(composite.getShell());
+ if (imagePath != null) {
+ text.setText(imagePath);
+ handleTextModified();
+ }
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionTitleExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionTitleExpressionPropertySection.java
new file mode 100644
index 0000000000..4090ae4dba
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src-gen/org/eclipse/sirius/workflow/model/editor/properties/sections/workflow/sectiondescription/SectionDescriptionTitleExpressionPropertySection.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.workflow.model.editor.properties.sections.workflow.sectiondescription;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.internal.navigation.NavigationByKeyListener;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider;
+import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog;
+import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the titleExpression property of a SectionDescription object.
+ */
+public class SectionDescriptionTitleExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "TitleExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return WorkflowPackage.eINSTANCE.getSectionDescription_TitleExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.workflow.model.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+ /*
+ * We set the color as it's a InterpretedExpression
+ */
+ text.setBackground(SiriusEditor.getColorRegistry().get("yellow"));
+
+ nameLabel.setFont(SiriusEditor.getFontRegistry().get("required"));
+
+ TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text);
+
+ text.addKeyListener(new NavigationByKeyListener(this, text, eObject));
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SectionDescriptionTitleExpressionPropertySection.this, text.getText());
+ dialog.open();
+ text.setText(dialog.getResult());
+ handleTextModified();
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/plugins/org.eclipse.sirius.editor.workflow/src/org/eclipse/sirius/editor/workflow/Activator.java b/plugins/org.eclipse.sirius.editor.workflow/src/org/eclipse/sirius/editor/workflow/Activator.java
new file mode 100644
index 0000000000..ffd9a382ae
--- /dev/null
+++ b/plugins/org.eclipse.sirius.editor.workflow/src/org/eclipse/sirius/editor/workflow/Activator.java
@@ -0,0 +1,20 @@
+package org.eclipse.sirius.editor.workflow;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.checkstyle b/plugins/org.eclipse.sirius.workflow.edit/.checkstyle
new file mode 100644
index 0000000000..3c756ff819
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+ <local-check-config name="Sirius Checks" location="/org.eclipse.sirius.settings/CheckstyleConfiguration.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="all" enabled="true" check-config-name="Sirius Checks" local="true">
+ <file-match-pattern match-pattern="." include-pattern="true"/>
+ </fileset>
+ <filter name="FilesFromPackage" enabled="true">
+ <filter-data value="src-gen"/>
+ </filter>
+</fileset-config>
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.classpath b/plugins/org.eclipse.sirius.workflow.edit/.classpath
new file mode 100644
index 0000000000..03565ec5d9
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.project b/plugins/org.eclipse.sirius.workflow.edit/.project
new file mode 100644
index 0000000000..0c0aff30fd
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.sirius.workflow.edit</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.settings/fr.obeo.baseliner.prefs b/plugins/org.eclipse.sirius.workflow.edit/.settings/fr.obeo.baseliner.prefs
new file mode 100644
index 0000000000..edbf92725a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.settings/fr.obeo.baseliner.prefs
@@ -0,0 +1,2 @@
+baselineSource=platform\:/resource/org.eclipse.sirius.targets/baseline.target
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..9093a2c880
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Thu Jan 26 14:35:58 CET 2012
+eclipse.preferences.version=1
+encoding/<project>=US-ASCII
+encoding/analysis_templates=ISO-8859-1
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.core.runtime.prefs b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000000..a287fefdba
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,3 @@
+#Mon Sep 24 15:04:19 CEST 2007
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..97c066b909
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,354 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL,NORMAL,NORMAL,NORMAL,NORMAL,HIGH
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,TODOCBR,TODOMCH,TODOYMO,OPTIMISATION_POSSIBLE,TODONEWMM
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=200
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..f903dbceb5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,62 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=true
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_Sirius
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Sirius
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..b196c64a34
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c307a7b58e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=0
+compilers.p.build=0
+compilers.p.build.bin.includes=0
+compilers.p.build.encodings=0
+compilers.p.build.java.compiler=0
+compilers.p.build.java.compliance=0
+compilers.p.build.missing.output=0
+compilers.p.build.output.library=0
+compilers.p.build.source.library=0
+compilers.p.build.src.includes=0
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=0
+compilers.p.missing-packages=0
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=0
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=0
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=0
+compilers.p.unknown-resource=0
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.sirius.workflow.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.workflow.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..b1cf261521
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.sirius.workflow.edit;singleton:=true
+Bundle-Version: 6.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.sirius.workflow.edit.WorkflowEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.sirius.workflow.edit,
+ org.eclipse.sirius.workflow.provider
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0",
+ org.eclipse.sirius.workflow.model;bundle-version="6.0.0";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="2.12.0";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="2.12.0";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="2.9.0";visibility:=reexport,
+ org.eclipse.sirius;bundle-version="6.0.0";visibility:=reexport,
+ org.eclipse.sirius.ui;bundle-version="6.0.0";visibility:=reexport
+Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.sirius.workflow.edit/about.html b/plugins/org.eclipse.sirius.workflow.edit/about.html
new file mode 100644
index 0000000000..420ad0f930
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/about.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/plugins/org.eclipse.sirius.workflow.edit/build.properties b/plugins/org.eclipse.sirius.workflow.edit/build.properties
new file mode 100644
index 0000000000..aec82a9812
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/build.properties
@@ -0,0 +1,22 @@
+# Copyright (c) 2018 Obeo.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# Contributors:
+# Obeo - initial API and implementation
+#
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
+javacWarnings.. = none
+javacDefaultEncoding.. = US-ASCII
+javacProjectSettings = true
diff --git a/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/ActivityDescription.gif b/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/ActivityDescription.gif
new file mode 100644
index 0000000000..b394107797
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/ActivityDescription.gif
Binary files differ
diff --git a/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/PageDescription.gif b/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/PageDescription.gif
new file mode 100644
index 0000000000..6705148426
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/PageDescription.gif
Binary files differ
diff --git a/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/SectionDescription.gif b/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/SectionDescription.gif
new file mode 100644
index 0000000000..37aad784dd
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/SectionDescription.gif
Binary files differ
diff --git a/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/WorkflowDescription.gif b/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/WorkflowDescription.gif
new file mode 100644
index 0000000000..1ff8a8d3fd
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/icons/full/obj16/WorkflowDescription.gif
Binary files differ
diff --git a/plugins/org.eclipse.sirius.workflow.edit/plugin.properties b/plugins/org.eclipse.sirius.workflow.edit/plugin.properties
new file mode 100644
index 0000000000..71cce44be6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/plugin.properties
@@ -0,0 +1,44 @@
+# Copyright (c) 2018 Obeo.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# Contributors:
+# Obeo - initial API and implementation
+#
+
+pluginName = Sirius Workflow Edit Support
+providerName = Eclipse Modeling Project
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_WorkflowDescription_type = Workflow
+_UI_PageDescription_type = Page
+_UI_SectionDescription_type = Section
+_UI_ActivityDescription_type = Activity
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_WorkflowDescription_pages_feature = Pages
+_UI_PageDescription_titleExpression_feature = Title Expression
+_UI_PageDescription_imagePath_feature = Image Path
+_UI_PageDescription_descriptionExpression_feature = Description Expression
+_UI_PageDescription_sections_feature = Sections
+_UI_SectionDescription_titleExpression_feature = Title Expression
+_UI_SectionDescription_imagePath_feature = Image Path
+_UI_SectionDescription_descriptionExpression_feature = Description Expression
+_UI_SectionDescription_activities_feature = Activities
+_UI_ActivityDescription_labelExpression_feature = Label Expression
+_UI_ActivityDescription_imagePath_feature = Image Path
+_UI_ActivityDescription_operation_feature = Operation
+_UI_Unknown_feature = Unspecified
+
diff --git a/plugins/org.eclipse.sirius.workflow.edit/plugin.xml b/plugins/org.eclipse.sirius.workflow.edit/plugin.xml
new file mode 100644
index 0000000000..9354db6bb3
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/plugin.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2018 Obeo.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ Contributors:
+ Obeo - initial API and implementation
+
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated workflow -->
+ <factory
+ uri="http://www.eclipse.org/sirius/workflow/1.0.0"
+ class="org.eclipse.sirius.workflow.provider.WorkflowItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource
+ org.eclipse.emf.edit.provider.IItemStyledLabelProvider"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.childCreationExtenders">
+ <!-- @generated workflow -->
+ <extender
+ uri="http://www.eclipse.org/sirius/description/1.1.0"
+ class="org.eclipse.sirius.workflow.provider.WorkflowItemProviderAdapterFactory$DescriptionChildCreationExtender"/>
+ </extension>
+</plugin>
diff --git a/plugins/org.eclipse.sirius.workflow.edit/pom.xml b/plugins/org.eclipse.sirius.workflow.edit/pom.xml
new file mode 100644
index 0000000000..6f8ebd918c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/pom.xml
@@ -0,0 +1,25 @@
+<!--
+ Copyright (c) 2015, 2016 Obeo
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Obeo - Initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.sirius</groupId>
+ <artifactId>sirius-parent</artifactId>
+ <version>6.0.0-SNAPSHOT</version>
+ <relativePath>../../packaging/org.eclipse.sirius.parent</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.sirius.workflow.edit</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <version>6.0.0-SNAPSHOT</version>
+
+</project>
diff --git a/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/edit/WorkflowEditPlugin.java b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/edit/WorkflowEditPlugin.java
new file mode 100644
index 0000000000..c7dc8b4c66
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/edit/WorkflowEditPlugin.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.edit;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+import org.eclipse.sirius.viewpoint.provider.SiriusEditPlugin;
+
+/**
+ * This is the central singleton for the Workflow edit plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public final class WorkflowEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final WorkflowEditPlugin INSTANCE = new WorkflowEditPlugin();
+
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public WorkflowEditPlugin() {
+ super(new ResourceLocator[] { EcoreEditPlugin.INSTANCE, SiriusEditPlugin.INSTANCE, });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return WorkflowEditPlugin.plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return WorkflowEditPlugin.plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ WorkflowEditPlugin.plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/ActivityDescriptionItemProvider.java b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/ActivityDescriptionItemProvider.java
new file mode 100644
index 0000000000..d649bfa73b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/ActivityDescriptionItemProvider.java
@@ -0,0 +1,206 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemStyledLabelProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.StyledString;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.provider.IdentifiedElementItemProvider;
+import org.eclipse.sirius.viewpoint.description.tool.ToolFactory;
+import org.eclipse.sirius.workflow.ActivityDescription;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.sirius.workflow.ActivityDescription} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ActivityDescriptionItemProvider extends IdentifiedElementItemProvider implements IItemStyledLabelProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivityDescriptionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDocumentationPropertyDescriptor(object);
+ addLabelExpressionPropertyDescriptor(object);
+ addImagePathPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Documentation feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDocumentationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_DocumentedElement_documentation_feature"), //$NON-NLS-1$
+ getString("_UI_DocumentedElement_documentation_description"), //$NON-NLS-1$
+ DescriptionPackage.Literals.DOCUMENTED_ELEMENT__DOCUMENTATION, true, true, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, getString("_UI_DocumentationPropertyCategory"), //$NON-NLS-1$
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Label Expression feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addLabelExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ActivityDescription_labelExpression_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ActivityDescription_labelExpression_feature", "_UI_ActivityDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ WorkflowPackage.Literals.ACTIVITY_DESCRIPTION__LABEL_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Image Path feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addImagePathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_ActivityDescription_imagePath_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ActivityDescription_imagePath_feature", "_UI_ActivityDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ WorkflowPackage.Literals.ACTIVITY_DESCRIPTION__IMAGE_PATH, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(WorkflowPackage.Literals.ACTIVITY_DESCRIPTION__OPERATION);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ActivityDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ActivityDescription")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return ((StyledString) getStyledText(object)).getString();
+ }
+
+ /**
+ * This returns the label styled text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getStyledText(Object object) {
+ String label = ((ActivityDescription) object).getLabelExpression();
+ StyledString styledLabel = new StyledString();
+ if (label == null || label.length() == 0) {
+ styledLabel.append(getString("_UI_ActivityDescription_type"), StyledString.Style.QUALIFIER_STYLER); //$NON-NLS-1$
+ } else {
+ styledLabel.append(getString("_UI_ActivityDescription_type"), StyledString.Style.QUALIFIER_STYLER).append(" " + label); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ return styledLabel;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating
+ * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ActivityDescription.class)) {
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__DOCUMENTATION:
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__LABEL_EXPRESSION:
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__IMAGE_PATH:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created
+ * under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(WorkflowPackage.Literals.ACTIVITY_DESCRIPTION__OPERATION, ToolFactory.eINSTANCE.createInitialOperation()));
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/PageDescriptionItemProvider.java b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/PageDescriptionItemProvider.java
new file mode 100644
index 0000000000..c630f7a649
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/PageDescriptionItemProvider.java
@@ -0,0 +1,221 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemStyledLabelProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.StyledString;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.provider.IdentifiedElementItemProvider;
+import org.eclipse.sirius.workflow.PageDescription;
+import org.eclipse.sirius.workflow.WorkflowFactory;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.sirius.workflow.PageDescription} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PageDescriptionItemProvider extends IdentifiedElementItemProvider implements IItemStyledLabelProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PageDescriptionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDocumentationPropertyDescriptor(object);
+ addTitleExpressionPropertyDescriptor(object);
+ addImagePathPropertyDescriptor(object);
+ addDescriptionExpressionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Documentation feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDocumentationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_DocumentedElement_documentation_feature"), //$NON-NLS-1$
+ getString("_UI_DocumentedElement_documentation_description"), //$NON-NLS-1$
+ DescriptionPackage.Literals.DOCUMENTED_ELEMENT__DOCUMENTATION, true, true, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, getString("_UI_DocumentationPropertyCategory"), //$NON-NLS-1$
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Title Expression feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTitleExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_PageDescription_titleExpression_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_PageDescription_titleExpression_feature", "_UI_PageDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ WorkflowPackage.Literals.PAGE_DESCRIPTION__TITLE_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Image Path feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addImagePathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_PageDescription_imagePath_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_PageDescription_imagePath_feature", "_UI_PageDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ WorkflowPackage.Literals.PAGE_DESCRIPTION__IMAGE_PATH, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Description Expression feature. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected void addDescriptionExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_PageDescription_descriptionExpression_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_PageDescription_descriptionExpression_feature", "_UI_PageDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ WorkflowPackage.Literals.PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(WorkflowPackage.Literals.PAGE_DESCRIPTION__SECTIONS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns PageDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/PageDescription")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return ((StyledString) getStyledText(object)).getString();
+ }
+
+ /**
+ * This returns the label styled text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getStyledText(Object object) {
+ String label = ((PageDescription) object).getTitleExpression();
+ StyledString styledLabel = new StyledString();
+ if (label == null || label.length() == 0) {
+ styledLabel.append(getString("_UI_PageDescription_type"), StyledString.Style.QUALIFIER_STYLER); //$NON-NLS-1$
+ } else {
+ styledLabel.append(getString("_UI_PageDescription_type"), StyledString.Style.QUALIFIER_STYLER).append(" " + label); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ return styledLabel;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating
+ * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(PageDescription.class)) {
+ case WorkflowPackage.PAGE_DESCRIPTION__DOCUMENTATION:
+ case WorkflowPackage.PAGE_DESCRIPTION__TITLE_EXPRESSION:
+ case WorkflowPackage.PAGE_DESCRIPTION__IMAGE_PATH:
+ case WorkflowPackage.PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case WorkflowPackage.PAGE_DESCRIPTION__SECTIONS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created
+ * under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(WorkflowPackage.Literals.PAGE_DESCRIPTION__SECTIONS, WorkflowFactory.eINSTANCE.createSectionDescription()));
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/SectionDescriptionItemProvider.java b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/SectionDescriptionItemProvider.java
new file mode 100644
index 0000000000..8484a697db
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/SectionDescriptionItemProvider.java
@@ -0,0 +1,221 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemStyledLabelProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.StyledString;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.provider.IdentifiedElementItemProvider;
+import org.eclipse.sirius.workflow.SectionDescription;
+import org.eclipse.sirius.workflow.WorkflowFactory;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.sirius.workflow.SectionDescription} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SectionDescriptionItemProvider extends IdentifiedElementItemProvider implements IItemStyledLabelProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SectionDescriptionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDocumentationPropertyDescriptor(object);
+ addTitleExpressionPropertyDescriptor(object);
+ addImagePathPropertyDescriptor(object);
+ addDescriptionExpressionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Documentation feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDocumentationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_DocumentedElement_documentation_feature"), //$NON-NLS-1$
+ getString("_UI_DocumentedElement_documentation_description"), //$NON-NLS-1$
+ DescriptionPackage.Literals.DOCUMENTED_ELEMENT__DOCUMENTATION, true, true, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, getString("_UI_DocumentationPropertyCategory"), //$NON-NLS-1$
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Title Expression feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTitleExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_SectionDescription_titleExpression_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_SectionDescription_titleExpression_feature", "_UI_SectionDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ WorkflowPackage.Literals.SECTION_DESCRIPTION__TITLE_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Image Path feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addImagePathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_SectionDescription_imagePath_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_SectionDescription_imagePath_feature", "_UI_SectionDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ WorkflowPackage.Literals.SECTION_DESCRIPTION__IMAGE_PATH, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Description Expression feature. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected void addDescriptionExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_SectionDescription_descriptionExpression_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_SectionDescription_descriptionExpression_feature", "_UI_SectionDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ WorkflowPackage.Literals.SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(WorkflowPackage.Literals.SECTION_DESCRIPTION__ACTIVITIES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns SectionDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/SectionDescription")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return ((StyledString) getStyledText(object)).getString();
+ }
+
+ /**
+ * This returns the label styled text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getStyledText(Object object) {
+ String label = ((SectionDescription) object).getTitleExpression();
+ StyledString styledLabel = new StyledString();
+ if (label == null || label.length() == 0) {
+ styledLabel.append(getString("_UI_SectionDescription_type"), StyledString.Style.QUALIFIER_STYLER); //$NON-NLS-1$
+ } else {
+ styledLabel.append(getString("_UI_SectionDescription_type"), StyledString.Style.QUALIFIER_STYLER).append(" " + label); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ return styledLabel;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating
+ * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(SectionDescription.class)) {
+ case WorkflowPackage.SECTION_DESCRIPTION__DOCUMENTATION:
+ case WorkflowPackage.SECTION_DESCRIPTION__TITLE_EXPRESSION:
+ case WorkflowPackage.SECTION_DESCRIPTION__IMAGE_PATH:
+ case WorkflowPackage.SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case WorkflowPackage.SECTION_DESCRIPTION__ACTIVITIES:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created
+ * under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(WorkflowPackage.Literals.SECTION_DESCRIPTION__ACTIVITIES, WorkflowFactory.eINSTANCE.createActivityDescription()));
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/WorkflowDescriptionItemProvider.java b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/WorkflowDescriptionItemProvider.java
new file mode 100644
index 0000000000..ab3e2e023a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/WorkflowDescriptionItemProvider.java
@@ -0,0 +1,226 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IItemStyledLabelProvider;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.StyledString;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.workflow.WorkflowDescription;
+import org.eclipse.sirius.workflow.WorkflowFactory;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.sirius.workflow.WorkflowDescription} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class WorkflowDescriptionItemProvider extends ItemProviderAdapter
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource, IItemStyledLabelProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public WorkflowDescriptionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addLabelPropertyDescriptor(object);
+ addDocumentationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_IdentifiedElement_name_feature"), //$NON-NLS-1$
+ getString("_UI_IdentifiedElement_name_description"), //$NON-NLS-1$
+ DescriptionPackage.Literals.IDENTIFIED_ELEMENT__NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, getString("_UI_GeneralPropertyCategory"), //$NON-NLS-1$
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Label feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addLabelPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_IdentifiedElement_label_feature"), //$NON-NLS-1$
+ getString("_UI_IdentifiedElement_label_description"), //$NON-NLS-1$
+ DescriptionPackage.Literals.IDENTIFIED_ELEMENT__LABEL, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, getString("_UI_GeneralPropertyCategory"), //$NON-NLS-1$
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Documentation feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDocumentationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_DocumentedElement_documentation_feature"), //$NON-NLS-1$
+ getString("_UI_DocumentedElement_documentation_description"), //$NON-NLS-1$
+ DescriptionPackage.Literals.DOCUMENTED_ELEMENT__DOCUMENTATION, true, true, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, getString("_UI_DocumentationPropertyCategory"), //$NON-NLS-1$
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(WorkflowPackage.Literals.WORKFLOW_DESCRIPTION__PAGES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns WorkflowDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkflowDescription")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return ((StyledString) getStyledText(object)).getString();
+ }
+
+ /**
+ * This returns the label styled text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getStyledText(Object object) {
+ String label = ((WorkflowDescription) object).getLabel();
+ StyledString styledLabel = new StyledString();
+ if (label == null || label.length() == 0) {
+ styledLabel.append(getString("_UI_WorkflowDescription_type"), StyledString.Style.QUALIFIER_STYLER); //$NON-NLS-1$
+ } else {
+ styledLabel.append(getString("_UI_WorkflowDescription_type"), StyledString.Style.QUALIFIER_STYLER).append(" " + label); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ return styledLabel;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating
+ * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(WorkflowDescription.class)) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__NAME:
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__LABEL:
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__DOCUMENTATION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__PAGES:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created
+ * under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(WorkflowPackage.Literals.WORKFLOW_DESCRIPTION__PAGES, WorkflowFactory.eINSTANCE.createPageDescription()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ((IChildCreationExtender) adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/WorkflowItemProviderAdapterFactory.java b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/WorkflowItemProviderAdapterFactory.java
new file mode 100644
index 0000000000..98e3893d0e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.edit/src-gen/org/eclipse/sirius/workflow/provider/WorkflowItemProviderAdapterFactory.java
@@ -0,0 +1,420 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.command.CommandParameter;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IItemStyledLabelProvider;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.Group;
+import org.eclipse.sirius.viewpoint.description.util.DescriptionSwitch;
+import org.eclipse.sirius.workflow.WorkflowFactory;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+import org.eclipse.sirius.workflow.edit.WorkflowEditPlugin;
+import org.eclipse.sirius.workflow.util.WorkflowAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers. The adapters generated by this
+ * factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. The adapters
+ * also support Eclipse property sheets. Note that most of the adapters are shared among multiple instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class WorkflowItemProviderAdapterFactory extends WorkflowAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable, IChildCreationExtender {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This helps manage the child creation extenders. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(WorkflowEditPlugin.INSTANCE, WorkflowPackage.eNS_URI);
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public WorkflowItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ supportedTypes.add(IItemStyledLabelProvider.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.sirius.workflow.WorkflowDescription}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected WorkflowDescriptionItemProvider workflowDescriptionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.sirius.workflow.WorkflowDescription}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createWorkflowDescriptionAdapter() {
+ if (workflowDescriptionItemProvider == null) {
+ workflowDescriptionItemProvider = new WorkflowDescriptionItemProvider(this);
+ }
+
+ return workflowDescriptionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.sirius.workflow.PageDescription} instances.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PageDescriptionItemProvider pageDescriptionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.sirius.workflow.PageDescription}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createPageDescriptionAdapter() {
+ if (pageDescriptionItemProvider == null) {
+ pageDescriptionItemProvider = new PageDescriptionItemProvider(this);
+ }
+
+ return pageDescriptionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.sirius.workflow.SectionDescription}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SectionDescriptionItemProvider sectionDescriptionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.sirius.workflow.SectionDescription}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createSectionDescriptionAdapter() {
+ if (sectionDescriptionItemProvider == null) {
+ sectionDescriptionItemProvider = new SectionDescriptionItemProvider(this);
+ }
+
+ return sectionDescriptionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.sirius.workflow.ActivityDescription}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivityDescriptionItemProvider activityDescriptionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.sirius.workflow.ActivityDescription}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createActivityDescriptionAdapter() {
+ if (activityDescriptionItemProvider == null) {
+ activityDescriptionItemProvider = new ActivityDescriptionItemProvider(this);
+ }
+
+ return activityDescriptionItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>) type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public List<IChildCreationExtender> getChildCreationExtenders() {
+ return childCreationExtenderManager.getChildCreationExtenders();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+ return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return childCreationExtenderManager;
+ }
+
+ /**
+ * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (workflowDescriptionItemProvider != null) {
+ workflowDescriptionItemProvider.dispose();
+ }
+ if (pageDescriptionItemProvider != null) {
+ pageDescriptionItemProvider.dispose();
+ }
+ if (sectionDescriptionItemProvider != null) {
+ sectionDescriptionItemProvider.dispose();
+ }
+ if (activityDescriptionItemProvider != null) {
+ activityDescriptionItemProvider.dispose();
+ }
+ }
+
+ /**
+ * A child creation extender for the {@link DescriptionPackage}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class DescriptionChildCreationExtender implements IChildCreationExtender {
+ /**
+ * The switch for creating child descriptors specific to each extended class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected static class CreationSwitch extends DescriptionSwitch<Object> {
+ /**
+ * The child descriptors being populated. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected List<Object> newChildDescriptors;
+
+ /**
+ * The domain in which to create the children. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EditingDomain editingDomain;
+
+ /**
+ * Creates the a switch for populating child descriptors in the given domain. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ CreationSwitch(List<Object> newChildDescriptors, EditingDomain editingDomain) {
+ this.newChildDescriptors = newChildDescriptors;
+ this.editingDomain = editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object caseGroup(Group object) {
+ newChildDescriptors.add(createChildParameter(DescriptionPackage.Literals.GROUP__EXTENSIONS, WorkflowFactory.eINSTANCE.createWorkflowDescription()));
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CommandParameter createChildParameter(Object feature, Object child) {
+ return new CommandParameter(null, feature, child);
+ }
+
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<Object> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+ ArrayList<Object> result = new ArrayList<Object>();
+ new CreationSwitch(result, editingDomain).doSwitch((EObject) object);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return WorkflowEditPlugin.INSTANCE;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.workflow.model/.checkstyle b/plugins/org.eclipse.sirius.workflow.model/.checkstyle
new file mode 100644
index 0000000000..3c756ff819
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+ <local-check-config name="Sirius Checks" location="/org.eclipse.sirius.settings/CheckstyleConfiguration.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="all" enabled="true" check-config-name="Sirius Checks" local="true">
+ <file-match-pattern match-pattern="." include-pattern="true"/>
+ </fileset>
+ <filter name="FilesFromPackage" enabled="true">
+ <filter-data value="src-gen"/>
+ </filter>
+</fileset-config>
diff --git a/plugins/org.eclipse.sirius.workflow.model/.classpath b/plugins/org.eclipse.sirius.workflow.model/.classpath
new file mode 100644
index 0000000000..858bac421b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.sirius.workflow.model/.project b/plugins/org.eclipse.sirius.workflow.model/.project
new file mode 100644
index 0000000000..1f7f0dea18
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.sirius.workflow.model</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.sirius.workflow.model/.settings/fr.obeo.baseliner.prefs b/plugins/org.eclipse.sirius.workflow.model/.settings/fr.obeo.baseliner.prefs
new file mode 100644
index 0000000000..edbf92725a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.settings/fr.obeo.baseliner.prefs
@@ -0,0 +1,2 @@
+baselineSource=platform\:/resource/org.eclipse.sirius.targets/baseline.target
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..9093a2c880
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Thu Jan 26 14:35:58 CET 2012
+eclipse.preferences.version=1
+encoding/<project>=US-ASCII
+encoding/analysis_templates=ISO-8859-1
diff --git a/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.core.runtime.prefs b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000000..a287fefdba
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,3 @@
+#Mon Sep 24 15:04:19 CEST 2007
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..97c066b909
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,354 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL,NORMAL,NORMAL,NORMAL,NORMAL,HIGH
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,TODOCBR,TODOMCH,TODOYMO,OPTIMISATION_POSSIBLE,TODONEWMM
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=200
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
diff --git a/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..f903dbceb5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,62 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=true
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_Sirius
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Sirius
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..b196c64a34
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c307a7b58e
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=0
+compilers.p.build=0
+compilers.p.build.bin.includes=0
+compilers.p.build.encodings=0
+compilers.p.build.java.compiler=0
+compilers.p.build.java.compliance=0
+compilers.p.build.missing.output=0
+compilers.p.build.output.library=0
+compilers.p.build.source.library=0
+compilers.p.build.src.includes=0
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=0
+compilers.p.missing-packages=0
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=0
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=0
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=0
+compilers.p.unknown-resource=0
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.sirius.workflow.model/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.workflow.model/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..c49df61b84
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.sirius.workflow.model;singleton:=true
+Bundle-Version: 6.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Eclipse-LazyStart: true
+Automatic-Module-Name: org.eclipse.sirius.workflow.model
+Export-Package: org.eclipse.sirius.workflow;version="6.0.0",
+ org.eclipse.sirius.workflow.impl;version="6.0.0",
+ org.eclipse.sirius.workflow.util;version="6.0.0"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0",
+ org.eclipse.emf.ecore;bundle-version="2.12.0";visibility:=reexport,
+ org.eclipse.sirius;bundle-version="6.0.0";visibility:=reexport
+Import-Package: org.eclipse.sirius.viewpoint;version="3.2.0",
+ org.eclipse.sirius.viewpoint.description;version="4.0.0",
+ org.eclipse.sirius.viewpoint.description.impl;version="3.1.0",
+ org.eclipse.sirius.viewpoint.description.tool;version="4.0.0"
diff --git a/plugins/org.eclipse.sirius.workflow.model/about.html b/plugins/org.eclipse.sirius.workflow.model/about.html
new file mode 100644
index 0000000000..420ad0f930
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/about.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/plugins/org.eclipse.sirius.workflow.model/build.properties b/plugins/org.eclipse.sirius.workflow.model/build.properties
new file mode 100644
index 0000000000..378afeba86
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/build.properties
@@ -0,0 +1,22 @@
+# Copyright (c) 2018 Obeo.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# Contributors:
+# Obeo - initial API and implementation
+#
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
+javacWarnings.. = none
+javacDefaultEncoding.. = US-ASCII
+javacProjectSettings = true
diff --git a/plugins/org.eclipse.sirius.workflow.model/model/workflow.ecore b/plugins/org.eclipse.sirius.workflow.model/model/workflow.ecore
new file mode 100644
index 0000000000..d39cf9feff
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/model/workflow.ecore
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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="workflow" nsURI="http://www.eclipse.org/sirius/workflow/1.0.0"
+ nsPrefix="workflow">
+ <eClassifiers xsi:type="ecore:EClass" name="WorkflowDescription" eSuperTypes="../../org.eclipse.sirius/model/viewpoint.ecore#//description/Extension ../../org.eclipse.sirius/model/viewpoint.ecore#//description/IdentifiedElement ../../org.eclipse.sirius/model/viewpoint.ecore#//description/DocumentedElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="pages" upperBound="-1"
+ eType="#//PageDescription" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PageDescription" eSuperTypes="../../org.eclipse.sirius/model/viewpoint.ecore#//description/IdentifiedElement ../../org.eclipse.sirius/model/viewpoint.ecore#//description/DocumentedElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="titleExpression" lowerBound="1"
+ eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/InterpretedExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="imagePath" eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/ImagePath"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="descriptionExpression"
+ lowerBound="1" eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/InterpretedExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sections" upperBound="-1"
+ eType="#//SectionDescription" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SectionDescription" eSuperTypes="../../org.eclipse.sirius/model/viewpoint.ecore#//description/IdentifiedElement ../../org.eclipse.sirius/model/viewpoint.ecore#//description/DocumentedElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="titleExpression" lowerBound="1"
+ eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/InterpretedExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="imagePath" eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/ImagePath"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="descriptionExpression"
+ lowerBound="1" eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/InterpretedExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activities" upperBound="-1"
+ eType="#//ActivityDescription" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ActivityDescription" eSuperTypes="../../org.eclipse.sirius/model/viewpoint.ecore#//description/IdentifiedElement ../../org.eclipse.sirius/model/viewpoint.ecore#//description/DocumentedElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="labelExpression" lowerBound="1"
+ eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/InterpretedExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="imagePath" eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/ImagePath"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operation" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.sirius/model/viewpoint.ecore#//description/tool/InitialOperation"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.sirius.workflow.model/model/workflow.genmodel b/plugins/org.eclipse.sirius.workflow.model/model/workflow.genmodel
new file mode 100644
index 0000000000..01b2e0f764
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/model/workflow.genmodel
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText=" Copyright (c) 2018 Obeo.&#xA; All rights reserved. This program and the accompanying materials&#xA; are made available under the terms of the Eclipse Public License v2.0&#xA; which accompanies this distribution, and is available at&#xA; https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA; Contributors:&#xA; Obeo - initial API and implementation&#xA;"
+ modelDirectory="/org.eclipse.sirius.workflow.model/src-gen" creationIcons="false"
+ editDirectory="/org.eclipse.sirius.workflow.edit/src-gen" editorDirectory="" modelPluginID="org.eclipse.sirius.workflow.model"
+ modelName="Workflow" editPluginClass="org.eclipse.sirius.workflow.edit.WorkflowEditPlugin"
+ editorPluginClass="" nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.ecore"
+ containmentProxies="true" complianceLevel="8.0" copyrightFields="false" editPluginID="org.eclipse.sirius.workflow.edit"
+ editorPluginID="org.eclipse.sirius.workflow.editor" runtimeVersion="2.3" language=""
+ usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.sirius/model/viewpoint.genmodel#//viewpoint"
+ importOrganizing="true" styleProviders="true" cleanup="true">
+ <foreignModel>workflow.ecore</foreignModel>
+ <genPackages prefix="Workflow" basePackage="org.eclipse.sirius" disposableProviderFactory="true"
+ extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="workflow.ecore#/">
+ <genClasses ecoreClass="workflow.ecore#//WorkflowDescription" labelFeature="../../org.eclipse.sirius/model/viewpoint.genmodel#//viewpoint/description/IdentifiedElement/label">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference workflow.ecore#//WorkflowDescription/pages"/>
+ </genClasses>
+ <genClasses ecoreClass="workflow.ecore#//PageDescription" labelFeature="#//workflow/PageDescription/titleExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//PageDescription/titleExpression"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//PageDescription/imagePath"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//PageDescription/descriptionExpression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference workflow.ecore#//PageDescription/sections"/>
+ </genClasses>
+ <genClasses ecoreClass="workflow.ecore#//SectionDescription" labelFeature="#//workflow/SectionDescription/titleExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//SectionDescription/titleExpression"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//SectionDescription/imagePath"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//SectionDescription/descriptionExpression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference workflow.ecore#//SectionDescription/activities"/>
+ </genClasses>
+ <genClasses ecoreClass="workflow.ecore#//ActivityDescription" labelFeature="#//workflow/ActivityDescription/labelExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//ActivityDescription/labelExpression"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//ActivityDescription/imagePath"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference workflow.ecore#//ActivityDescription/operation"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.sirius.workflow.model/plugin.properties b/plugins/org.eclipse.sirius.workflow.model/plugin.properties
new file mode 100644
index 0000000000..33f6743278
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/plugin.properties
@@ -0,0 +1,13 @@
+# ====================================================================
+# Copyright (c) 2018 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+
+pluginName = Sirius Workflow Model
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.sirius.workflow.model/plugin.xml b/plugins/org.eclipse.sirius.workflow.model/plugin.xml
new file mode 100644
index 0000000000..f452fcbe17
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/plugin.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2018 Obeo.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ Contributors:
+ Obeo - initial API and implementation
+
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated workflow -->
+ <package
+ uri="http://www.eclipse.org/sirius/workflow/1.0.0"
+ class="org.eclipse.sirius.workflow.WorkflowPackage"
+ genModel="model/workflow.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.sirius.workflow.model/pom.xml b/plugins/org.eclipse.sirius.workflow.model/pom.xml
new file mode 100644
index 0000000000..794684c44b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/pom.xml
@@ -0,0 +1,25 @@
+<!--
+ Copyright (c) 2015, 2016 Obeo
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Obeo - Initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.sirius</groupId>
+ <artifactId>sirius-parent</artifactId>
+ <version>6.0.0-SNAPSHOT</version>
+ <relativePath>../../packaging/org.eclipse.sirius.parent</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.sirius.workflow.model</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <version>6.0.0-SNAPSHOT</version>
+
+</project>
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/ActivityDescription.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/ActivityDescription.java
new file mode 100644
index 0000000000..7aa133991d
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/ActivityDescription.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow;
+
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Activity Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.workflow.ActivityDescription#getLabelExpression <em>Label Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.ActivityDescription#getImagePath <em>Image Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.ActivityDescription#getOperation <em>Operation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getActivityDescription()
+ * @model
+ * @generated
+ */
+public interface ActivityDescription extends IdentifiedElement, DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Label Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Label Expression</em>' attribute.
+ * @see #setLabelExpression(String)
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getActivityDescription_LabelExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * @generated
+ */
+ String getLabelExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.workflow.ActivityDescription#getLabelExpression <em>Label
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Label Expression</em>' attribute.
+ * @see #getLabelExpression()
+ * @generated
+ */
+ void setLabelExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Image Path</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Image Path</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Image Path</em>' attribute.
+ * @see #setImagePath(String)
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getActivityDescription_ImagePath()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.ImagePath"
+ * @generated
+ */
+ String getImagePath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.workflow.ActivityDescription#getImagePath <em>Image Path</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Image Path</em>' attribute.
+ * @see #getImagePath()
+ * @generated
+ */
+ void setImagePath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Operation</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation</em>' containment reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Operation</em>' containment reference.
+ * @see #setOperation(InitialOperation)
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getActivityDescription_Operation()
+ * @model containment="true" resolveProxies="true" required="true"
+ * @generated
+ */
+ InitialOperation getOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.workflow.ActivityDescription#getOperation <em>Operation</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operation</em>' containment reference.
+ * @see #getOperation()
+ * @generated
+ */
+ void setOperation(InitialOperation value);
+
+} // ActivityDescription
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/PageDescription.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/PageDescription.java
new file mode 100644
index 0000000000..05d63bbc38
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/PageDescription.java
@@ -0,0 +1,134 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Page Description</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.workflow.PageDescription#getTitleExpression <em>Title Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.PageDescription#getImagePath <em>Image Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.PageDescription#getDescriptionExpression <em>Description Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.PageDescription#getSections <em>Sections</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getPageDescription()
+ * @model
+ * @generated
+ */
+public interface PageDescription extends IdentifiedElement, DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Title Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Title Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Title Expression</em>' attribute.
+ * @see #setTitleExpression(String)
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getPageDescription_TitleExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * @generated
+ */
+ String getTitleExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.workflow.PageDescription#getTitleExpression <em>Title
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Title Expression</em>' attribute.
+ * @see #getTitleExpression()
+ * @generated
+ */
+ void setTitleExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Image Path</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Image Path</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Image Path</em>' attribute.
+ * @see #setImagePath(String)
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getPageDescription_ImagePath()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.ImagePath"
+ * @generated
+ */
+ String getImagePath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.workflow.PageDescription#getImagePath <em>Image Path</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Image Path</em>' attribute.
+ * @see #getImagePath()
+ * @generated
+ */
+ void setImagePath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Description Expression</em>' attribute.
+ * @see #setDescriptionExpression(String)
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getPageDescription_DescriptionExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * @generated
+ */
+ String getDescriptionExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.workflow.PageDescription#getDescriptionExpression
+ * <em>Description Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Description Expression</em>' attribute.
+ * @see #getDescriptionExpression()
+ * @generated
+ */
+ void setDescriptionExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Sections</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.workflow.SectionDescription}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sections</em>' containment reference list isn't clear, there really should be more of
+ * a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Sections</em>' containment reference list.
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getPageDescription_Sections()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<SectionDescription> getSections();
+
+} // PageDescription
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/SectionDescription.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/SectionDescription.java
new file mode 100644
index 0000000000..a80943bdfe
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/SectionDescription.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Section Description</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.workflow.SectionDescription#getTitleExpression <em>Title Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.SectionDescription#getImagePath <em>Image Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.SectionDescription#getDescriptionExpression <em>Description
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.SectionDescription#getActivities <em>Activities</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getSectionDescription()
+ * @model
+ * @generated
+ */
+public interface SectionDescription extends IdentifiedElement, DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Title Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Title Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Title Expression</em>' attribute.
+ * @see #setTitleExpression(String)
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getSectionDescription_TitleExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * @generated
+ */
+ String getTitleExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.workflow.SectionDescription#getTitleExpression <em>Title
+ * Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Title Expression</em>' attribute.
+ * @see #getTitleExpression()
+ * @generated
+ */
+ void setTitleExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Image Path</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Image Path</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Image Path</em>' attribute.
+ * @see #setImagePath(String)
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getSectionDescription_ImagePath()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.ImagePath"
+ * @generated
+ */
+ String getImagePath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.workflow.SectionDescription#getImagePath <em>Image Path</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Image Path</em>' attribute.
+ * @see #getImagePath()
+ * @generated
+ */
+ void setImagePath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Description Expression</em>' attribute.
+ * @see #setDescriptionExpression(String)
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getSectionDescription_DescriptionExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression" required="true"
+ * @generated
+ */
+ String getDescriptionExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.workflow.SectionDescription#getDescriptionExpression
+ * <em>Description Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Description Expression</em>' attribute.
+ * @see #getDescriptionExpression()
+ * @generated
+ */
+ void setDescriptionExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Activities</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.workflow.ActivityDescription}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Activities</em>' containment reference list isn't clear, there really should be more
+ * of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Activities</em>' containment reference list.
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getSectionDescription_Activities()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<ActivityDescription> getActivities();
+
+} // SectionDescription
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowDescription.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowDescription.java
new file mode 100644
index 0000000000..293544a2fc
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowDescription.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.Extension;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Description</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.workflow.WorkflowDescription#getPages <em>Pages</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getWorkflowDescription()
+ * @model
+ * @generated
+ */
+public interface WorkflowDescription extends Extension, IdentifiedElement, DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Pages</b></em>' containment reference list. The list contents are of type
+ * {@link org.eclipse.sirius.workflow.PageDescription}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pages</em>' containment reference list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Pages</em>' containment reference list.
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#getWorkflowDescription_Pages()
+ * @model containment="true" resolveProxies="true"
+ * @generated
+ */
+ EList<PageDescription> getPages();
+
+} // WorkflowDescription
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowFactory.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowFactory.java
new file mode 100644
index 0000000000..5d56bb3b2b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowFactory.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a create method for each non-abstract class of
+ * the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.WorkflowPackage
+ * @generated
+ */
+public interface WorkflowFactory extends EFactory {
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ WorkflowFactory eINSTANCE = org.eclipse.sirius.workflow.impl.WorkflowFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Description</em>'.
+ * @generated
+ */
+ WorkflowDescription createWorkflowDescription();
+
+ /**
+ * Returns a new object of class '<em>Page Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Page Description</em>'.
+ * @generated
+ */
+ PageDescription createPageDescription();
+
+ /**
+ * Returns a new object of class '<em>Section Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Section Description</em>'.
+ * @generated
+ */
+ SectionDescription createSectionDescription();
+
+ /**
+ * Returns a new object of class '<em>Activity Description</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Activity Description</em>'.
+ * @generated
+ */
+ ActivityDescription createActivityDescription();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ WorkflowPackage getWorkflowPackage();
+
+} // WorkflowFactory
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowPackage.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowPackage.java
new file mode 100644
index 0000000000..e991a574d0
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/WorkflowPackage.java
@@ -0,0 +1,679 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.WorkflowFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface WorkflowPackage extends EPackage {
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "workflow"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/sirius/workflow/1.0.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "workflow"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ WorkflowPackage eINSTANCE = org.eclipse.sirius.workflow.impl.WorkflowPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.workflow.impl.WorkflowDescriptionImpl
+ * <em>Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.impl.WorkflowDescriptionImpl
+ * @see org.eclipse.sirius.workflow.impl.WorkflowPackageImpl#getWorkflowDescription()
+ * @generated
+ */
+ int WORKFLOW_DESCRIPTION = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKFLOW_DESCRIPTION__NAME = DescriptionPackage.EXTENSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKFLOW_DESCRIPTION__LABEL = DescriptionPackage.EXTENSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKFLOW_DESCRIPTION__DOCUMENTATION = DescriptionPackage.EXTENSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Pages</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKFLOW_DESCRIPTION__PAGES = DescriptionPackage.EXTENSION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Description</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKFLOW_DESCRIPTION_FEATURE_COUNT = DescriptionPackage.EXTENSION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.workflow.impl.PageDescriptionImpl <em>Page
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.impl.PageDescriptionImpl
+ * @see org.eclipse.sirius.workflow.impl.WorkflowPackageImpl#getPageDescription()
+ * @generated
+ */
+ int PAGE_DESCRIPTION = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAGE_DESCRIPTION__NAME = DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAGE_DESCRIPTION__LABEL = DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAGE_DESCRIPTION__DOCUMENTATION = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Title Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAGE_DESCRIPTION__TITLE_EXPRESSION = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Image Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAGE_DESCRIPTION__IMAGE_PATH = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Description Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Sections</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAGE_DESCRIPTION__SECTIONS = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Page Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAGE_DESCRIPTION_FEATURE_COUNT = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.workflow.impl.SectionDescriptionImpl <em>Section
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.impl.SectionDescriptionImpl
+ * @see org.eclipse.sirius.workflow.impl.WorkflowPackageImpl#getSectionDescription()
+ * @generated
+ */
+ int SECTION_DESCRIPTION = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SECTION_DESCRIPTION__NAME = DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SECTION_DESCRIPTION__LABEL = DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SECTION_DESCRIPTION__DOCUMENTATION = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Title Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SECTION_DESCRIPTION__TITLE_EXPRESSION = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Image Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SECTION_DESCRIPTION__IMAGE_PATH = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Description Expression</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Activities</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SECTION_DESCRIPTION__ACTIVITIES = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Section Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SECTION_DESCRIPTION_FEATURE_COUNT = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.sirius.workflow.impl.ActivityDescriptionImpl <em>Activity
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.impl.ActivityDescriptionImpl
+ * @see org.eclipse.sirius.workflow.impl.WorkflowPackageImpl#getActivityDescription()
+ * @generated
+ */
+ int ACTIVITY_DESCRIPTION = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DESCRIPTION__NAME = DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Label</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DESCRIPTION__LABEL = DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DESCRIPTION__DOCUMENTATION = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DESCRIPTION__LABEL_EXPRESSION = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Image Path</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DESCRIPTION__IMAGE_PATH = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DESCRIPTION__OPERATION = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Activity Description</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DESCRIPTION_FEATURE_COUNT = DescriptionPackage.IDENTIFIED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.workflow.WorkflowDescription <em>Description</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Description</em>'.
+ * @see org.eclipse.sirius.workflow.WorkflowDescription
+ * @generated
+ */
+ EClass getWorkflowDescription();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.workflow.WorkflowDescription#getPages <em>Pages</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Pages</em>'.
+ * @see org.eclipse.sirius.workflow.WorkflowDescription#getPages()
+ * @see #getWorkflowDescription()
+ * @generated
+ */
+ EReference getWorkflowDescription_Pages();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.workflow.PageDescription <em>Page
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Page Description</em>'.
+ * @see org.eclipse.sirius.workflow.PageDescription
+ * @generated
+ */
+ EClass getPageDescription();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.workflow.PageDescription#getTitleExpression
+ * <em>Title Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Title Expression</em>'.
+ * @see org.eclipse.sirius.workflow.PageDescription#getTitleExpression()
+ * @see #getPageDescription()
+ * @generated
+ */
+ EAttribute getPageDescription_TitleExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.workflow.PageDescription#getImagePath
+ * <em>Image Path</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Image Path</em>'.
+ * @see org.eclipse.sirius.workflow.PageDescription#getImagePath()
+ * @see #getPageDescription()
+ * @generated
+ */
+ EAttribute getPageDescription_ImagePath();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.workflow.PageDescription#getDescriptionExpression <em>Description Expression</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Description Expression</em>'.
+ * @see org.eclipse.sirius.workflow.PageDescription#getDescriptionExpression()
+ * @see #getPageDescription()
+ * @generated
+ */
+ EAttribute getPageDescription_DescriptionExpression();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.workflow.PageDescription#getSections <em>Sections</em>}'. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Sections</em>'.
+ * @see org.eclipse.sirius.workflow.PageDescription#getSections()
+ * @see #getPageDescription()
+ * @generated
+ */
+ EReference getPageDescription_Sections();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.workflow.SectionDescription <em>Section
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Section Description</em>'.
+ * @see org.eclipse.sirius.workflow.SectionDescription
+ * @generated
+ */
+ EClass getSectionDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.workflow.SectionDescription#getTitleExpression <em>Title Expression</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Title Expression</em>'.
+ * @see org.eclipse.sirius.workflow.SectionDescription#getTitleExpression()
+ * @see #getSectionDescription()
+ * @generated
+ */
+ EAttribute getSectionDescription_TitleExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.workflow.SectionDescription#getImagePath
+ * <em>Image Path</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Image Path</em>'.
+ * @see org.eclipse.sirius.workflow.SectionDescription#getImagePath()
+ * @see #getSectionDescription()
+ * @generated
+ */
+ EAttribute getSectionDescription_ImagePath();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.workflow.SectionDescription#getDescriptionExpression <em>Description
+ * Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Description Expression</em>'.
+ * @see org.eclipse.sirius.workflow.SectionDescription#getDescriptionExpression()
+ * @see #getSectionDescription()
+ * @generated
+ */
+ EAttribute getSectionDescription_DescriptionExpression();
+
+ /**
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.sirius.workflow.SectionDescription#getActivities <em>Activities</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Activities</em>'.
+ * @see org.eclipse.sirius.workflow.SectionDescription#getActivities()
+ * @see #getSectionDescription()
+ * @generated
+ */
+ EReference getSectionDescription_Activities();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.sirius.workflow.ActivityDescription <em>Activity
+ * Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Activity Description</em>'.
+ * @see org.eclipse.sirius.workflow.ActivityDescription
+ * @generated
+ */
+ EClass getActivityDescription();
+
+ /**
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.sirius.workflow.ActivityDescription#getLabelExpression <em>Label Expression</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Label Expression</em>'.
+ * @see org.eclipse.sirius.workflow.ActivityDescription#getLabelExpression()
+ * @see #getActivityDescription()
+ * @generated
+ */
+ EAttribute getActivityDescription_LabelExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.workflow.ActivityDescription#getImagePath
+ * <em>Image Path</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Image Path</em>'.
+ * @see org.eclipse.sirius.workflow.ActivityDescription#getImagePath()
+ * @see #getActivityDescription()
+ * @generated
+ */
+ EAttribute getActivityDescription_ImagePath();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.sirius.workflow.ActivityDescription#getOperation <em>Operation</em>}'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operation</em>'.
+ * @see org.eclipse.sirius.workflow.ActivityDescription#getOperation()
+ * @see #getActivityDescription()
+ * @generated
+ */
+ EReference getActivityDescription_Operation();
+
+ /**
+ * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ WorkflowFactory getWorkflowFactory();
+
+ /**
+ * <!-- begin-user-doc --> Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.workflow.impl.WorkflowDescriptionImpl
+ * <em>Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.impl.WorkflowDescriptionImpl
+ * @see org.eclipse.sirius.workflow.impl.WorkflowPackageImpl#getWorkflowDescription()
+ * @generated
+ */
+ EClass WORKFLOW_DESCRIPTION = WorkflowPackage.eINSTANCE.getWorkflowDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Pages</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference WORKFLOW_DESCRIPTION__PAGES = WorkflowPackage.eINSTANCE.getWorkflowDescription_Pages();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.workflow.impl.PageDescriptionImpl <em>Page
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.impl.PageDescriptionImpl
+ * @see org.eclipse.sirius.workflow.impl.WorkflowPackageImpl#getPageDescription()
+ * @generated
+ */
+ EClass PAGE_DESCRIPTION = WorkflowPackage.eINSTANCE.getPageDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Title Expression</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PAGE_DESCRIPTION__TITLE_EXPRESSION = WorkflowPackage.eINSTANCE.getPageDescription_TitleExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Image Path</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PAGE_DESCRIPTION__IMAGE_PATH = WorkflowPackage.eINSTANCE.getPageDescription_ImagePath();
+
+ /**
+ * The meta object literal for the '<em><b>Description Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION = WorkflowPackage.eINSTANCE.getPageDescription_DescriptionExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Sections</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PAGE_DESCRIPTION__SECTIONS = WorkflowPackage.eINSTANCE.getPageDescription_Sections();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.workflow.impl.SectionDescriptionImpl <em>Section
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.impl.SectionDescriptionImpl
+ * @see org.eclipse.sirius.workflow.impl.WorkflowPackageImpl#getSectionDescription()
+ * @generated
+ */
+ EClass SECTION_DESCRIPTION = WorkflowPackage.eINSTANCE.getSectionDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Title Expression</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SECTION_DESCRIPTION__TITLE_EXPRESSION = WorkflowPackage.eINSTANCE.getSectionDescription_TitleExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Image Path</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SECTION_DESCRIPTION__IMAGE_PATH = WorkflowPackage.eINSTANCE.getSectionDescription_ImagePath();
+
+ /**
+ * The meta object literal for the '<em><b>Description Expression</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION = WorkflowPackage.eINSTANCE.getSectionDescription_DescriptionExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Activities</b></em>' containment reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference SECTION_DESCRIPTION__ACTIVITIES = WorkflowPackage.eINSTANCE.getSectionDescription_Activities();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.workflow.impl.ActivityDescriptionImpl <em>Activity
+ * Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.impl.ActivityDescriptionImpl
+ * @see org.eclipse.sirius.workflow.impl.WorkflowPackageImpl#getActivityDescription()
+ * @generated
+ */
+ EClass ACTIVITY_DESCRIPTION = WorkflowPackage.eINSTANCE.getActivityDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Label Expression</b></em>' attribute feature. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ACTIVITY_DESCRIPTION__LABEL_EXPRESSION = WorkflowPackage.eINSTANCE.getActivityDescription_LabelExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Image Path</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ACTIVITY_DESCRIPTION__IMAGE_PATH = WorkflowPackage.eINSTANCE.getActivityDescription_ImagePath();
+
+ /**
+ * The meta object literal for the '<em><b>Operation</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ACTIVITY_DESCRIPTION__OPERATION = WorkflowPackage.eINSTANCE.getActivityDescription_Operation();
+
+ }
+
+} // WorkflowPackage
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/ActivityDescriptionImpl.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/ActivityDescriptionImpl.java
new file mode 100644
index 0000000000..1a93d7474d
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/ActivityDescriptionImpl.java
@@ -0,0 +1,446 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.impl.IdentifiedElementImpl;
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+import org.eclipse.sirius.workflow.ActivityDescription;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Activity Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.workflow.impl.ActivityDescriptionImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.ActivityDescriptionImpl#getLabelExpression <em>Label
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.ActivityDescriptionImpl#getImagePath <em>Image Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.ActivityDescriptionImpl#getOperation <em>Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ActivityDescriptionImpl extends IdentifiedElementImpl implements ActivityDescription {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = ActivityDescriptionImpl.DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabelExpression() <em>Label Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabelExpression() <em>Label Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getLabelExpression()
+ * @generated
+ * @ordered
+ */
+ protected String labelExpression = ActivityDescriptionImpl.LABEL_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getImagePath() <em>Image Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getImagePath()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMAGE_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getImagePath() <em>Image Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getImagePath()
+ * @generated
+ * @ordered
+ */
+ protected String imagePath = ActivityDescriptionImpl.IMAGE_PATH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOperation() <em>Operation</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialOperation operation;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivityDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return WorkflowPackage.Literals.ACTIVITY_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.ACTIVITY_DESCRIPTION__DOCUMENTATION, oldDocumentation, documentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabelExpression() {
+ return labelExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabelExpression(String newLabelExpression) {
+ String oldLabelExpression = labelExpression;
+ labelExpression = newLabelExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.ACTIVITY_DESCRIPTION__LABEL_EXPRESSION, oldLabelExpression, labelExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getImagePath() {
+ return imagePath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setImagePath(String newImagePath) {
+ String oldImagePath = imagePath;
+ imagePath = newImagePath;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.ACTIVITY_DESCRIPTION__IMAGE_PATH, oldImagePath, imagePath));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InitialOperation getOperation() {
+ if (operation != null && operation.eIsProxy()) {
+ InternalEObject oldOperation = (InternalEObject) operation;
+ operation = (InitialOperation) eResolveProxy(oldOperation);
+ if (operation != oldOperation) {
+ InternalEObject newOperation = (InternalEObject) operation;
+ NotificationChain msgs = oldOperation.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION, null, null);
+ if (newOperation.eInternalContainer() == null) {
+ msgs = newOperation.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION, null, msgs);
+ }
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION, oldOperation, operation));
+ }
+ }
+ }
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InitialOperation basicGetOperation() {
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetOperation(InitialOperation newOperation, NotificationChain msgs) {
+ InitialOperation oldOperation = operation;
+ operation = newOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION, oldOperation, newOperation);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOperation(InitialOperation newOperation) {
+ if (newOperation != operation) {
+ NotificationChain msgs = null;
+ if (operation != null) {
+ msgs = ((InternalEObject) operation).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION, null, msgs);
+ }
+ if (newOperation != null) {
+ msgs = ((InternalEObject) newOperation).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION, null, msgs);
+ }
+ msgs = basicSetOperation(newOperation, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION, newOperation, newOperation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION:
+ return basicSetOperation(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__DOCUMENTATION:
+ return getDocumentation();
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__LABEL_EXPRESSION:
+ return getLabelExpression();
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__IMAGE_PATH:
+ return getImagePath();
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION:
+ if (resolve) {
+ return getOperation();
+ }
+ return basicGetOperation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__DOCUMENTATION:
+ setDocumentation((String) newValue);
+ return;
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__LABEL_EXPRESSION:
+ setLabelExpression((String) newValue);
+ return;
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__IMAGE_PATH:
+ setImagePath((String) newValue);
+ return;
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION:
+ setOperation((InitialOperation) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__DOCUMENTATION:
+ setDocumentation(ActivityDescriptionImpl.DOCUMENTATION_EDEFAULT);
+ return;
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__LABEL_EXPRESSION:
+ setLabelExpression(ActivityDescriptionImpl.LABEL_EXPRESSION_EDEFAULT);
+ return;
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__IMAGE_PATH:
+ setImagePath(ActivityDescriptionImpl.IMAGE_PATH_EDEFAULT);
+ return;
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION:
+ setOperation((InitialOperation) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__DOCUMENTATION:
+ return ActivityDescriptionImpl.DOCUMENTATION_EDEFAULT == null ? documentation != null : !ActivityDescriptionImpl.DOCUMENTATION_EDEFAULT.equals(documentation);
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__LABEL_EXPRESSION:
+ return ActivityDescriptionImpl.LABEL_EXPRESSION_EDEFAULT == null ? labelExpression != null : !ActivityDescriptionImpl.LABEL_EXPRESSION_EDEFAULT.equals(labelExpression);
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__IMAGE_PATH:
+ return ActivityDescriptionImpl.IMAGE_PATH_EDEFAULT == null ? imagePath != null : !ActivityDescriptionImpl.IMAGE_PATH_EDEFAULT.equals(imagePath);
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION:
+ return operation != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case WorkflowPackage.ACTIVITY_DESCRIPTION__DOCUMENTATION:
+ return DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ return WorkflowPackage.ACTIVITY_DESCRIPTION__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(", labelExpression: "); //$NON-NLS-1$
+ result.append(labelExpression);
+ result.append(", imagePath: "); //$NON-NLS-1$
+ result.append(imagePath);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ActivityDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/PageDescriptionImpl.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/PageDescriptionImpl.java
new file mode 100644
index 0000000000..835ee878fe
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/PageDescriptionImpl.java
@@ -0,0 +1,441 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.impl.IdentifiedElementImpl;
+import org.eclipse.sirius.workflow.PageDescription;
+import org.eclipse.sirius.workflow.SectionDescription;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Page Description</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.workflow.impl.PageDescriptionImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.PageDescriptionImpl#getTitleExpression <em>Title Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.PageDescriptionImpl#getImagePath <em>Image Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.PageDescriptionImpl#getDescriptionExpression <em>Description
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.PageDescriptionImpl#getSections <em>Sections</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PageDescriptionImpl extends IdentifiedElementImpl implements PageDescription {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = PageDescriptionImpl.DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTitleExpression() <em>Title Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTitleExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTitleExpression() <em>Title Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTitleExpression()
+ * @generated
+ * @ordered
+ */
+ protected String titleExpression = PageDescriptionImpl.TITLE_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getImagePath() <em>Image Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getImagePath()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMAGE_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getImagePath() <em>Image Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getImagePath()
+ * @generated
+ * @ordered
+ */
+ protected String imagePath = PageDescriptionImpl.IMAGE_PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescriptionExpression() <em>Description Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDescriptionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescriptionExpression() <em>Description Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDescriptionExpression()
+ * @generated
+ * @ordered
+ */
+ protected String descriptionExpression = PageDescriptionImpl.DESCRIPTION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSections() <em>Sections</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSections()
+ * @generated
+ * @ordered
+ */
+ protected EList<SectionDescription> sections;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PageDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return WorkflowPackage.Literals.PAGE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.PAGE_DESCRIPTION__DOCUMENTATION, oldDocumentation, documentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTitleExpression() {
+ return titleExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTitleExpression(String newTitleExpression) {
+ String oldTitleExpression = titleExpression;
+ titleExpression = newTitleExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.PAGE_DESCRIPTION__TITLE_EXPRESSION, oldTitleExpression, titleExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getImagePath() {
+ return imagePath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setImagePath(String newImagePath) {
+ String oldImagePath = imagePath;
+ imagePath = newImagePath;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.PAGE_DESCRIPTION__IMAGE_PATH, oldImagePath, imagePath));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDescriptionExpression() {
+ return descriptionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDescriptionExpression(String newDescriptionExpression) {
+ String oldDescriptionExpression = descriptionExpression;
+ descriptionExpression = newDescriptionExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION, oldDescriptionExpression, descriptionExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<SectionDescription> getSections() {
+ if (sections == null) {
+ sections = new EObjectContainmentEList.Resolving<SectionDescription>(SectionDescription.class, this, WorkflowPackage.PAGE_DESCRIPTION__SECTIONS);
+ }
+ return sections;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case WorkflowPackage.PAGE_DESCRIPTION__SECTIONS:
+ return ((InternalEList<?>) getSections()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case WorkflowPackage.PAGE_DESCRIPTION__DOCUMENTATION:
+ return getDocumentation();
+ case WorkflowPackage.PAGE_DESCRIPTION__TITLE_EXPRESSION:
+ return getTitleExpression();
+ case WorkflowPackage.PAGE_DESCRIPTION__IMAGE_PATH:
+ return getImagePath();
+ case WorkflowPackage.PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ return getDescriptionExpression();
+ case WorkflowPackage.PAGE_DESCRIPTION__SECTIONS:
+ return getSections();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case WorkflowPackage.PAGE_DESCRIPTION__DOCUMENTATION:
+ setDocumentation((String) newValue);
+ return;
+ case WorkflowPackage.PAGE_DESCRIPTION__TITLE_EXPRESSION:
+ setTitleExpression((String) newValue);
+ return;
+ case WorkflowPackage.PAGE_DESCRIPTION__IMAGE_PATH:
+ setImagePath((String) newValue);
+ return;
+ case WorkflowPackage.PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ setDescriptionExpression((String) newValue);
+ return;
+ case WorkflowPackage.PAGE_DESCRIPTION__SECTIONS:
+ getSections().clear();
+ getSections().addAll((Collection<? extends SectionDescription>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case WorkflowPackage.PAGE_DESCRIPTION__DOCUMENTATION:
+ setDocumentation(PageDescriptionImpl.DOCUMENTATION_EDEFAULT);
+ return;
+ case WorkflowPackage.PAGE_DESCRIPTION__TITLE_EXPRESSION:
+ setTitleExpression(PageDescriptionImpl.TITLE_EXPRESSION_EDEFAULT);
+ return;
+ case WorkflowPackage.PAGE_DESCRIPTION__IMAGE_PATH:
+ setImagePath(PageDescriptionImpl.IMAGE_PATH_EDEFAULT);
+ return;
+ case WorkflowPackage.PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ setDescriptionExpression(PageDescriptionImpl.DESCRIPTION_EXPRESSION_EDEFAULT);
+ return;
+ case WorkflowPackage.PAGE_DESCRIPTION__SECTIONS:
+ getSections().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case WorkflowPackage.PAGE_DESCRIPTION__DOCUMENTATION:
+ return PageDescriptionImpl.DOCUMENTATION_EDEFAULT == null ? documentation != null : !PageDescriptionImpl.DOCUMENTATION_EDEFAULT.equals(documentation);
+ case WorkflowPackage.PAGE_DESCRIPTION__TITLE_EXPRESSION:
+ return PageDescriptionImpl.TITLE_EXPRESSION_EDEFAULT == null ? titleExpression != null : !PageDescriptionImpl.TITLE_EXPRESSION_EDEFAULT.equals(titleExpression);
+ case WorkflowPackage.PAGE_DESCRIPTION__IMAGE_PATH:
+ return PageDescriptionImpl.IMAGE_PATH_EDEFAULT == null ? imagePath != null : !PageDescriptionImpl.IMAGE_PATH_EDEFAULT.equals(imagePath);
+ case WorkflowPackage.PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ return PageDescriptionImpl.DESCRIPTION_EXPRESSION_EDEFAULT == null ? descriptionExpression != null : !PageDescriptionImpl.DESCRIPTION_EXPRESSION_EDEFAULT.equals(descriptionExpression);
+ case WorkflowPackage.PAGE_DESCRIPTION__SECTIONS:
+ return sections != null && !sections.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case WorkflowPackage.PAGE_DESCRIPTION__DOCUMENTATION:
+ return DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ return WorkflowPackage.PAGE_DESCRIPTION__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(", titleExpression: "); //$NON-NLS-1$
+ result.append(titleExpression);
+ result.append(", imagePath: "); //$NON-NLS-1$
+ result.append(imagePath);
+ result.append(", descriptionExpression: "); //$NON-NLS-1$
+ result.append(descriptionExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // PageDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/SectionDescriptionImpl.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/SectionDescriptionImpl.java
new file mode 100644
index 0000000000..f76a03120b
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/SectionDescriptionImpl.java
@@ -0,0 +1,442 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.impl.IdentifiedElementImpl;
+import org.eclipse.sirius.workflow.ActivityDescription;
+import org.eclipse.sirius.workflow.SectionDescription;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Section Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.workflow.impl.SectionDescriptionImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.SectionDescriptionImpl#getTitleExpression <em>Title Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.SectionDescriptionImpl#getImagePath <em>Image Path</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.SectionDescriptionImpl#getDescriptionExpression <em>Description
+ * Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.SectionDescriptionImpl#getActivities <em>Activities</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SectionDescriptionImpl extends IdentifiedElementImpl implements SectionDescription {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = SectionDescriptionImpl.DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTitleExpression() <em>Title Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTitleExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTitleExpression() <em>Title Expression</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTitleExpression()
+ * @generated
+ * @ordered
+ */
+ protected String titleExpression = SectionDescriptionImpl.TITLE_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getImagePath() <em>Image Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getImagePath()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMAGE_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getImagePath() <em>Image Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getImagePath()
+ * @generated
+ * @ordered
+ */
+ protected String imagePath = SectionDescriptionImpl.IMAGE_PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescriptionExpression() <em>Description Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDescriptionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescriptionExpression() <em>Description Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDescriptionExpression()
+ * @generated
+ * @ordered
+ */
+ protected String descriptionExpression = SectionDescriptionImpl.DESCRIPTION_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getActivities() <em>Activities</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getActivities()
+ * @generated
+ * @ordered
+ */
+ protected EList<ActivityDescription> activities;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SectionDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return WorkflowPackage.Literals.SECTION_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.SECTION_DESCRIPTION__DOCUMENTATION, oldDocumentation, documentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTitleExpression() {
+ return titleExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTitleExpression(String newTitleExpression) {
+ String oldTitleExpression = titleExpression;
+ titleExpression = newTitleExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.SECTION_DESCRIPTION__TITLE_EXPRESSION, oldTitleExpression, titleExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getImagePath() {
+ return imagePath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setImagePath(String newImagePath) {
+ String oldImagePath = imagePath;
+ imagePath = newImagePath;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.SECTION_DESCRIPTION__IMAGE_PATH, oldImagePath, imagePath));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDescriptionExpression() {
+ return descriptionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDescriptionExpression(String newDescriptionExpression) {
+ String oldDescriptionExpression = descriptionExpression;
+ descriptionExpression = newDescriptionExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION, oldDescriptionExpression, descriptionExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ActivityDescription> getActivities() {
+ if (activities == null) {
+ activities = new EObjectContainmentEList.Resolving<ActivityDescription>(ActivityDescription.class, this, WorkflowPackage.SECTION_DESCRIPTION__ACTIVITIES);
+ }
+ return activities;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case WorkflowPackage.SECTION_DESCRIPTION__ACTIVITIES:
+ return ((InternalEList<?>) getActivities()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case WorkflowPackage.SECTION_DESCRIPTION__DOCUMENTATION:
+ return getDocumentation();
+ case WorkflowPackage.SECTION_DESCRIPTION__TITLE_EXPRESSION:
+ return getTitleExpression();
+ case WorkflowPackage.SECTION_DESCRIPTION__IMAGE_PATH:
+ return getImagePath();
+ case WorkflowPackage.SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ return getDescriptionExpression();
+ case WorkflowPackage.SECTION_DESCRIPTION__ACTIVITIES:
+ return getActivities();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case WorkflowPackage.SECTION_DESCRIPTION__DOCUMENTATION:
+ setDocumentation((String) newValue);
+ return;
+ case WorkflowPackage.SECTION_DESCRIPTION__TITLE_EXPRESSION:
+ setTitleExpression((String) newValue);
+ return;
+ case WorkflowPackage.SECTION_DESCRIPTION__IMAGE_PATH:
+ setImagePath((String) newValue);
+ return;
+ case WorkflowPackage.SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ setDescriptionExpression((String) newValue);
+ return;
+ case WorkflowPackage.SECTION_DESCRIPTION__ACTIVITIES:
+ getActivities().clear();
+ getActivities().addAll((Collection<? extends ActivityDescription>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case WorkflowPackage.SECTION_DESCRIPTION__DOCUMENTATION:
+ setDocumentation(SectionDescriptionImpl.DOCUMENTATION_EDEFAULT);
+ return;
+ case WorkflowPackage.SECTION_DESCRIPTION__TITLE_EXPRESSION:
+ setTitleExpression(SectionDescriptionImpl.TITLE_EXPRESSION_EDEFAULT);
+ return;
+ case WorkflowPackage.SECTION_DESCRIPTION__IMAGE_PATH:
+ setImagePath(SectionDescriptionImpl.IMAGE_PATH_EDEFAULT);
+ return;
+ case WorkflowPackage.SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ setDescriptionExpression(SectionDescriptionImpl.DESCRIPTION_EXPRESSION_EDEFAULT);
+ return;
+ case WorkflowPackage.SECTION_DESCRIPTION__ACTIVITIES:
+ getActivities().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case WorkflowPackage.SECTION_DESCRIPTION__DOCUMENTATION:
+ return SectionDescriptionImpl.DOCUMENTATION_EDEFAULT == null ? documentation != null : !SectionDescriptionImpl.DOCUMENTATION_EDEFAULT.equals(documentation);
+ case WorkflowPackage.SECTION_DESCRIPTION__TITLE_EXPRESSION:
+ return SectionDescriptionImpl.TITLE_EXPRESSION_EDEFAULT == null ? titleExpression != null : !SectionDescriptionImpl.TITLE_EXPRESSION_EDEFAULT.equals(titleExpression);
+ case WorkflowPackage.SECTION_DESCRIPTION__IMAGE_PATH:
+ return SectionDescriptionImpl.IMAGE_PATH_EDEFAULT == null ? imagePath != null : !SectionDescriptionImpl.IMAGE_PATH_EDEFAULT.equals(imagePath);
+ case WorkflowPackage.SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION:
+ return SectionDescriptionImpl.DESCRIPTION_EXPRESSION_EDEFAULT == null ? descriptionExpression != null
+ : !SectionDescriptionImpl.DESCRIPTION_EXPRESSION_EDEFAULT.equals(descriptionExpression);
+ case WorkflowPackage.SECTION_DESCRIPTION__ACTIVITIES:
+ return activities != null && !activities.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case WorkflowPackage.SECTION_DESCRIPTION__DOCUMENTATION:
+ return DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ return WorkflowPackage.SECTION_DESCRIPTION__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(", titleExpression: "); //$NON-NLS-1$
+ result.append(titleExpression);
+ result.append(", imagePath: "); //$NON-NLS-1$
+ result.append(imagePath);
+ result.append(", descriptionExpression: "); //$NON-NLS-1$
+ result.append(descriptionExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SectionDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowDescriptionImpl.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowDescriptionImpl.java
new file mode 100644
index 0000000000..b01f0a0472
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowDescriptionImpl.java
@@ -0,0 +1,403 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.workflow.PageDescription;
+import org.eclipse.sirius.workflow.WorkflowDescription;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Description</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.sirius.workflow.impl.WorkflowDescriptionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.WorkflowDescriptionImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.WorkflowDescriptionImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.sirius.workflow.impl.WorkflowDescriptionImpl#getPages <em>Pages</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class WorkflowDescriptionImpl extends MinimalEObjectImpl.Container implements WorkflowDescription {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = WorkflowDescriptionImpl.NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = WorkflowDescriptionImpl.LABEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = ""; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = WorkflowDescriptionImpl.DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPages() <em>Pages</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getPages()
+ * @generated
+ * @ordered
+ */
+ protected EList<PageDescription> pages;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected WorkflowDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return WorkflowPackage.Literals.WORKFLOW_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.WORKFLOW_DESCRIPTION__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel) {
+ String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.WORKFLOW_DESCRIPTION__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.WORKFLOW_DESCRIPTION__DOCUMENTATION, oldDocumentation, documentation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<PageDescription> getPages() {
+ if (pages == null) {
+ pages = new EObjectContainmentEList.Resolving<PageDescription>(PageDescription.class, this, WorkflowPackage.WORKFLOW_DESCRIPTION__PAGES);
+ }
+ return pages;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__PAGES:
+ return ((InternalEList<?>) getPages()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__NAME:
+ return getName();
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__LABEL:
+ return getLabel();
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__DOCUMENTATION:
+ return getDocumentation();
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__PAGES:
+ return getPages();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__NAME:
+ setName((String) newValue);
+ return;
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__LABEL:
+ setLabel((String) newValue);
+ return;
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__DOCUMENTATION:
+ setDocumentation((String) newValue);
+ return;
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__PAGES:
+ getPages().clear();
+ getPages().addAll((Collection<? extends PageDescription>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__NAME:
+ setName(WorkflowDescriptionImpl.NAME_EDEFAULT);
+ return;
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__LABEL:
+ setLabel(WorkflowDescriptionImpl.LABEL_EDEFAULT);
+ return;
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__DOCUMENTATION:
+ setDocumentation(WorkflowDescriptionImpl.DOCUMENTATION_EDEFAULT);
+ return;
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__PAGES:
+ getPages().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__NAME:
+ return WorkflowDescriptionImpl.NAME_EDEFAULT == null ? name != null : !WorkflowDescriptionImpl.NAME_EDEFAULT.equals(name);
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__LABEL:
+ return WorkflowDescriptionImpl.LABEL_EDEFAULT == null ? label != null : !WorkflowDescriptionImpl.LABEL_EDEFAULT.equals(label);
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__DOCUMENTATION:
+ return WorkflowDescriptionImpl.DOCUMENTATION_EDEFAULT == null ? documentation != null : !WorkflowDescriptionImpl.DOCUMENTATION_EDEFAULT.equals(documentation);
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__PAGES:
+ return pages != null && !pages.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (derivedFeatureID) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__NAME:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__NAME;
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__LABEL:
+ return DescriptionPackage.IDENTIFIED_ELEMENT__LABEL;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION__DOCUMENTATION:
+ return DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == IdentifiedElement.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.IDENTIFIED_ELEMENT__NAME:
+ return WorkflowPackage.WORKFLOW_DESCRIPTION__NAME;
+ case DescriptionPackage.IDENTIFIED_ELEMENT__LABEL:
+ return WorkflowPackage.WORKFLOW_DESCRIPTION__LABEL;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case DescriptionPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ return WorkflowPackage.WORKFLOW_DESCRIPTION__DOCUMENTATION;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
+ result.append(", documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} // WorkflowDescriptionImpl
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowFactoryImpl.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowFactoryImpl.java
new file mode 100644
index 0000000000..ba28c55421
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowFactoryImpl.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.sirius.workflow.ActivityDescription;
+import org.eclipse.sirius.workflow.PageDescription;
+import org.eclipse.sirius.workflow.SectionDescription;
+import org.eclipse.sirius.workflow.WorkflowDescription;
+import org.eclipse.sirius.workflow.WorkflowFactory;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class WorkflowFactoryImpl extends EFactoryImpl implements WorkflowFactory {
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static WorkflowFactory init() {
+ try {
+ WorkflowFactory theWorkflowFactory = (WorkflowFactory) EPackage.Registry.INSTANCE.getEFactory(WorkflowPackage.eNS_URI);
+ if (theWorkflowFactory != null) {
+ return theWorkflowFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new WorkflowFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public WorkflowFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION:
+ return createWorkflowDescription();
+ case WorkflowPackage.PAGE_DESCRIPTION:
+ return createPageDescription();
+ case WorkflowPackage.SECTION_DESCRIPTION:
+ return createSectionDescription();
+ case WorkflowPackage.ACTIVITY_DESCRIPTION:
+ return createActivityDescription();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public WorkflowDescription createWorkflowDescription() {
+ WorkflowDescriptionImpl workflowDescription = new WorkflowDescriptionImpl();
+ return workflowDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public PageDescription createPageDescription() {
+ PageDescriptionImpl pageDescription = new PageDescriptionImpl();
+ return pageDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public SectionDescription createSectionDescription() {
+ SectionDescriptionImpl sectionDescription = new SectionDescriptionImpl();
+ return sectionDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ActivityDescription createActivityDescription() {
+ ActivityDescriptionImpl activityDescription = new ActivityDescriptionImpl();
+ return activityDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public WorkflowPackage getWorkflowPackage() {
+ return (WorkflowPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static WorkflowPackage getPackage() {
+ return WorkflowPackage.eINSTANCE;
+ }
+
+} // WorkflowFactoryImpl
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowPackageImpl.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowPackageImpl.java
new file mode 100644
index 0000000000..0d248283cb
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/impl/WorkflowPackageImpl.java
@@ -0,0 +1,428 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.sirius.viewpoint.ViewpointPackage;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
+import org.eclipse.sirius.viewpoint.description.tool.ToolPackage;
+import org.eclipse.sirius.workflow.ActivityDescription;
+import org.eclipse.sirius.workflow.PageDescription;
+import org.eclipse.sirius.workflow.SectionDescription;
+import org.eclipse.sirius.workflow.WorkflowDescription;
+import org.eclipse.sirius.workflow.WorkflowFactory;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class WorkflowPackageImpl extends EPackageImpl implements WorkflowPackage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass workflowDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass pageDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sectionDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass activityDescriptionEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
+ * EPackage.Registry} by the package package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
+ * performs initialization of the package, or returns the registered package, if one already exists. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.sirius.workflow.WorkflowPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private WorkflowPackageImpl() {
+ super(WorkflowPackage.eNS_URI, WorkflowFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link WorkflowPackage#eINSTANCE} when that field is accessed. Clients should
+ * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static WorkflowPackage init() {
+ if (WorkflowPackageImpl.isInited) {
+ return (WorkflowPackage) EPackage.Registry.INSTANCE.getEPackage(WorkflowPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ WorkflowPackageImpl theWorkflowPackage = (WorkflowPackageImpl) (EPackage.Registry.INSTANCE.get(WorkflowPackage.eNS_URI) instanceof WorkflowPackageImpl
+ ? EPackage.Registry.INSTANCE.get(WorkflowPackage.eNS_URI)
+ : new WorkflowPackageImpl());
+
+ WorkflowPackageImpl.isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ ViewpointPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theWorkflowPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theWorkflowPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theWorkflowPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(WorkflowPackage.eNS_URI, theWorkflowPackage);
+ return theWorkflowPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getWorkflowDescription() {
+ return workflowDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getWorkflowDescription_Pages() {
+ return (EReference) workflowDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getPageDescription() {
+ return pageDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getPageDescription_TitleExpression() {
+ return (EAttribute) pageDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getPageDescription_ImagePath() {
+ return (EAttribute) pageDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getPageDescription_DescriptionExpression() {
+ return (EAttribute) pageDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getPageDescription_Sections() {
+ return (EReference) pageDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getSectionDescription() {
+ return sectionDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSectionDescription_TitleExpression() {
+ return (EAttribute) sectionDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSectionDescription_ImagePath() {
+ return (EAttribute) sectionDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSectionDescription_DescriptionExpression() {
+ return (EAttribute) sectionDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getSectionDescription_Activities() {
+ return (EReference) sectionDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getActivityDescription() {
+ return activityDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getActivityDescription_LabelExpression() {
+ return (EAttribute) activityDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getActivityDescription_ImagePath() {
+ return (EAttribute) activityDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getActivityDescription_Operation() {
+ return (EReference) activityDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public WorkflowFactory getWorkflowFactory() {
+ return (WorkflowFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is guarded to have no affect on any invocation but
+ * its first. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ workflowDescriptionEClass = createEClass(WorkflowPackage.WORKFLOW_DESCRIPTION);
+ createEReference(workflowDescriptionEClass, WorkflowPackage.WORKFLOW_DESCRIPTION__PAGES);
+
+ pageDescriptionEClass = createEClass(WorkflowPackage.PAGE_DESCRIPTION);
+ createEAttribute(pageDescriptionEClass, WorkflowPackage.PAGE_DESCRIPTION__TITLE_EXPRESSION);
+ createEAttribute(pageDescriptionEClass, WorkflowPackage.PAGE_DESCRIPTION__IMAGE_PATH);
+ createEAttribute(pageDescriptionEClass, WorkflowPackage.PAGE_DESCRIPTION__DESCRIPTION_EXPRESSION);
+ createEReference(pageDescriptionEClass, WorkflowPackage.PAGE_DESCRIPTION__SECTIONS);
+
+ sectionDescriptionEClass = createEClass(WorkflowPackage.SECTION_DESCRIPTION);
+ createEAttribute(sectionDescriptionEClass, WorkflowPackage.SECTION_DESCRIPTION__TITLE_EXPRESSION);
+ createEAttribute(sectionDescriptionEClass, WorkflowPackage.SECTION_DESCRIPTION__IMAGE_PATH);
+ createEAttribute(sectionDescriptionEClass, WorkflowPackage.SECTION_DESCRIPTION__DESCRIPTION_EXPRESSION);
+ createEReference(sectionDescriptionEClass, WorkflowPackage.SECTION_DESCRIPTION__ACTIVITIES);
+
+ activityDescriptionEClass = createEClass(WorkflowPackage.ACTIVITY_DESCRIPTION);
+ createEAttribute(activityDescriptionEClass, WorkflowPackage.ACTIVITY_DESCRIPTION__LABEL_EXPRESSION);
+ createEAttribute(activityDescriptionEClass, WorkflowPackage.ACTIVITY_DESCRIPTION__IMAGE_PATH);
+ createEReference(activityDescriptionEClass, WorkflowPackage.ACTIVITY_DESCRIPTION__OPERATION);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This method is guarded to have no affect on any
+ * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(WorkflowPackage.eNAME);
+ setNsPrefix(WorkflowPackage.eNS_PREFIX);
+ setNsURI(WorkflowPackage.eNS_URI);
+
+ // Obtain other dependent packages
+ DescriptionPackage theDescriptionPackage = (DescriptionPackage) EPackage.Registry.INSTANCE.getEPackage(DescriptionPackage.eNS_URI);
+ ToolPackage theToolPackage = (ToolPackage) EPackage.Registry.INSTANCE.getEPackage(ToolPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ workflowDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getExtension());
+ workflowDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getIdentifiedElement());
+ workflowDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getDocumentedElement());
+ pageDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getIdentifiedElement());
+ pageDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getDocumentedElement());
+ sectionDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getIdentifiedElement());
+ sectionDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getDocumentedElement());
+ activityDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getIdentifiedElement());
+ activityDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getDocumentedElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(workflowDescriptionEClass, WorkflowDescription.class, "WorkflowDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getWorkflowDescription_Pages(), this.getPageDescription(), null, "pages", null, 0, -1, WorkflowDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(pageDescriptionEClass, PageDescription.class, "PageDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getPageDescription_TitleExpression(), theDescriptionPackage.getInterpretedExpression(), "titleExpression", null, 1, 1, PageDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getPageDescription_ImagePath(), theDescriptionPackage.getImagePath(), "imagePath", null, 0, 1, PageDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getPageDescription_DescriptionExpression(), theDescriptionPackage.getInterpretedExpression(), "descriptionExpression", null, 1, 1, PageDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getPageDescription_Sections(), this.getSectionDescription(), null, "sections", null, 0, -1, PageDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$
+ EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+
+ initEClass(sectionDescriptionEClass, SectionDescription.class, "SectionDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getSectionDescription_TitleExpression(), theDescriptionPackage.getInterpretedExpression(), "titleExpression", null, 1, 1, SectionDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getSectionDescription_ImagePath(), theDescriptionPackage.getImagePath(), "imagePath", null, 0, 1, SectionDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getSectionDescription_DescriptionExpression(), theDescriptionPackage.getInterpretedExpression(), "descriptionExpression", null, 1, 1, SectionDescription.class, //$NON-NLS-1$
+ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED,
+ EPackageImpl.IS_ORDERED);
+ initEReference(getSectionDescription_Activities(), this.getActivityDescription(), null, "activities", null, 0, -1, SectionDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(activityDescriptionEClass, ActivityDescription.class, "ActivityDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getActivityDescription_LabelExpression(), theDescriptionPackage.getInterpretedExpression(), "labelExpression", null, 1, 1, ActivityDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getActivityDescription_ImagePath(), theDescriptionPackage.getImagePath(), "imagePath", null, 0, 1, ActivityDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getActivityDescription_Operation(), theToolPackage.getInitialOperation(), null, "operation", null, 1, 1, ActivityDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$
+ !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ // Create resource
+ createResource(WorkflowPackage.eNS_URI);
+ }
+
+} // WorkflowPackageImpl
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/util/WorkflowAdapterFactory.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/util/WorkflowAdapterFactory.java
new file mode 100644
index 0000000000..6fb8bbbf0c
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/util/WorkflowAdapterFactory.java
@@ -0,0 +1,238 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.Extension;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.workflow.ActivityDescription;
+import org.eclipse.sirius.workflow.PageDescription;
+import org.eclipse.sirius.workflow.SectionDescription;
+import org.eclipse.sirius.workflow.WorkflowDescription;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides an adapter <code>createXXX</code>
+ * method for each class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.WorkflowPackage
+ * @generated
+ */
+public class WorkflowAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static WorkflowPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public WorkflowAdapterFactory() {
+ if (WorkflowAdapterFactory.modelPackage == null) {
+ WorkflowAdapterFactory.modelPackage = WorkflowPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object. <!-- begin-user-doc --> This
+ * implementation returns <code>true</code> if the object is either the model's package or is an instance object of
+ * the model. <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == WorkflowAdapterFactory.modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == WorkflowAdapterFactory.modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected WorkflowSwitch<Adapter> modelSwitch = new WorkflowSwitch<Adapter>() {
+ @Override
+ public Adapter caseWorkflowDescription(WorkflowDescription object) {
+ return createWorkflowDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter casePageDescription(PageDescription object) {
+ return createPageDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseSectionDescription(SectionDescription object) {
+ return createSectionDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseActivityDescription(ActivityDescription object) {
+ return createActivityDescriptionAdapter();
+ }
+
+ @Override
+ public Adapter caseExtension(Extension object) {
+ return createExtensionAdapter();
+ }
+
+ @Override
+ public Adapter caseIdentifiedElement(IdentifiedElement object) {
+ return createIdentifiedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseDocumentedElement(DocumentedElement object) {
+ return createDocumentedElementAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.workflow.WorkflowDescription
+ * <em>Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily
+ * ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc
+ * -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.workflow.WorkflowDescription
+ * @generated
+ */
+ public Adapter createWorkflowDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.workflow.PageDescription <em>Page
+ * Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.workflow.PageDescription
+ * @generated
+ */
+ public Adapter createPageDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.workflow.SectionDescription <em>Section
+ * Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.workflow.SectionDescription
+ * @generated
+ */
+ public Adapter createSectionDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.workflow.ActivityDescription <em>Activity
+ * Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.workflow.ActivityDescription
+ * @generated
+ */
+ public Adapter createActivityDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.Extension
+ * <em>Extension</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily
+ * ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc
+ * -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.Extension
+ * @generated
+ */
+ public Adapter createExtensionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * <em>Identified Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.IdentifiedElement
+ * @generated
+ */
+ public Adapter createIdentifiedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * <em>Documented Element</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.sirius.viewpoint.description.DocumentedElement
+ * @generated
+ */
+ public Adapter createDocumentedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // WorkflowAdapterFactory
diff --git a/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/util/WorkflowSwitch.java b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/util/WorkflowSwitch.java
new file mode 100644
index 0000000000..1ffb385e4a
--- /dev/null
+++ b/plugins/org.eclipse.sirius.workflow.model/src-gen/org/eclipse/sirius/workflow/util/WorkflowSwitch.java
@@ -0,0 +1,273 @@
+/**
+ * Copyright (c) 2018 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.workflow.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.viewpoint.description.DocumentedElement;
+import org.eclipse.sirius.viewpoint.description.Extension;
+import org.eclipse.sirius.viewpoint.description.IdentifiedElement;
+import org.eclipse.sirius.workflow.ActivityDescription;
+import org.eclipse.sirius.workflow.PageDescription;
+import org.eclipse.sirius.workflow.SectionDescription;
+import org.eclipse.sirius.workflow.WorkflowDescription;
+import org.eclipse.sirius.workflow.WorkflowPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance hierarchy. It supports the call
+ * {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the inheritance hierarchy until a non-null result is
+ * returned, which is the result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.sirius.workflow.WorkflowPackage
+ * @generated
+ */
+public class WorkflowSwitch<T> {
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static WorkflowPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public WorkflowSwitch() {
+ if (WorkflowSwitch.modelPackage == null) {
+ WorkflowSwitch.modelPackage = WorkflowPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+ * result. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+ * result. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == WorkflowSwitch.modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ } else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+ * result. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case WorkflowPackage.WORKFLOW_DESCRIPTION: {
+ WorkflowDescription workflowDescription = (WorkflowDescription) theEObject;
+ T result = caseWorkflowDescription(workflowDescription);
+ if (result == null) {
+ result = caseExtension(workflowDescription);
+ }
+ if (result == null) {
+ result = caseIdentifiedElement(workflowDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(workflowDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case WorkflowPackage.PAGE_DESCRIPTION: {
+ PageDescription pageDescription = (PageDescription) theEObject;
+ T result = casePageDescription(pageDescription);
+ if (result == null) {
+ result = caseIdentifiedElement(pageDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(pageDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case WorkflowPackage.SECTION_DESCRIPTION: {
+ SectionDescription sectionDescription = (SectionDescription) theEObject;
+ T result = caseSectionDescription(sectionDescription);
+ if (result == null) {
+ result = caseIdentifiedElement(sectionDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(sectionDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case WorkflowPackage.ACTIVITY_DESCRIPTION: {
+ ActivityDescription activityDescription = (ActivityDescription) theEObject;
+ T result = caseActivityDescription(activityDescription);
+ if (result == null) {
+ result = caseIdentifiedElement(activityDescription);
+ }
+ if (result == null) {
+ result = caseDocumentedElement(activityDescription);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Description</em>'. <!-- begin-user-doc -->
+ * This implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWorkflowDescription(WorkflowDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Page Description</em>'. <!-- begin-user-doc
+ * --> This implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc
+ * -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Page Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePageDescription(PageDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Section Description</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Section Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSectionDescription(SectionDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Activity Description</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Activity Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActivityDescription(ActivityDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extension</em>'. <!-- begin-user-doc -->
+ * This implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extension</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtension(Extension object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Identified Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Identified Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIdentifiedElement(IdentifiedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documented Element</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Documented Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentedElement(DocumentedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate the switch, but this is the last case
+ * anyway. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // WorkflowSwitch

Back to the top