aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptessier2014-07-04 05:14:32 -0400
committerptessier2014-07-04 05:14:32 -0400
commita51331a0efbf95070a2386612e5c664c1827b168 (patch)
treed09abb9be723f92440c686dd8d594770998b13ed
parentc5e2fceb1a48874dc182c69acbcb0c2add262cb1 (diff)
parent051d2bd37ad35ab20eef14860dfe33528ff995f1 (diff)
downloadorg.eclipse.papyrus-a51331a0efbf95070a2386612e5c664c1827b168.zip
org.eclipse.papyrus-a51331a0efbf95070a2386612e5c664c1827b168.tar.gz
org.eclipse.papyrus-a51331a0efbf95070a2386612e5c664c1827b168.tar.xz
Merge branch 'master' of ssh://ptessier@git.eclipse.org:29418/papyrus/org.eclipse.papyrus
-rw-r--r--doc/DevelopperDocuments/services/controlMode/.project11
-rw-r--r--doc/DevelopperDocuments/services/controlMode/ControlMode.di2
-rw-r--r--doc/DevelopperDocuments/services/controlMode/ControlMode.notation132
-rw-r--r--doc/DevelopperDocuments/services/controlMode/ControlMode.uml47
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/META-INF/MANIFEST.MF1
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/src/org/eclipse/papyrus/moka/composites/utils/handlers/Utils.java19
-rw-r--r--features/papyrus-extra-features/org.eclipse.papyrus.extra.moka.feature/feature.xml7
-rw-r--r--features/papyrus-main-features/org.eclipse.papyrus.doc.feature/feature.xml14
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.classpath6
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.project28
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.pde.core.prefs3
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/META-INF/MANIFEST.MF9
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/OSGI-INF/l10n/bundle.properties3
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/about.html28
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/build.properties7
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/plugin.xml10
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/pom.xml14
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode-main-toc.xml7
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode-toc.xml8
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.html5
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.mediawiki27
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/ControlAction.pngbin0 -> 19934 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/ControlDialog.pngbin0 -> 8433 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/UncontrolAction.pngbin0 -> 20815 bytes
-rwxr-xr-xplugins/doc/org.eclipse.papyrus.moka.doc/META-INF/MANIFEST.MF2
-rwxr-xr-xplugins/doc/org.eclipse.papyrus.moka.doc/pom.xml2
-rw-r--r--releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build-failures.xml323
-rw-r--r--releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.xml2
-rwxr-xr-xreleng/toolkit/cleaner.py243
-rwxr-xr-xreleng/toolkit/console.py76
-rwxr-xr-xreleng/toolkit/eclipse.py272
-rwxr-xr-xreleng/toolkit/tycho-generator.py451
-rwxr-xr-xreleng/toolkit/tycho-updater.py266
-rwxr-xr-xreleng/toolkit/xmlutils.py35
-rwxr-xr-xreleng/top-pom-dev.xml4
-rwxr-xr-xreleng/top-pom-extras.xml25
-rwxr-xr-xreleng/top-pom-main.xml24
-rwxr-xr-xreleng/top-pom-rcp.xml6
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/META-INF/MANIFEST.MF4
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.di2
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.notation813
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.uml164
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Test Suite/TestSuite.di (renamed from tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/TestSuite.di)1222
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Test Suite/TestSuite.notation (renamed from tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/TestSuite.notation)0
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Test Suite/TestSuite.uml (renamed from tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/TestSuite.uml)0
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/AllTests.java3
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/AbstractMokaTest.java41
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunAllTestsButTestSuite4.java16
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunTestSuite4.java14
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunAllTestsButTestSuite4.java14
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunTestSuite4.java14
-rw-r--r--tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/modeling/utils/RunGenerateFactoryTest.java142
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF5
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/Papyrus ALL tests - Failures.launch45
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java32
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/src/org/eclipse/papyrus/uml/diagram/sequence/tests/bug/m7/TestGuardVisibility_402966.java2
59 files changed, 3422 insertions, 1244 deletions
diff --git a/doc/DevelopperDocuments/services/controlMode/.project b/doc/DevelopperDocuments/services/controlMode/.project
new file mode 100644
index 0000000..81c2ce4
--- /dev/null
+++ b/doc/DevelopperDocuments/services/controlMode/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.services.controlmode.doc</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/doc/DevelopperDocuments/services/controlMode/ControlMode.di b/doc/DevelopperDocuments/services/controlMode/ControlMode.di
new file mode 100644
index 0000000..8634d4c
--- /dev/null
+++ b/doc/DevelopperDocuments/services/controlMode/ControlMode.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/doc/DevelopperDocuments/services/controlMode/ControlMode.notation b/doc/DevelopperDocuments/services/controlMode/ControlMode.notation
new file mode 100644
index 0000000..a1f9c43
--- /dev/null
+++ b/doc/DevelopperDocuments/services/controlMode/ControlMode.notation
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_ItQL4O13EeOyB8TXBkqZ3A" type="UseCase" name="UseCases" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0-xmYO2HEeOyB8TXBkqZ3A" type="2011">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0-2e4O2HEeOyB8TXBkqZ3A" type="5014">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0-3F8O2HEeOyB8TXBkqZ3A" x="-17" y="51"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0-3tAO2HEeOyB8TXBkqZ3A" type="6029">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0-3tAe2HEeOyB8TXBkqZ3A" x="20" y="100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0-3tAu2HEeOyB8TXBkqZ3A" type="6037">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0-4UEO2HEeOyB8TXBkqZ3A" x="20" y="80"/>
+ </children>
+ <element xmi:type="uml:Actor" href="ControlMode.uml#_098f8O2HEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-xmYe2HEeOyB8TXBkqZ3A" x="200" y="236"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="__kDjAO2HEeOyB8TXBkqZ3A" type="2013">
+ <children xmi:type="notation:DecorationNode" xmi:id="__kExIO2HEeOyB8TXBkqZ3A" type="5016"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="__kKQsO2HEeOyB8TXBkqZ3A" type="7009">
+ <styles xmi:type="notation:SortingStyle" xmi:id="__kK3wO2HEeOyB8TXBkqZ3A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__kK3we2HEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__kK3wu2HEeOyB8TXBkqZ3A"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="ControlMode.uml#__j9cYO2HEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__kDjAe2HEeOyB8TXBkqZ3A" x="453" y="126"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_aKV9wO2LEeOyB8TXBkqZ3A" type="2013">
+ <children xmi:type="notation:DecorationNode" xmi:id="_aKXL4O2LEeOyB8TXBkqZ3A" type="5016"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_aKXL4e2LEeOyB8TXBkqZ3A" type="7009">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_aKXL4u2LEeOyB8TXBkqZ3A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_aKXL4-2LEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aKXL5O2LEeOyB8TXBkqZ3A"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="ControlMode.uml#_aKRFQO2LEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aKV9we2LEeOyB8TXBkqZ3A" x="451" y="228"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_by0-gO2LEeOyB8TXBkqZ3A" type="2013">
+ <children xmi:type="notation:DecorationNode" xmi:id="_by2MoO2LEeOyB8TXBkqZ3A" type="5016"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_by2Moe2LEeOyB8TXBkqZ3A" type="7009">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_by2Mou2LEeOyB8TXBkqZ3A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_by2Mo-2LEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_by2MpO2LEeOyB8TXBkqZ3A"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="ControlMode.uml#_byx7MO2LEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_by0-ge2LEeOyB8TXBkqZ3A" x="745" y="123"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_uc0_gO2LEeOyB8TXBkqZ3A" type="2013">
+ <children xmi:type="notation:DecorationNode" xmi:id="_uc2NoO2LEeOyB8TXBkqZ3A" type="5016"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uc20sO2LEeOyB8TXBkqZ3A" type="7009">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uc20se2LEeOyB8TXBkqZ3A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uc20su2LEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uc20s-2LEeOyB8TXBkqZ3A"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="ControlMode.uml#_ucxVIO2LEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uc0_ge2LEeOyB8TXBkqZ3A" x="746" y="228"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_0v-_oO2LEeOyB8TXBkqZ3A" type="2013">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0v_msO2LEeOyB8TXBkqZ3A" type="5016"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0wANwO2LEeOyB8TXBkqZ3A" type="7009">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0wANwe2LEeOyB8TXBkqZ3A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0wANwu2LEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0wANw-2LEeOyB8TXBkqZ3A"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="ControlMode.uml#_0v6uMO2LEeOyB8TXBkqZ3A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0v-_oe2LEeOyB8TXBkqZ3A" x="398" y="335"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_ItQL4e13EeOyB8TXBkqZ3A" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_ItQL4u13EeOyB8TXBkqZ3A"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_ItQL4-13EeOyB8TXBkqZ3A">
+ <owner xmi:type="uml:Model" href="ControlMode.uml#_IrLIQO13EeOyB8TXBkqZ3A"/>
+ </styles>
+ <element xmi:type="uml:Model" href="ControlMode.uml#_IrLIQO13EeOyB8TXBkqZ3A"/>
+ <edges xmi:type="notation:Connector" xmi:id="_HkwDAO2IEeOyB8TXBkqZ3A" type="4011" source="_0-xmYO2HEeOyB8TXBkqZ3A" target="__kDjAO2HEeOyB8TXBkqZ3A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_HkwqEO2IEeOyB8TXBkqZ3A" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HkwqEe2IEeOyB8TXBkqZ3A" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_HkwqEu2IEeOyB8TXBkqZ3A" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HkxRIO2IEeOyB8TXBkqZ3A" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_HkwDAe2IEeOyB8TXBkqZ3A"/>
+ <element xmi:type="uml:Association" href="ControlMode.uml#_HjL8wO2IEeOyB8TXBkqZ3A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HkwDAu2IEeOyB8TXBkqZ3A" points="[15, -6, -292, 101]$[237, -111, -70, -4]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_K6Cj0O2IEeOyB8TXBkqZ3A" id="(1.0,0.44)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_K6DK4O2IEeOyB8TXBkqZ3A" id="(0.0,0.6166666666666667)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-TevIO2LEeOyB8TXBkqZ3A" type="4011" source="_0-xmYO2HEeOyB8TXBkqZ3A" target="_aKV9wO2LEeOyB8TXBkqZ3A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-TfWMO2LEeOyB8TXBkqZ3A" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-TfWMe2LEeOyB8TXBkqZ3A" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-Tf9QO2LEeOyB8TXBkqZ3A" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-TgkUO2LEeOyB8TXBkqZ3A" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-TevIe2LEeOyB8TXBkqZ3A"/>
+ <element xmi:type="uml:Association" href="ControlMode.uml#_-TZPkO2LEeOyB8TXBkqZ3A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-TevIu2LEeOyB8TXBkqZ3A" points="[15, -5, -256, 0]$[236, -7, -35, -2]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-TpuQO2LEeOyB8TXBkqZ3A" id="(0.17073170731707318,0.4666666666666667)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__bBmAO2LEeOyB8TXBkqZ3A" type="4011" source="_0-xmYO2HEeOyB8TXBkqZ3A" target="_0v-_oO2LEeOyB8TXBkqZ3A">
+ <children xmi:type="notation:DecorationNode" xmi:id="__bCNEO2LEeOyB8TXBkqZ3A" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__bC0IO2LEeOyB8TXBkqZ3A" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__bC0Ie2LEeOyB8TXBkqZ3A" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__bC0Iu2LEeOyB8TXBkqZ3A" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__bBmAe2LEeOyB8TXBkqZ3A"/>
+ <element xmi:type="uml:Association" href="ControlMode.uml#__azjkO2LEeOyB8TXBkqZ3A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__bBmAu2LEeOyB8TXBkqZ3A" points="[15, 5, -309, -99]$[184, 108, -140, 4]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_YTiXsO2MEeOyB8TXBkqZ3A" type="4008" source="_uc0_gO2LEeOyB8TXBkqZ3A" target="_aKV9wO2LEeOyB8TXBkqZ3A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_YTi-wO2MEeOyB8TXBkqZ3A" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YTi-we2MEeOyB8TXBkqZ3A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_YTjl0O2MEeOyB8TXBkqZ3A" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YTkM4O2MEeOyB8TXBkqZ3A" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_YTiXse2MEeOyB8TXBkqZ3A"/>
+ <element xmi:type="uml:Include" href="ControlMode.uml#_YTf7cO2MEeOyB8TXBkqZ3A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YTiXsu2MEeOyB8TXBkqZ3A" points="[-32, -2, 194, -5]$[-190, -26, 36, -29]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YTsIsO2MEeOyB8TXBkqZ3A" id="(0.11036789297658862,0.45)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_mR7lMO2MEeOyB8TXBkqZ3A" type="4008" source="_by0-gO2LEeOyB8TXBkqZ3A" target="__kDjAO2HEeOyB8TXBkqZ3A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mR8MQO2MEeOyB8TXBkqZ3A" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mR8MQe2MEeOyB8TXBkqZ3A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mR8zUO2MEeOyB8TXBkqZ3A" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mR8zUe2MEeOyB8TXBkqZ3A" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_mR7lMe2MEeOyB8TXBkqZ3A"/>
+ <element xmi:type="uml:Include" href="ControlMode.uml#_mR6XEO2MEeOyB8TXBkqZ3A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mR7lMu2MEeOyB8TXBkqZ3A" points="[-45, -6, 199, -7]$[-153, -6, 91, -7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mSCS4O2MEeOyB8TXBkqZ3A" id="(0.16312056737588654,0.5333333333333333)"/>
+ </edges>
+</notation:Diagram>
diff --git a/doc/DevelopperDocuments/services/controlMode/ControlMode.uml b/doc/DevelopperDocuments/services/controlMode/ControlMode.uml
new file mode 100644
index 0000000..798ff16
--- /dev/null
+++ b/doc/DevelopperDocuments/services/controlMode/ControlMode.uml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_IrLIQO13EeOyB8TXBkqZ3A" name="ControlMode">
+ <packagedElement xmi:type="uml:Actor" xmi:id="_098f8O2HEeOyB8TXBkqZ3A" name="PapyrusUser"/>
+ <packagedElement xmi:type="uml:UseCase" xmi:id="__j9cYO2HEeOyB8TXBkqZ3A" name="Control UML Element">
+ <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_BvaDcO2MEeOyB8TXBkqZ3A" name="ExtensionPoint1"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_HjL8wO2IEeOyB8TXBkqZ3A" name="A_papyrususer_usecase1" memberEnd="_HjL8we2IEeOyB8TXBkqZ3A _HjL8xO2IEeOyB8TXBkqZ3A">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_HjL8we2IEeOyB8TXBkqZ3A" name="papyrususer" type="_098f8O2HEeOyB8TXBkqZ3A" association="_HjL8wO2IEeOyB8TXBkqZ3A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HjL8wu2IEeOyB8TXBkqZ3A" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HjL8w-2IEeOyB8TXBkqZ3A" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_HjL8xO2IEeOyB8TXBkqZ3A" name="usecase1" type="__j9cYO2HEeOyB8TXBkqZ3A" association="_HjL8wO2IEeOyB8TXBkqZ3A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HjL8xe2IEeOyB8TXBkqZ3A" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HjL8xu2IEeOyB8TXBkqZ3A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:UseCase" xmi:id="_aKRFQO2LEeOyB8TXBkqZ3A" name="Uncontrol UML Element">
+ <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_CUQc8O2MEeOyB8TXBkqZ3A" name="ExtensionPoint1"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:UseCase" xmi:id="_byx7MO2LEeOyB8TXBkqZ3A" name="Control UML Stereotyped Element">
+ <include xmi:type="uml:Include" xmi:id="_mR6XEO2MEeOyB8TXBkqZ3A" addition="__j9cYO2HEeOyB8TXBkqZ3A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:UseCase" xmi:id="_ucxVIO2LEeOyB8TXBkqZ3A" name="Uncontrol UML Stereotyped Element">
+ <include xmi:type="uml:Include" xmi:id="_YTf7cO2MEeOyB8TXBkqZ3A" name="" addition="_aKRFQO2LEeOyB8TXBkqZ3A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:UseCase" xmi:id="_0v6uMO2LEeOyB8TXBkqZ3A" name="Perform changes on a UML Profile"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_-TZPkO2LEeOyB8TXBkqZ3A" name="A_papyrususer_uncontrol uml element" memberEnd="_-TZ2oO2LEeOyB8TXBkqZ3A _-TZ2o-2LEeOyB8TXBkqZ3A">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_-TZ2oO2LEeOyB8TXBkqZ3A" name="papyrususer" type="_098f8O2HEeOyB8TXBkqZ3A" association="_-TZPkO2LEeOyB8TXBkqZ3A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-TZ2oe2LEeOyB8TXBkqZ3A" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-TZ2ou2LEeOyB8TXBkqZ3A" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_-TZ2o-2LEeOyB8TXBkqZ3A" name="uncontrol uml element" type="_aKRFQO2LEeOyB8TXBkqZ3A" association="_-TZPkO2LEeOyB8TXBkqZ3A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-TZ2pO2LEeOyB8TXBkqZ3A" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-TZ2pe2LEeOyB8TXBkqZ3A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="__azjkO2LEeOyB8TXBkqZ3A" name="A_papyrususer_perform changes on a uml profile" memberEnd="__azjke2LEeOyB8TXBkqZ3A __azjlO2LEeOyB8TXBkqZ3A">
+ <ownedEnd xmi:type="uml:Property" xmi:id="__azjke2LEeOyB8TXBkqZ3A" name="papyrususer" type="_098f8O2HEeOyB8TXBkqZ3A" association="__azjkO2LEeOyB8TXBkqZ3A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__azjku2LEeOyB8TXBkqZ3A" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__azjk-2LEeOyB8TXBkqZ3A" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="__azjlO2LEeOyB8TXBkqZ3A" name="perform changes on a uml profile" type="_0v6uMO2LEeOyB8TXBkqZ3A" association="__azjkO2LEeOyB8TXBkqZ3A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__azjle2LEeOyB8TXBkqZ3A" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__azjlu2LEeOyB8TXBkqZ3A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/META-INF/MANIFEST.MF b/extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/META-INF/MANIFEST.MF
index 536fe96..75d30d3 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/META-INF/MANIFEST.MF
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/META-INF/MANIFEST.MF
@@ -22,4 +22,5 @@ Require-Bundle: org.eclipse.core.runtime,
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
+Export-Package: org.eclipse.papyrus.moka.composites.utils.handlers
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/src/org/eclipse/papyrus/moka/composites/utils/handlers/Utils.java b/extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/src/org/eclipse/papyrus/moka/composites/utils/handlers/Utils.java
index 80f675b..cf3c23c 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/src/org/eclipse/papyrus/moka/composites/utils/handlers/Utils.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.composites.utils/src/org/eclipse/papyrus/moka/composites/utils/handlers/Utils.java
@@ -36,6 +36,7 @@ import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.CreateObjectAction;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.LiteralInteger;
import org.eclipse.uml2.uml.ObjectFlow;
import org.eclipse.uml2.uml.Operation;
import org.eclipse.uml2.uml.OutputPin;
@@ -101,18 +102,30 @@ public class Utils {
ActivityParameterNode returnParamNode = (ActivityParameterNode)factory.createOwnedNode("resultParameterNode", UMLPackage.eINSTANCE.getActivityParameterNode());
returnParamNode.setParameter(returnParam);
returnParamNode.setType(context);
+ LiteralInteger returnParamNodeUpperBound = UMLFactory.eINSTANCE.createLiteralInteger();
+ returnParamNodeUpperBound.setValue(1) ;
+ returnParamNode.setUpperBound(returnParamNodeUpperBound) ;
// Retrieves the default constructor of context
Operation defaultConstructor = getDefaultConstructor(context);
CreateObjectAction createObject = (CreateObjectAction)factory.createOwnedNode("createObject", UMLPackage.eINSTANCE.getCreateObjectAction());
OutputPin createObjectResultPin = createObject.createResult("result", context);
+ LiteralInteger createObjectResultPinUpperBound = UMLFactory.eINSTANCE.createLiteralInteger();
+ createObjectResultPinUpperBound.setValue(1) ;
+ createObjectResultPin.setUpperBound(createObjectResultPinUpperBound) ;
createObject.setClassifier(context);
CallOperationAction callConstructor = (CallOperationAction)factory.createOwnedNode("callConstructor", UMLPackage.eINSTANCE.getCallOperationAction());
callConstructor.setOperation(defaultConstructor);
InputPin callConstructorTargetPin = callConstructor.createTarget("target", context);
+ LiteralInteger callConstructorTargetPinUpperBound = UMLFactory.eINSTANCE.createLiteralInteger();
+ callConstructorTargetPinUpperBound.setValue(1) ;
+ callConstructorTargetPin.setUpperBound(callConstructorTargetPinUpperBound) ;
OutputPin callConstructorResultPin = callConstructor.createResult("result", context);
+ LiteralInteger callConstructorResultPinUpperBound = UMLFactory.eINSTANCE.createLiteralInteger();
+ callConstructorResultPinUpperBound.setValue(1) ;
+ callConstructorResultPin.setUpperBound(callConstructorResultPinUpperBound) ;
ObjectFlow createObjectAction_callConstructor = (ObjectFlow)factory.createEdge("createObjectAction to callConstructor", UMLPackage.eINSTANCE.getObjectFlow());
createObjectAction_callConstructor.setSource(createObjectResultPin);
@@ -125,7 +138,13 @@ public class Utils {
} else {
StartObjectBehaviorAction startBehavior = (StartObjectBehaviorAction)factory.createOwnedNode("start classifier behavior", UMLPackage.eINSTANCE.getStartObjectBehaviorAction());
InputPin startBehaviorInputPin = startBehavior.createObject("object", context);
+ LiteralInteger startBehaviorInputPinUpperBound = UMLFactory.eINSTANCE.createLiteralInteger();
+ startBehaviorInputPinUpperBound.setValue(1) ;
+ startBehaviorInputPin.setUpperBound(startBehaviorInputPinUpperBound) ;
OutputPin startBehaviorResultPin = startBehavior.createResult("result", context);
+ LiteralInteger startBehaviorResultPinUpperBound = UMLFactory.eINSTANCE.createLiteralInteger();
+ startBehaviorResultPinUpperBound.setValue(1) ;
+ startBehaviorResultPin.setUpperBound(startBehaviorResultPinUpperBound) ;
toReturnParamNode.setSource(startBehaviorResultPin);
ObjectFlow callConstructor_startBehavior = (ObjectFlow)factory.createEdge("callConstructor to startBehavior", UMLPackage.eINSTANCE.getObjectFlow());
callConstructor_startBehavior.setSource(callConstructorResultPin);
diff --git a/features/papyrus-extra-features/org.eclipse.papyrus.extra.moka.feature/feature.xml b/features/papyrus-extra-features/org.eclipse.papyrus.extra.moka.feature/feature.xml
index 6ffed89..61e5993 100644
--- a/features/papyrus-extra-features/org.eclipse.papyrus.extra.moka.feature/feature.xml
+++ b/features/papyrus-extra-features/org.eclipse.papyrus.extra.moka.feature/feature.xml
@@ -85,13 +85,6 @@
unpack="false"/>
<plugin
- id="org.eclipse.papyrus.moka.doc"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
id="org.eclipse.papyrus.moka.composites.utils"
download-size="0"
install-size="0"
diff --git a/features/papyrus-main-features/org.eclipse.papyrus.doc.feature/feature.xml b/features/papyrus-main-features/org.eclipse.papyrus.doc.feature/feature.xml
index 08d14a6..38bb52f 100644
--- a/features/papyrus-main-features/org.eclipse.papyrus.doc.feature/feature.xml
+++ b/features/papyrus-main-features/org.eclipse.papyrus.doc.feature/feature.xml
@@ -81,4 +81,18 @@ http://www.eclipse.org/legal/epl-v10.html
install-size="0"
version="0.0.0"/>
+ <plugin
+ id="org.eclipse.papyrus.moka.doc"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.infra.services.controlmode.doc"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.classpath b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.classpath
new file mode 100644
index 0000000..e2b0c94
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.classpath
@@ -0,0 +1,6 @@
+<?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.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.project b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.project
new file mode 100644
index 0000000..78adc84
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.services.controlmode.doc</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/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.core.resources.prefs b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..609a5c7
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding//resource/controlMode-toc.xml=utf-8
+encoding//resource/controlMode.html=utf-8
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.jdt.core.prefs b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f287d53
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.m2e.core.prefs b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..14b697b
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.pde.core.prefs b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..b1bb1fc
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=true
+resolve.requirebundle=false
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/META-INF/MANIFEST.MF b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1d5d189
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.infra.services.controlmode.doc;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.help;bundle-version="3.6.0",
+ org.eclipse.papyrus.infra.doc;bundle-version="1.0.0"
+Bundle-Vendor: %Bundle-Vendor
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/OSGI-INF/l10n/bundle.properties b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..fbdcd7e
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.papyrus.infra.services.controlmode.doc
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Papyrus Control Mode Documentation \ No newline at end of file
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/about.html b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/about.html
new file mode 100644
index 0000000..2091030
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<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>November 14, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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/doc/org.eclipse.papyrus.infra.services.controlmode.doc/build.properties b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/build.properties
new file mode 100644
index 0000000..6d08492
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/build.properties
@@ -0,0 +1,7 @@
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ about.html,\
+ resource/,\
+ OSGI-INF/
+src.includes = about.html
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/plugin.xml b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/plugin.xml
new file mode 100644
index 0000000..58ed121
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/plugin.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.help.toc">
+ <toc file="resource/controlMode-main-toc.xml" primary="false"/>
+ <toc file="resource/controlMode-toc.xml" primary="false"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/pom.xml b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/pom.xml
new file mode 100644
index 0000000..a856008
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/top-pom-main.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.services.controlmode.doc</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode-main-toc.xml b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode-main-toc.xml
new file mode 100644
index 0000000..01d8eea
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode-main-toc.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<toc label="Submodel Creation and Reintegration" link_to="../org.eclipse.papyrus.infra.doc/toc.xml#PapyrusDocUser">
+ <topic href="resource/controlMode.html" label="Submodel Creation and Reintegration">
+ <link toc="resource/controlMode-toc.xml"/>
+ <anchor id="controlMode"/>
+ </topic>
+</toc> \ No newline at end of file
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode-toc.xml b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode-toc.xml
new file mode 100644
index 0000000..4aaebb8
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode-toc.xml
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<toc topic="resource/controlMode.html" label="controlMode">
+ <topic href="resource/controlMode.html" label="Creation of submodels and reintegration">
+ <topic href="resource/controlMode.html#What_is_it.3F" label="What is it?"></topic>
+ <topic href="resource/controlMode.html#Create_a_submodel" label="Create a submodel"></topic>
+ <topic href="resource/controlMode.html#Reintegrate_a_submodel_into_the_main_model" label="Reintegrate a submodel into the main model"></topic>
+ </topic>
+</toc> \ No newline at end of file
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.html b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.html
new file mode 100644
index 0000000..75650b8
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.html
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/></head><body><h1 id="Creation_of_submodels_and_reintegration">Creation of submodels and reintegration</h1><p>In this page we will show the Papyrus capabilities to create and reintegrate submodels, also known as <i>control mode</i>. </p><h2 id="What_is_it.3F">What is it?</h2><p>As a model grows large in number of elements, it is convenient to split them into different physical resources i.e. files.
+Papyrus provides a feature to perform this splitting in a seamless fashion, allowing to move parts of the model to another resource. We call this <i>create a submodel</i>.
+This is specially helpful working in collaborative environments, since the Team features can be applied individually to the different resources i.e. make changes and commit them in only one part of the model.</p><h2 id="Create_a_submodel">Create a submodel</h2><p>To create a submodel, right click on the element which you wish to move to a different resource (a Package in the common case) and select <i>Create submodel unit</i>
+<img border="0" src="img/ControlAction.png"/> </p><p>The following dialog appears. Select the desired location for the new resource and click <i>OK</i>.</p><p><img border="0" src="img/ControlDialog.png"/> </p><p><b>Important:</b> The selected element has not been moved just yet. The model editor will be dirty i.e. there will be an asterisk next to its name in the tab. In order to complete the submodel creation, you need to <b>save</b> your model.</p><p>The new resource is created in the chosen location with the chosen file name, whilst a green decorator is shown in the model explorer view of the parent model to indicate this element is in a submodel.</p><h2 id="Reintegrate_a_submodel_into_the_main_model">Reintegrate a submodel into the main model</h2><p>To reintegrate a submodel into the main model, open the parent model and right click on the submodel element in the model explorer (recognizable with the green decorator).
+<img border="0" src="img/UncontrolAction.png"/> </p><p>The submodel is reintegrated into the main model resource, and the submodel resource is deleted. </p></body></html> \ No newline at end of file
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.mediawiki b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.mediawiki
new file mode 100644
index 0000000..4f86a80
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.mediawiki
@@ -0,0 +1,27 @@
+=Creation of submodels and reintegration=
+
+In this page we will show the Papyrus capabilities to create and reintegrate submodels, also known as ''control mode''.
+
+==What is it?==
+As a model grows large in number of elements, it is convenient to split them into different physical resources i.e. files.
+Papyrus provides a feature to perform this splitting in a seamless fashion, allowing to move parts of the model to another resource. We call this ''create a submodel''.
+This is specially helpful working in collaborative environments, since the Team features can be applied individually to the different resources i.e. make changes and commit them in only one part of the model.
+
+==Create a submodel==
+To create a submodel, right click on the element which you wish to move to a different resource (a Package in the common case) and select ''Create submodel unit''
+[[Image:img/ControlAction.png]]
+
+The following dialog appears. Select the desired location for the new resource and click ''OK''.
+
+[[Image:img/ControlDialog.png]]
+
+'''Important:''' The selected element has not been moved just yet. The model editor will be dirty i.e. there will be an asterisk next to its name in the tab. In order to complete the submodel creation, you need to '''save''' your model.
+
+The new resource is created in the chosen location with the chosen file name, whilst a green decorator is shown in the model explorer view of the parent model to indicate this element is in a submodel.
+
+==Reintegrate a submodel into the main model==
+
+To reintegrate a submodel into the main model, open the parent model and right click on the submodel element in the model explorer (recognizable with the green decorator).
+[[Image:img/UncontrolAction.png]]
+
+The submodel is reintegrated into the main model resource, and the submodel resource is deleted. \ No newline at end of file
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/ControlAction.png b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/ControlAction.png
new file mode 100644
index 0000000..54fcdab
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/ControlAction.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/ControlDialog.png b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/ControlDialog.png
new file mode 100644
index 0000000..6152f6c
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/ControlDialog.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/UncontrolAction.png b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/UncontrolAction.png
new file mode 100644
index 0000000..11adcfc
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/img/UncontrolAction.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.moka.doc/META-INF/MANIFEST.MF b/plugins/doc/org.eclipse.papyrus.moka.doc/META-INF/MANIFEST.MF
index 8d04afc..a5ebfd5 100755
--- a/plugins/doc/org.eclipse.papyrus.moka.doc/META-INF/MANIFEST.MF
+++ b/plugins/doc/org.eclipse.papyrus.moka.doc/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
-Bundle-Name: Moka Documentation (Incubation)
+Bundle-Name: Moka Documentation
Bundle-SymbolicName: org.eclipse.papyrus.moka.doc;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: org.eclipse.papyrus.moka.doc.Activator
diff --git a/plugins/doc/org.eclipse.papyrus.moka.doc/pom.xml b/plugins/doc/org.eclipse.papyrus.moka.doc/pom.xml
index 3c1ed7d..563f9c1 100755
--- a/plugins/doc/org.eclipse.papyrus.moka.doc/pom.xml
+++ b/plugins/doc/org.eclipse.papyrus.moka.doc/pom.xml
@@ -5,7 +5,7 @@
<artifactId>org.eclipse.papyrus</artifactId>
<groupId>org.eclipse.papyrus</groupId>
<version>1.0.0-SNAPSHOT</version>
- <relativePath>../../../releng/top-pom-extras.xml</relativePath>
+ <relativePath>../../../releng/top-pom-main.xml</relativePath>
</parent>
<artifactId>org.eclipse.papyrus.moka.doc</artifactId>
<groupId>org.eclipse.papyrus</groupId>
diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build-failures.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build-failures.xml
new file mode 100644
index 0000000..70f4e9a
--- /dev/null
+++ b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build-failures.xml
@@ -0,0 +1,323 @@
+<?xml version="1.0"?>
+<project name="Papyrus">
+
+ <property name="build.config.root.dir" location=".." />
+ <echo message="build.config.root.dir=${build.config.root.dir}" />
+
+ <condition property="properties.file" value="build.properties" else="local.properties">
+ <isset property="server.build" />
+ </condition>
+
+ <condition property="mspec.file" value="build.mspec" else="local.mspec">
+ <isset property="server.build" />
+ </condition>
+ <echo message="mspec.file=${mspec.file}"/>
+
+ <echo message="Sourcing ${properties.file}" />
+ <property file="${properties.file}" />
+ <property environment="env" />
+
+ <condition property="build.root" value="${env.WORKSPACE}/buildroot" else="${basedir}/../build">
+ <isset property="env.WORKSPACE" />
+ </condition>
+ <echo message="build.root=${build.root}"/>
+
+ <condition property="buckminster.loglevel" value="${env.BUCKMINSTER_LOGLEVEL}" else="INFO">
+ <isset property="env.BUCKMINSTER_LOGLEVEL" />
+ </condition>
+ <echo message="buckminster.loglevel=${buckminster.loglevel}"/>
+
+ <condition property="clean.tools" value="true">
+ <equals arg1="${env.CLEAN_TOOLS}" arg2="true" />
+ </condition>
+
+ <condition property="clean.tp" value="true">
+ <equals arg1="${env.CLEAN_TP}" arg2="true" />
+ </condition>
+
+ <condition property="clean.workspace" value="true">
+ <equals arg1="${env.CLEAN_WORKSPACE}" arg2="true" />
+ </condition>
+
+ <condition property="clean.output" value="true">
+ <equals arg1="${env.CLEAN_OUTPUT}" arg2="true" />
+ </condition>
+
+ <condition property="build.type" value="${env.BUILD_TYPE}" else="N">
+ <isset property="env.BUILD_TYPE" />
+ </condition>
+ <echo message="build.type=${build.type}"/>
+
+ <condition property="build.nightly" value="true">
+ <equals arg1="${build.type}" arg2="N" />
+ </condition>
+
+ <condition property="no.proxy" value="${env.no_proxy}, dev.eclipse.org" else="dev.eclipse.org">
+ <isset property="env.no_proxy" />
+ </condition>
+
+ <!-- Default properties intended to be overridden by entries in the above property file -->
+ <property name="tools" location="${build.root}/tools" />
+ <property name="result" location="${build.root}/result" />
+ <property name="workspace" location="${result}/workspace" />
+ <property name="targetPlatformPath" location="${result}/targetPlatform" />
+ <property name="buckminster.output.root" location="${result}/output" />
+ <property name="buckminster.temp.root" location="${result}/temp" />
+
+ <echo message="tools=${tools}"/>
+ <echo message="result=${result}"/>
+ <echo message="workspace=${workspace}"/>
+ <echo message="targetPlatformPath=${targetPlatformPath}"/>
+
+ <!-- This macro executes the default application of an eclipse installation
+ that resides in the folder ${buildtools}/@app -->
+ <macrodef name="eclipse.launch">
+ <attribute name="app" />
+ <element name="properties" optional="true" />
+ <element name="args" optional="true" />
+ <sequential>
+ <!-- We assume that the eclipse installation is beneath ${buildtools} -->
+ <property name="@{app}.deploy.dir" value="${tools}/@{app}" />
+
+ <!-- Find the Eclipse launcher and assing its location to the @{app}.launcher property -->
+ <pathconvert property="@{app}.launcher">
+ <first count="1">
+ <sort>
+ <fileset dir="${@{app}.deploy.dir}/plugins" includes="**/org.eclipse.equinox.launcher_*.jar" />
+ <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators">
+ <date />
+ </reverse>
+ </sort>
+ </first>
+ </pathconvert>
+
+ <!-- Launch the eclipse application -->
+ <java fork="true" jar="${@{app}.launcher}" dir="${@{app}.deploy.dir}" failonerror="true">
+ <env key="no_proxy" value="${no.proxy}" />
+ <properties />
+ <!-- Uncomment to debug <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/> -->
+ <args />
+ </java>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="buckminster">
+ <attribute name="command" />
+ <attribute name="workspace" default="${workspace}" />
+ <element name="sysproperties" optional="true" />
+ <element name="globargs" optional="true" />
+ <element name="cmdargs" optional="true" />
+ <sequential>
+ <eclipse.launch app="buckminster">
+ <args>
+ <jvmarg value="-Xmx1024m" />
+ <arg value="-data" />
+ <arg value="@{workspace}" />
+ <arg value="--loglevel" />
+ <arg value="${buckminster.loglevel}" />
+ <arg value="--displaystacktrace" />
+ <globargs />
+ <arg value="@{command}" />
+ <arg value="-P" />
+ <arg value="${properties.tmp}" />
+ <cmdargs />
+ </args>
+ </eclipse.launch>
+ </sequential>
+ </macrodef>
+
+ <target name="init.clean.tools" if="clean.tools">
+ <antcall target="clean.tools" />
+ </target>
+
+ <target name="init.clean.tp" if="clean.tp">
+ <antcall target="clean.tp" />
+ </target>
+
+ <target name="init.clean.workspace" if="clean.workspace">
+ <antcall target="clean.workspace" />
+ </target>
+
+ <target name="init.clean.output" if="clean.output">
+ <antcall target="clean.output" />
+ </target>
+
+ <target name="init.checks" depends="init.clean.tools,init.clean.tp,init.clean.workspace,init.clean.output">
+ <available file="${tools}/director/director" property="director.exists" />
+ <available file="${tools}/buckminster/buckminster" property="buckminster.exists" />
+ </target>
+
+ <target name="get.director" unless="director.exists">
+ <echo message="Fetching headless director application" />
+ <tempfile destdir="${java.io.tmpdir}" prefix="director-" suffix=".zip" property="director.zip" deleteonexit="true" />
+ <get src="${eclipse.downloads}/${director.path}" dest="${director.zip}" />
+ <mkdir dir="${tools}" />
+ <unzip src="${director.zip}" dest="${tools}" />
+ <delete file="${director.zip}" />
+ </target>
+
+ <target name="install.buckminster" unless="buckminster.exists" depends="get.director">
+ <echo message="Configuring headless buckminster with needed features" />
+ <echo message="pack200 location configured as: ${org.eclipse.update.jarprocessor.pack200.buckminster}" />
+ <eclipse.launch app="director">
+ <args>
+ <jvmarg value="-Declipse.p2.mirrors=false" />
+ <!--
+ Hudson Ant property: org.eclipse.update.jarprocessor.pack200=${jdk1.5.dir}/jre/bin
+ <jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=${org.eclipse.update.jarprocessor.pack200}" />
+ -->
+ <jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=@none" />
+ <arg value="-r" />
+ <arg value="${eclipse.downloads}/${bm.headless.path}" />
+ <arg value="-d" />
+ <arg value="${tools}/buckminster" />
+ <arg value="-p" />
+ <arg value="Buckminster" />
+ <arg value="-i" />
+ <arg value="org.eclipse.buckminster.cmdline.product" />
+ <arg value="-i" />
+ <arg value="org.eclipse.buckminster.core.headless.feature.feature.group" />
+ <arg value="-i" />
+ <arg value="org.eclipse.buckminster.pde.headless.feature.feature.group" />
+ <arg value="-i" />
+ <arg value="org.eclipse.buckminster.cvs.headless.feature.feature.group" />
+ <arg value="-i" />
+ <arg value="org.eclipse.buckminster.emma.headless.feature.feature.group" />
+ </args>
+ </eclipse.launch>
+
+ <!-- install svn headless connector -->
+ <eclipse.launch app="director">
+ <args>
+ <jvmarg value="-Declipse.p2.mirrors=false" />
+ <!--<jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=/shared/common/jdk-1.5.0-22.x86_64/jre/bin" />-->
+ <jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=@none" />
+ <arg value="-r" />
+ <arg value="http://download.cloudsmith.com/buckminster/external-3.6" />
+ <arg value="-d" />
+ <arg value="${tools}/buckminster" />
+ <arg value="-p" />
+ <arg value="Buckminster" />
+ <arg value="-i" />
+ <arg value="org.eclipse.buckminster.subclipse.headless.feature.feature.group" />
+ </args>
+ </eclipse.launch>
+ </target>
+
+ <target name="init.workspace" unless="workspace.exists">
+ <echo>creating new workspace from template</echo>
+ <unzip dest="${workspace}" src="${build.config.root.dir}/resources/workspace.template.zip"/>
+ </target>
+
+ <target name="init.build.properties">
+ <!-- Echo relevant properties to a temporary file so that Buckminster can read them -->
+ <tempfile destdir="${java.io.tmpdir}" prefix="build-" suffix=".properties" deleteonexit="true" property="properties.tmp" />
+ <echo message="Properties file is: ${properties.tmp}" />
+ <echoproperties destfile="${properties.tmp}">
+ <!-- We don't want these. basedir in particular will cause problems if passed explicitly -->
+ <propertyset negate="true">
+ <propertyref name="basedir" />
+ <propertyref name="eclipse.home" />
+ <propertyref name="properties.tmp" />
+ <propertyref name="line.separator" />
+ <propertyref name="path.separator" />
+ <propertyref prefix="ant." />
+ <propertyref prefix="file." />
+ <propertyref prefix="java." />
+ <propertyref prefix="sun." />
+ <propertyref prefix="user." />
+ </propertyset>
+ </echoproperties>
+ </target>
+
+ <target name="provision" depends="init.checks,init.workspace,install.buckminster,init.build.properties" unless="skip.provision">
+ <echo message="Importing projects into workspace ${workspace} and binaries into target platform ${targetPlatformPath}" />
+ <!--
+ <buckminster command="installJRE">
+ <cmdargs>
+ <arg value="- -location" />
+ <arg value="${env.JAVA_HOME}" />
+ </cmdargs>
+ </buckminster>
+ -->
+ <buckminster command="setpref">
+ <cmdargs>
+ <arg value="targetPlatformPath=${targetPlatformPath}" />
+ </cmdargs>
+ </buckminster>
+
+ <buckminster command="import">
+ <cmdargs>
+ <arg value="-P" />
+ <arg value="${basedir}/${properties.file}" />
+ <arg value="--bomfile"/>
+ <arg value="${build.root}/papyrus_bom.xml"/>
+ <arg value="${basedir}/${mspec.file}" />
+ </cmdargs>
+ </buckminster>
+ </target>
+
+ <target name="build" depends="provision" unless="skip.build">
+ <echo message="Building all projects in workspace ${workspace}" />
+ <buckminster command="build">
+ <cmdargs>
+ <arg value="--thorough" />
+ </cmdargs>
+ </buckminster>
+ </target>
+
+ <target name="test" depends="build" unless="skip.tests">
+ <echo message="Running JUnit tests" />
+ <mkdir dir="${result}/testresults/" />
+ <mkdir dir="${result}/testresults/xml" />
+ <mkdir dir="${result}/testresults/consolelogs" />
+ <buckminster command="junit">
+ <cmdargs>
+ <arg value="-l" />
+ <arg value="org.eclipse.papyrus.tests/Papyrus ALL tests - Failures.launch" />
+ <arg value="-o" />
+ <arg value="${result}/testresults/xml/testReport.xml" />
+ <arg value="--terseXML" />
+ <arg value="--flatXML" />
+ <arg value="--stderr" />
+ <arg value="${result}/testresults/consolelogs/ErrorLogJunitPapyrus.txt" />
+ <arg value="--stdout" />
+ <arg value="${result}/testresults/consolelogs/OutputLogJunitPapyrus.txt" />
+ </cmdargs>
+ </buckminster>
+ <echo message="End of tests" />
+
+ <echo>Generating HTML report for Junit tests</echo>
+ <junitreport todir="${result}/testresults">
+ <fileset dir="${result}/testresults/xml">
+ <include name="*.xml" />
+ </fileset>
+ <report format="frames" todir="${result}/testresults/html" />
+ </junitreport>
+
+ </target>
+
+ <target name="clean.tools">
+ <delete dir="${tools}/director" failonerror="true" quiet="true" />
+ <delete dir="${tools}/buckminster" failonerror="true" quiet="true" />
+ </target>
+
+ <target name="clean.tp">
+ <delete dir="${targetPlatformPath}" failonerror="true" quiet="true" />
+ </target>
+
+ <target name="clean.workspace">
+ <delete dir="${workspace}" failonerror="true" quiet="true" />
+ </target>
+
+ <target name="clean.output">
+ <delete dir="${buckminster.output.root}" failonerror="true" quiet="true" />
+ <delete dir="${buckminster.temp.root}" failonerror="true" quiet="true" />
+ <delete dir="${result}/testresults" failonerror="true" quiet="true" />
+ </target>
+
+ <target name="clean.all" depends="clean.tools,clean.workspace,clean.tp,clean.output" />
+
+ <target name="do.nothing" />
+
+</project>
diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.xml
index b6cbe77..241e48c 100644
--- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.xml
+++ b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.xml
@@ -166,7 +166,7 @@
Hudson Ant property: org.eclipse.update.jarprocessor.pack200=${jdk1.5.dir}/jre/bin
<jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=${org.eclipse.update.jarprocessor.pack200}" />
-->
- <jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=${org.eclipse.update.jarprocessor.pack200.buckminster}" />
+ <jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=@none" />
<arg value="-r" />
<arg value="${eclipse.downloads}/${bm.headless.path}" />
<arg value="-d" />
diff --git a/releng/toolkit/cleaner.py b/releng/toolkit/cleaner.py
index 0b6be0a..e2768d1 100755
--- a/releng/toolkit/cleaner.py
+++ b/releng/toolkit/cleaner.py
@@ -1,4 +1,4 @@
-################################################################################
+# ###############################################################################
# Copyright (c) 2013 CEA LIST.
#
# All rights reserved. This program and the accompanying materials
@@ -9,112 +9,139 @@
# Contributors:
# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
#
-################################################################################
-
-import os # File handling
-import os.path # File path handling
-import re # Regular expressions
-import shutil # File handling
-import sys # System
-import subprocess # Process handling
-import xml.dom.minidom # Minimal XML
-
-import console # Console pretty printing
-import eclipse # Eclipse API
-import xmlutils # XML utilities
-
-
-# Print how to use this script
-def printUsage():
- print("Usage:")
- print(" python cleaner.py [-h | --help] [--color] <targets>")
- print(" <targets> is the list of files and directories to clean")
- print("Options:")
- print(" -h, --help: print this screen")
- print(" --color: activate console color")
-
-
-# Cleanup the given bundle
-def cleanup(bundle):
- cleanupClasspath(bundle)
- cleanupBuildProperties(bundle)
-
-# Cleanup the bundle's class path
-def cleanupClasspath(bundle):
- subs = os.listdir(bundle.location)
- if not ".classpath" in subs:
- return
- doc = xml.dom.minidom.parse(os.path.join(bundle.location, ".classpath"))
- dirty = False
- for entry in doc.getElementsByTagName("classpathentry"):
- data = entry.getAttribute("excluding")
- folder = entry.getAttribute("path")
- if data is not None and len(data)>0:
- files = data.split("|")
- for file in files:
- if file is not None and len(file)>0:
- dirty = True
- full = os.path.join(bundle.location, os.path.join(folder, os.path.join(file)))
- print("Found " + full)
- if full.endswith("/"):
- subprocess.call(["git", "rm", "-r", full])
- else:
- subprocess.call(["git", "rm", full])
- entry.parentNode.removeChild(entry)
- if dirty:
- xmlutils.output(doc, os.path.join(bundle.location, ".classpath"))
- console.log("Bundle " + bundle.name + " => Fixed .classpath to remove excluded sources")
-
-# Cleanup the bundle's build properties
-def cleanupBuildProperties(bundle):
- subs = os.listdir(bundle.location)
- if not "build.properties" in subs:
- return
- properties = open(os.path.join(bundle.location, "build.properties"), "r")
- found = False
- for line in properties:
- if line.find("src.includes") != -1:
- found = True
- break
- properties.close()
- if not found:
- if not "about.html" in subs:
- shutil.copy("about.html", os.path.join(bundle.location, "about.html"))
- properties = open(os.path.join(bundle.location, "build.properties"), "a")
- properties.write("src.includes = about.html\n")
- properties.close()
- console.log("Bundle " + bundle.name + " => Fixed build.properties to add src.includes")
-
-# Execute the cleanup
-def execute(targets):
- # Build the repo
- repo = eclipse.Repository()
- for target in targets:
- repo.load(target)
- # Do the cleanup
- for name in repo.plugins:
- cleanup(repo.plugins[name])
- for name in repo.features:
- cleanup(repo.features[name])
+# ###############################################################################
+
+"""
+This script cleans up a repository of Eclipse features and plugins
+in order to improve their Tycho compatibility
+"""
+
+import os # File handling
+import os.path # File path handling
+import shutil # File handling
+import sys # System
+import subprocess # Process handling
+import xml.dom.minidom # Minimal XML
+
+import console # Console pretty printing
+import eclipse # Eclipse API
+import xmlutils # XML utilities
+
+
+def print_usage():
+ """
+ Print how to use this script
+ :return: None
+ """
+ print("Usage:")
+ print(" python cleaner.py [-h | --help] [--color] <targets>")
+ print(" <targets> is the list of files and directories to clean")
+ print("Options:")
+ print(" -h, --help: print this screen")
+ print(" --color: activate console color")
+
+
+def cleanup_bundle(bundle):
+ """
+ Cleanup the specified Eclipse bundle
+ :param bundle: An Eclipse bundle
+ :return: None
+ """
+ __cleanup_classpath(bundle)
+ __cleanup_build_properties(bundle)
+
+
+def __cleanup_classpath(bundle):
+ """
+ Cleanup the classpath of the specified Eclipse bundle
+ :param bundle: An Eclipse bundle
+ :return: None
+ """
+ subs = os.listdir(bundle.location)
+ if not ".classpath" in subs:
+ return
+ doc = xml.dom.minidom.parse(os.path.join(bundle.location, ".classpath"))
+ dirty = False
+ for entry in doc.getElementsByTagName("classpathentry"):
+ data = entry.getAttribute("excluding")
+ folder = entry.getAttribute("path")
+ if data is not None and len(data) > 0:
+ files = data.split("|")
+ for file in files:
+ if file is not None and len(file) > 0:
+ dirty = True
+ full = os.path.join(bundle.location, os.path.join(folder, os.path.join(file)))
+ print("Found " + full)
+ if full.endswith("/"):
+ subprocess.call(["git", "rm", "-r", full])
+ else:
+ subprocess.call(["git", "rm", full])
+ entry.parentNode.removeChild(entry)
+ if dirty:
+ xmlutils.output(doc, os.path.join(bundle.location, ".classpath"))
+ console.log("Bundle " + bundle.name + " => Fixed .classpath to remove excluded sources")
+
+
+def __cleanup_build_properties(bundle):
+ """
+ Cleanup the build properties of the specified Eclipse bunle
+ :param bundle: An Eclipse bundle
+ :return: None
+ """
+ subs = os.listdir(bundle.location)
+ if not "build.properties" in subs:
+ return
+ properties = open(os.path.join(bundle.location, "build.properties"), "r")
+ found = False
+ for line in properties:
+ if line.find("src.includes") != -1:
+ found = True
+ break
+ properties.close()
+ if not found:
+ if not "about.html" in subs:
+ shutil.copy("about.html", os.path.join(bundle.location, "about.html"))
+ properties = open(os.path.join(bundle.location, "build.properties"), "a")
+ properties.write("src.includes = about.html\n")
+ properties.close()
+ console.log("Bundle " + bundle.name + " => Fixed build.properties to add src.includes")
+
+
+def cleanup(directories):
+ """
+ Cleanup the Eclipse bundles in the specified directories
+ :param directories: A collection of directories
+ :return: None
+ """
+ # Build the repo
+ repo = eclipse.Repository()
+ for directory in directories:
+ repo.load(directory)
+ # Do the cleanup
+ for name in repo.plugins:
+ cleanup_bundle(repo.plugins[name])
+ for name in repo.features:
+ cleanup_bundle(repo.features[name])
+
# Main script
-if __name__=="__main__":
- # Checks the arguments
- nb = len(sys.argv)
- if nb <= 1:
- printUsage()
- sys.exit(1)
-
- targets = []
- # Parse the arguments
- for arg in sys.argv[1:]:
- if arg == "-h" or arg == "--help":
- printUsage()
- sys.exit(0)
- elif arg == console.CLI_COLOR:
- console.USE_COLOR = True
- else:
- targets.append(arg)
- # Execute
- code = execute(targets)
- sys.exit(code) \ No newline at end of file
+if __name__ == "__main__":
+ # Checks the arguments
+ nb = len(sys.argv)
+ if nb <= 1:
+ print_usage()
+ sys.exit(1)
+
+ targets = []
+ # Parse the arguments
+ for arg in sys.argv[1:]:
+ if arg == "-h" or arg == "--help":
+ print_usage()
+ sys.exit(0)
+ elif arg == console.CLI_COLOR:
+ console.USE_COLOR = True
+ else:
+ targets.append(arg)
+ # Execute
+ cleanup(targets)
+ sys.exit(0) \ No newline at end of file
diff --git a/releng/toolkit/console.py b/releng/toolkit/console.py
index 9739fa3..7789840 100755
--- a/releng/toolkit/console.py
+++ b/releng/toolkit/console.py
@@ -1,4 +1,4 @@
-################################################################################
+# ###############################################################################
# Copyright (c) 2014 CEA LIST.
#
# All rights reserved. This program and the accompanying materials
@@ -9,43 +9,65 @@
# Contributors:
# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
#
-################################################################################
+# ###############################################################################
+
+"""
+API for console logging with log levels and colors
+"""
+
# Log levels
-LEVELS={
- "DEBUG":0,
- "INFO":0,
- "WARNING":93,
- "ERROR":91
+LEVELS = {
+ "DEBUG": 0,
+ "INFO": 0,
+ "WARNING": 93,
+ "ERROR": 91
}
# Color codes for the console colors
-COLORS={
- "ENDC":0, # RESET COLOR
- "GREY70":97,
- "RED":91,
- "YELLOW":93,
- "BLUE":94,
- "PURPLE":95,
- "GREEN":92,
+COLORS = {
+ "ENDC": 0, # RESET COLOR
+ "GREY70": 97,
+ "RED": 91,
+ "YELLOW": 93,
+ "BLUE": 94,
+ "PURPLE": 95,
+ "GREEN": 92,
}
# Activate/Deactivate the use of console colors
-USE_COLOR=False
+USE_COLOR = False
# Command line option to activate colors
-CLI_COLOR="--color"
+CLI_COLOR = "--color"
+
-# Logs the given message at the given level
def log(message, level="INFO"):
- print(__getFormatted(message, level))
+ """
+ Logs the given message at the given level
+ :param message: The message to log
+ :param level: The log level
+ :return: None
+ """
+ print(__get_formatted(message, level))
+
+
+def __get_formatted(message, level):
+ """
+ Gets the formatted string for the given message and level
+ :param message: The message to format
+ :param level: The log level
+ :return: The formatted message string
+ """
+ if USE_COLOR and LEVELS[level] > 0:
+ return __termcode(LEVELS[level]) + "[" + level + "] " + message + __termcode(0)
+ else:
+ return "[" + level + "] " + message
-# Gets the formatted string for the given message and level
-def __getFormatted(message, level):
- if USE_COLOR and LEVELS[level] > 0:
- return __termcode(LEVELS[level]) + "[" + level + "] " + message + __termcode(0)
- else:
- return "[" + level + "] " + message
-# Gets the string for the given console color
def __termcode(num):
- return "\033[%sm"%num \ No newline at end of file
+ """
+ Gets the string for the given console color
+ :param num: A console color
+ :return: The terminal string for the specified color
+ """
+ return "\033[%sm" % num \ No newline at end of file
diff --git a/releng/toolkit/eclipse.py b/releng/toolkit/eclipse.py
index 0e5180d..fba29a9 100755
--- a/releng/toolkit/eclipse.py
+++ b/releng/toolkit/eclipse.py
@@ -1,4 +1,4 @@
-################################################################################
+# ###############################################################################
# Copyright (c) 2014 CEA LIST.
#
# All rights reserved. This program and the accompanying materials
@@ -9,126 +9,174 @@
# Contributors:
# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
#
-################################################################################
+# ###############################################################################
-# This script provides an API to load and manipulate
-# Eclipse plugins and features in a code repository
+"""
+This script provides an API to load and manipulate
+Eclipse plugins and features in a code repository
+"""
+
+import os # File handling
+import os.path # File path handling
+import re # Regular expressions
+import xml.dom.minidom # Minimal XML
-import os # File handling
-import os.path # File path handling
-import re # Regular expressions
-import xml.dom.minidom # Minimal XML
-# Represents an Eclipse bundle
class Bundle:
- # Constructor
- def __init__(self, location):
- # The name as the last element of the path (folder name)
- self.name = os.path.basename(location)
- # The folder
- self.location = location
+ """
+ Represents an Eclipse bundle
+ """
+
+ def __init__(self, location):
+ """
+ Initializes this bundle
+ :param location: The bundle's location
+ :return: The bundle
+ """
+ # The name as the last element of the path (folder name)
+ self.name = os.path.basename(location)
+ # The folder
+ self.location = location
-# Represents an Eclipse plugin
class Plugin(Bundle):
- def __init__(self, location):
- Bundle.__init__(self, location)
- # Initializes the list of dependencies
- self.dependencies=[]
- # Initializes the manifest data
- self.properties={}
- # Load the data from manifest
- manifest = open(os.path.join(os.path.join(location, "META-INF"), "MANIFEST.MF"), "r")
- onDep = False
- for line in manifest:
- if line.startswith("Require-Bundle:") or onDep:
- m = re.search("[a-zA-Z_][a-zA-Z_0-9]+(\\.[a-zA-Z_][a-zA-Z_0-9]+)+", line)
- dep = m.group(0)
- self.dependencies.append(dep)
- onDep = line.endswith(",")
- elif line.startswith("Bundle-"):
- m = re.match("Bundle-(\\w+): (.*)", line)
- self.properties[m.group(1)] = m.group(2)
- manifest.close()
-
-
-# Represents an Eclipse feature
+ """
+ Represents an Eclipse plugin
+ """
+
+ def __init__(self, location):
+ """
+ Initializes this plugin
+ :param location: The plugin's location
+ :return: The plugin
+ """
+ Bundle.__init__(self, location)
+ # Initializes the list of dependencies
+ self.dependencies = []
+ # Initializes the manifest data
+ self.properties = {}
+ # Load the data from manifest
+ manifest = open(os.path.join(os.path.join(location, "META-INF"), "MANIFEST.MF"), "r")
+ on_dependency = False
+ for line in manifest:
+ if line.startswith("Require-Bundle:") or on_dependency:
+ m = re.search("[a-zA-Z_][a-zA-Z_0-9]+(\\.[a-zA-Z_][a-zA-Z_0-9]+)+", line)
+ dep = m.group(0)
+ self.dependencies.append(dep)
+ on_dependency = line.endswith(",")
+ elif line.startswith("Bundle-"):
+ m = re.match("Bundle-(\\w+): (.*)", line)
+ self.properties[m.group(1)] = m.group(2)
+ manifest.close()
+
+
class Feature(Bundle):
- def __init__(self, location):
- Bundle. __init__(self, location)
- # Initializes the list of the included features
- self.included=[]
- # Initializes the list of the plugins
- self.plugins=[]
- # Load the content
- doc = xml.dom.minidom.parse(os.path.join(location, "feature.xml"))
- for node in doc.getElementsByTagName("plugin"):
- id = node.getAttribute("id")
- self.plugins.append(id)
- for node in doc.getElementsByTagName("includes"):
- id = node.getAttribute("id")
- self.included.append(id)
-
-
-# Represents a repository of Eclipse plugins and features
+ """
+ Represents an Eclipse feature
+ """
+
+ def __init__(self, location):
+ """
+ Represents an Eclipse feature
+ :param location: The feature's location
+ :return: The feature
+ """
+ Bundle.__init__(self, location)
+ # Initializes the list of the included features
+ self.included = []
+ # Initializes the list of the plugins
+ self.plugins = []
+ # Load the content
+ doc = xml.dom.minidom.parse(os.path.join(location, "feature.xml"))
+ for node in doc.getElementsByTagName("plugin"):
+ identifier = node.getAttribute("id")
+ self.plugins.append(identifier)
+ for node in doc.getElementsByTagName("includes"):
+ identifier = node.getAttribute("id")
+ self.included.append(identifier)
+
+
class Repository:
- def __init__(self):
- # Initializes a dictionary of plugins indexed by name
- self.plugins={}
- # Initializes a dictionary of features indexed by name
- self.features={}
-
- # Recursively load plugins and features in the given directory
- def load(self, dir):
- subs = os.listdir(dir)
- if "META-INF" in subs:
- # this is a plugin
- plugin = Plugin(dir)
- self.plugins[plugin.name] = plugin
- return
- if "feature.xml" in subs:
- # this is a feature
- feature = Feature(dir)
- self.features[feature.name] = feature
- return
- for name in subs:
- sub = os.path.join(dir, name)
- if os.path.isdir(sub):
- self.load(sub)
-
- # Checks the consistency of the repository to check whether
- # all required features and plugins are present
- # The given pattern is used to determine whether a feature or
- # plugin is required ; matching means required
- # This method returns the list of the missing features and plugins
- def check(self, includePattern, excludePattern):
- result=[]
- for name in self.features:
- if match(name, excludePattern):
- continue
- feature = self.features[name]
- for included in feature.included:
- if match(included, excludePattern):
- continue
- if not included in self.features and match(included, includePattern):
- result.append(included)
- for plugin in feature.plugins:
- if match(plugin, excludePattern):
- continue
- if not plugin in self.plugins and match(plugin, includePattern):
- result.append(plugin)
- for name in self.plugins:
- if match(name, excludePattern):
- continue
- plugin = self.plugins[name]
- for dep in plugin.dependencies:
- if match(dep, excludePattern):
- continue
- if not dep in self.plugins and match(dep, includePattern):
- result.append(dep)
- return result
+ """
+ Represents a repository of Eclipse plugins and features
+ """
+
+ def __init__(self):
+ """
+ Initializes this repository
+ :return: The repository
+ """
+ # Initializes a dictionary of plugins indexed by name
+ self.plugins = {}
+ # Initializes a dictionary of features indexed by name
+ self.features = {}
+
+ def load(self, directory):
+ """
+ Recursively load plugins and features in the given directory
+ :param directory: The directory to load from
+ :return: None
+ """
+ subs = os.listdir(directory)
+ if "META-INF" in subs:
+ # this is a plugin
+ plugin = Plugin(directory)
+ self.plugins[plugin.name] = plugin
+ return
+ if "feature.xml" in subs:
+ # this is a feature
+ feature = Feature(directory)
+ self.features[feature.name] = feature
+ return
+ for name in subs:
+ sub = os.path.join(directory, name)
+ if os.path.isdir(sub):
+ self.load(sub)
+
+ def check(self, include_pattern, exclude_pattern):
+ """
+ Checks the consistency of the repository to check whether
+ all required features and plugins are present
+ The given pattern is used to determine whether a feature or
+ plugin is required ; matching means required
+ This method returns the list of the missing features and plugins
+ :param include_pattern: A pattern matching the bundles to include
+ :param exclude_pattern: A pattern matching the bundles to exclude
+ :return: The missing bundles
+ """
+ result = []
+ for name in self.features:
+ if match(name, exclude_pattern):
+ continue
+ feature = self.features[name]
+ for included in feature.included:
+ if match(included, exclude_pattern):
+ continue
+ if not included in self.features and match(included, include_pattern):
+ result.append(included)
+ for plugin in feature.plugins:
+ if match(plugin, exclude_pattern):
+ continue
+ if not plugin in self.plugins and match(plugin, include_pattern):
+ result.append(plugin)
+ for name in self.plugins:
+ if match(name, exclude_pattern):
+ continue
+ plugin = self.plugins[name]
+ for dep in plugin.dependencies:
+ if match(dep, exclude_pattern):
+ continue
+ if not dep in self.plugins and match(dep, include_pattern):
+ result.append(dep)
+ return result
def match(value, pattern):
- m = re.match(pattern, value)
- return (m is not None) \ No newline at end of file
+ """
+ Determines whether the specified value matches the given pattern
+ :param value: A value
+ :param pattern: A pattern
+ :return: True if the value matches the pattern
+ """
+ m = re.match(pattern, value)
+ return m is not None \ No newline at end of file
diff --git a/releng/toolkit/tycho-generator.py b/releng/toolkit/tycho-generator.py
index dbf24ff..fd2b7d2 100755
--- a/releng/toolkit/tycho-generator.py
+++ b/releng/toolkit/tycho-generator.py
@@ -1,4 +1,4 @@
-################################################################################
+# ###############################################################################
# Copyright (c) 2014 CEA LIST.
#
# All rights reserved. This program and the accompanying materials
@@ -9,34 +9,44 @@
# Contributors:
# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
#
-################################################################################
+# ###############################################################################
-import os # File handling
-import os.path # File path handling
-import re # Regular expressions
-import sys # System
-import xml.dom.minidom # Minimal XML
+"""
+This script provides an API to generate the Tycho
+configuration files (pom.xml) for an Eclipse code repository
+"""
-import console # Console pretty printing
-import eclipse # Eclipse API
-import xmlutils # XML utilities
+import os # File handling
+import os.path # File path handling
+import sys # System
+import xml.dom.minidom # Minimal XML
+
+import console # Console pretty printing
+import eclipse # Eclipse API
+import xmlutils # XML utilities
-# Represents a build target
class Target:
- def __init__(self, name, pom, site, feature):
- # The target's name
- self.name = name
- # The path to the top pom.xml file
- self.pom = pom
- # The path to the repository (update site) project
- self.site = site
- # The target's top feature
- self.feature = feature
+ """
+ Represents a build target
+ """
+ def __init__(self, name, pom, site, feature):
+ """
+ Initializes this build target
+ :param name: The target's name
+ :param pom: Path to the target top pom.xml
+ :param site: Path to the target's site
+ :param feature: Identifier of the target's top Eclipse feature
+ :return: The build target
+ """
+ self.name = name
+ self.pom = pom
+ self.site = site
+ self.feature = feature
# General constants
-MAVEN_MODEL_VERSION="4.0.0"
+MAVEN_MODEL_VERSION = "4.0.0"
# Product constants
PRODUCT_VERSION = "1.0.0"
@@ -46,189 +56,240 @@ PRODUCT_CATEGORY_DESC = PRODUCT_CATEGORY_LABEL
PRODUCT_GROUP = "org.eclipse.papyrus"
# Generator targets configuration
-TARGETS = [ Target( "main",
- "releng/top-pom-main.xml",
- "releng/main",
- "org.eclipse.papyrus.sdk.feature"),
- Target( "extras",
- "releng/top-pom-extras.xml",
- "releng/extras",
- "org.eclipse.papyrus.extra.feature"),
- Target( "dev",
- "releng/top-pom-dev.xml",
- "releng/dev",
- "org.eclipse.papyrus.dev.feature") ]
+TARGETS = [Target("main",
+ "releng/top-pom-main.xml",
+ "releng/main",
+ "org.eclipse.papyrus.sdk.feature"),
+ Target("extras",
+ "releng/top-pom-extras.xml",
+ "releng/extras",
+ "org.eclipse.papyrus.extra.feature"),
+ Target("dev",
+ "releng/top-pom-dev.xml",
+ "releng/dev",
+ "org.eclipse.papyrus.dev.feature")]
+
# Generator inputs configuration
INPUTS = [
- "plugins",
- "extraplugins",
- "features/papyrus-main-features",
- "features/papyrus-extra-features",
- "features/papyrus-dev-features"
+ "plugins",
+ "extraplugins",
+ "features/papyrus-main-features",
+ "features/papyrus-extra-features",
+ "features/papyrus-dev-features"
]
+
# Pattern to recognize required plugin to include in the build
PATTERN_INCLUDE = "org\\.eclipse\\.papyrus\\..*"
# Pattern to recognize required plugin to exclude from the build
PATTERN_EXCLUDE = "(.*\\.source.feature)|(.*\\.tests)"
-# Print how to use this script
-def printUsage():
- print("Usage:")
- print(" python tycho-generator.py [-h | --help] [--color]")
- print("Options:")
- print(" -h, --help: print this screen")
- print(" --color: activate console color")
-
-
-# Generate the Tycho data and files
-def generate(inputs, targets, includePattern, excludePattern):
- # Build repo
- console.log("== Preparing the repository ...")
- repo = getRepo(inputs, includePattern, excludePattern)
- if repo is None:
- return 1
- # Setup the bundles' target data
- for target in targets:
- addTarget(repo, target.feature, target)
- # Generate all bundles POM
- console.log("== Generating POM for features ...")
- for name in iter(sorted(repo.features)):
- if not generateBundlePOM(repo.features[name], "eclipse-feature"):
- return 2
- console.log("== Generating POM for plugins ...")
- for name in iter(sorted(repo.plugins)):
- if not generateBundlePOM(repo.plugins[name], "eclipse-plugin"):
- return 2
- # Update the targets' top pom.xml
- console.log("== Updating the module references in top POMs ...")
- for target in targets:
- updateModules(repo, target)
- return 0
-
-
-# Gets an initialized repository of features and plugins
-# includePattern is used to identify required plugins and features
-# excludePattern is used to ignore MISSING plugins and features
-def getRepo(inputs, includePattern, excludePattern):
- # Build the repo
- repo = eclipse.Repository()
- for input in inputs:
- repo.load(input)
- # Check for missing bundles
- missing = repo.check(includePattern, excludePattern)
- for m in missing:
- console.log("Missing bundle " + m, "ERROR")
- if len(missing) > 0:
- return None
- # Initializes the targets
- for name in repo.plugins:
- repo.plugins[name].targets = []
- for name in repo.features:
- repo.features[name].targets = []
- return repo
-
-
-# Recursively add a target to a feature, its included features and its plugins
-def addTarget(repo, featureName, target):
- # If the feature is missing
- if not featureName in repo.features:
- return
- feature = repo.features[featureName]
- # Add the target is required
- if not target in feature.targets:
- feature.targets.append(target)
- # Traverse all sub-features
- for included in feature.included:
- addTarget(repo, included, target)
- # Traverse all plugins
- for name in feature.plugins:
- if name in repo.plugins:
- plugin = repo.plugins[name]
- if not target in plugin.targets:
- plugin.targets.append(target)
-
-
-# Generate the pom.xml file for the given bundle and given packaging
-def generateBundlePOM(bundle, packaging):
- if len(bundle.targets) == 0:
- console.log("Bundle " + bundle.name + " has no target => skipped", "WARNING")
- return True
- if len(bundle.targets) >= 2:
- console.log("Bundle " + bundle.name + " has more than one target:", "ERROR")
- for target in bundle.targets:
- console.log("\t" + target, "ERROR")
- return False
- if os.path.isfile(os.path.join(bundle.location, "pom.xml")):
- console.log("Bundle " + bundle.name + " already has pom.xml => skipped")
- return True
- relative = os.path.relpath(".", bundle.location)
- relative = os.path.join(relative, bundle.targets[0].pom)
- impl = xml.dom.minidom.getDOMImplementation()
- doc = impl.createDocument(None, "project", None)
- project = doc.documentElement
- appendText(doc, project, "modelVersion", MAVEN_MODEL_VERSION)
- parent = doc.createElement("parent")
- project.appendChild(parent)
- appendTychoRef(doc, parent, PRODUCT_GROUP)
- appendText(doc, parent, "relativePath", relative)
- appendTychoRef(doc, project, bundle.name)
- appendText(doc, project, "packaging", packaging)
- xmlutils.output(doc, os.path.join(bundle.location, "pom.xml"))
- console.log("Bundle " + bundle.name + " POM generated for target " + bundle.targets[0].name)
- return True
-
-
-# Append an element node with the given tag and content
-def appendText(doc, parent, tag, content):
- child = doc.createElement(tag)
- parent.appendChild(child)
- child.appendChild(doc.createTextNode(content))
-
-
-# Append Tycho-specific data
-def appendTychoRef(doc, parent, id):
- appendText(doc, parent, "artifactId", id)
- appendText(doc, parent, "groupId", PRODUCT_GROUP)
- appendText(doc, parent, "version", PRODUCT_VERSION + "-SNAPSHOT")
-
-
-# Updates the modules for the given target
-def updateModules(repo, target):
- doc = xml.dom.minidom.parse(target.pom)
- modules = doc.getElementsByTagName("modules")[0]
- for module in modules.getElementsByTagName("module"):
- modules.removeChild(module)
- for name in iter(sorted(repo.features)):
- feature = repo.features[name]
- if target in feature.targets:
- modules.appendChild(getBundleModuleNode(feature, doc, target))
- for name in iter(sorted(repo.plugins)):
- plugin = repo.plugins[name]
- if target in plugin.targets:
- modules.appendChild(getBundleModuleNode(plugin, doc, target))
- repoNode = doc.createElement("module")
- repoNode.appendChild(doc.createTextNode(target.name))
- modules.appendChild(repoNode)
- xmlutils.output(doc, target.pom)
- console.log("Updated top POM for target " + target.name)
-
-# Get the path to this bundle relatively to the given target's top POM
-def getBundleModuleNode(bundle, doc, target):
- child = doc.createElement("module")
- child.appendChild(doc.createTextNode(os.path.join("..", bundle.location)))
- return child
+def print_usage():
+ """
+ Print how to use this script
+ :return: None
+ """
+ print("Usage:")
+ print(" python tycho-generator.py [-h | --help] [--color]")
+ print("Options:")
+ print(" -h, --help: print this screen")
+ print(" --color: activate console color")
+
+
+def generate(inputs, targets, include_pattern, exclude_pattern):
+ """
+ Generate the Tycho data and files
+ :param inputs: Array of input directories to load Eclipse plugins and features from
+ :param targets: Array of build targets
+ :param include_pattern: Pattern matching Eclipse bundle to include into a build target
+ :param exclude_pattern: Pattern matching Eclipse bundle to exclude from any build target
+ :return: The error code, or 0 if all went well
+ """
+ # Build repo
+ console.log("== Preparing the repository ...")
+ repo = __build_repository(inputs, include_pattern, exclude_pattern)
+ if repo is None:
+ return 1
+ # Setup the bundles' target data
+ for target in targets:
+ __add_target(repo, target.feature, target)
+ # Generate all bundles POM
+ console.log("== Generating POM for features ...")
+ for name in iter(sorted(repo.features)):
+ if not __generate_bundle_pom(repo.features[name], "eclipse-feature"):
+ return 2
+ console.log("== Generating POM for plugins ...")
+ for name in iter(sorted(repo.plugins)):
+ if not __generate_bundle_pom(repo.plugins[name], "eclipse-plugin"):
+ return 2
+ # Update the targets' top pom.xml
+ console.log("== Updating the module references in top POMs ...")
+ for target in targets:
+ __update_modules(repo, target)
+ return 0
+
+
+def __build_repository(inputs, include_pattern, exclude_pattern):
+ """
+ Gets an initialized repository of features and plugins
+ :param inputs: Array of input directories to load Eclipse plugins and features from
+ :param include_pattern: Pattern matching Eclipse bundle to include into a build target
+ :param exclude_pattern: Pattern matching Eclipse bundle to exclude from any build target
+ :return: The corresponding repository of Eclipse plugins and features
+ """
+ # Build the repo
+ repository = eclipse.Repository()
+ for directory_input in inputs:
+ repository.load(directory_input)
+ # Check for missing bundles
+ missing = repository.check(include_pattern, exclude_pattern)
+ for m in missing:
+ console.log("Missing bundle " + m, "ERROR")
+ if len(missing) > 0:
+ return None
+ # Initializes the targets
+ for name in repository.plugins:
+ repository.plugins[name].targets = []
+ for name in repository.features:
+ repository.features[name].targets = []
+ return repository
+
+
+def __add_target(repository, feature_identifier, target):
+ """
+ Recursively add a build target to a feature, its included features and its plugins
+ :param repository: The Eclipse repository to work on
+ :param feature_identifier: The identifier of the Eclipse feature to add a build target for
+ :param target: The build target to add
+ :return: None
+ """
+ # If the feature is missing
+ if not feature_identifier in repository.features:
+ return
+ feature = repository.features[feature_identifier]
+ # Add the target is required
+ if not target in feature.targets:
+ feature.targets.append(target)
+ # Traverse all sub-features
+ for included in feature.included:
+ __add_target(repository, included, target)
+ # Traverse all plugins
+ for name in feature.plugins:
+ if name in repository.plugins:
+ plugin = repository.plugins[name]
+ if not target in plugin.targets:
+ plugin.targets.append(target)
+
+
+def __generate_bundle_pom(bundle, packaging):
+ """
+ Generate the pom.xml file for the given bundle and given packaging
+ :param bundle: The bundle to generate the pom for
+ :param packaging: The type of packaging (feature or plugin)
+ :return: True if the operation succeeded, False otherwise
+ """
+ if len(bundle.targets) == 0:
+ console.log("Bundle " + bundle.name + " has no target => skipped", "WARNING")
+ return True
+ if len(bundle.targets) >= 2:
+ console.log("Bundle " + bundle.name + " has more than one target:", "ERROR")
+ for target in bundle.targets:
+ console.log("\t" + target, "ERROR")
+ return False
+ if os.path.isfile(os.path.join(bundle.location, "pom.xml")):
+ console.log("Bundle " + bundle.name + " already has pom.xml => skipped")
+ return True
+ relative = os.path.relpath(".", bundle.location)
+ relative = os.path.join(relative, bundle.targets[0].pom)
+ impl = xml.dom.minidom.getDOMImplementation()
+ doc = impl.createDocument(None, "project", None)
+ project = doc.documentElement
+ __xml_append_text(doc, project, "modelVersion", MAVEN_MODEL_VERSION)
+ parent = doc.createElement("parent")
+ project.appendChild(parent)
+ __xml_append_tycho_ref(doc, parent, PRODUCT_GROUP)
+ __xml_append_text(doc, parent, "relativePath", relative)
+ __xml_append_tycho_ref(doc, project, bundle.name)
+ __xml_append_text(doc, project, "packaging", packaging)
+ xmlutils.output(doc, os.path.join(bundle.location, "pom.xml"))
+ console.log("Bundle " + bundle.name + " POM generated for target " + bundle.targets[0].name)
+ return True
+
+
+def __xml_append_text(doc, parent, tag, content):
+ """
+ Append an element node with the given tag and content
+ :param doc: The parent document
+ :param parent: The parent XML element node
+ :param tag: The element tag to create
+ :param content: The content of the element to create
+ :return: None
+ """
+ child = doc.createElement(tag)
+ parent.appendChild(child)
+ child.appendChild(doc.createTextNode(content))
+
+
+def __xml_append_tycho_ref(doc, parent, tycho_identifier):
+ """
+ Append a reference to a Tycho module
+ :param doc: The parent document
+ :param parent: The parent XML element node
+ :param tycho_identifier: The Tycho module identifier
+ :return:
+ """
+ __xml_append_text(doc, parent, "artifactId", tycho_identifier)
+ __xml_append_text(doc, parent, "groupId", PRODUCT_GROUP)
+ __xml_append_text(doc, parent, "version", PRODUCT_VERSION + "-SNAPSHOT")
+
+
+def __update_modules(repository, target):
+ """
+ Updates the modules for the given target
+ :param repository: The Eclipse repository to work on
+ :param target: The build target to update
+ :return: None
+ """
+ doc = xml.dom.minidom.parse(target.pom)
+ modules = doc.getElementsByTagName("modules")[0]
+ for module in modules.getElementsByTagName("module"):
+ modules.removeChild(module)
+ for name in iter(sorted(repository.features)):
+ feature = repository.features[name]
+ if target in feature.targets:
+ modules.appendChild(__get_module_node(feature, doc))
+ for name in iter(sorted(repository.plugins)):
+ plugin = repository.plugins[name]
+ if target in plugin.targets:
+ modules.appendChild(__get_module_node(plugin, doc))
+ repo_node = doc.createElement("module")
+ repo_node.appendChild(doc.createTextNode(target.name))
+ modules.appendChild(repo_node)
+ xmlutils.output(doc, target.pom)
+ console.log("Updated top POM for target " + target.name)
+
+
+def __get_module_node(bundle, doc):
+ """
+ Get the path to the specified bundle relatively to the given target's top POM
+ :param bundle: An Eclipse bundle
+ :param doc: The parent XML document
+ :return: The XML node containing the relative path
+ """
+ child = doc.createElement("module")
+ child.appendChild(doc.createTextNode(os.path.join("..", bundle.location)))
+ return child
# Main script
-if __name__=="__main__":
- # Checks the arguments
- for arg in sys.argv[1:]:
- if arg == "-h" or arg == "--help":
- printUsage()
- sys.exit(0)
- elif arg == console.CLI_COLOR:
- console.USE_COLOR = True
- # Execute the generation
- code = generate(INPUTS, TARGETS, PATTERN_INCLUDE, PATTERN_EXCLUDE)
- sys.exit(code) \ No newline at end of file
+if __name__ == "__main__":
+ # Checks the arguments
+ for arg in sys.argv[1:]:
+ if arg == "-h" or arg == "--help":
+ print_usage()
+ sys.exit(0)
+ elif arg == console.CLI_COLOR:
+ console.USE_COLOR = True
+ # Execute the generation
+ code = generate(INPUTS, TARGETS, PATTERN_INCLUDE, PATTERN_EXCLUDE)
+ sys.exit(code) \ No newline at end of file
diff --git a/releng/toolkit/tycho-updater.py b/releng/toolkit/tycho-updater.py
index 70ca723..4749e7d 100755
--- a/releng/toolkit/tycho-updater.py
+++ b/releng/toolkit/tycho-updater.py
@@ -1,4 +1,4 @@
-################################################################################
+# ###############################################################################
# Copyright (c) 2014 CEA LIST.
#
# All rights reserved. This program and the accompanying materials
@@ -9,132 +9,156 @@
# Contributors:
# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
#
-################################################################################
+# ###############################################################################
-# This script provides an API to update the URI
-# of P2 update sites in Tycho pom.xml using the
-# Eclipse SIMREL repository
+"""
+This script provides an API to update the URI
+of P2 update sites in Tycho pom.xml using the
+Eclipse SIMREL repository
+"""
-import os.path # File path handling
-import re # Regular expressions
-import shutil # Shell utilities
-import subprocess # OS Process management
-import sys # System
-import xml.dom.minidom # Minimal XML
+import os.path # File path handling
+import re # Regular expressions
+import shutil # Shell utilities
+import subprocess # OS Process management
+import sys # System
+import xml.dom.minidom # Minimal XML
-import console # Console pretty printing
-import xmlutils # XML utilities
+import console # Console pretty printing
+import xmlutils # XML utilities
# URI of the git SIMREL repository
-SIMREL_GIT="http://git.eclipse.org/gitroot/simrel/org.eclipse.simrel.build.git"
+SIMREL_GIT = "http://git.eclipse.org/gitroot/simrel/org.eclipse.simrel.build.git"
# Path of the local SIMREL repository
-SIMREL_PATH="simrel"
-
-
-# Print how to use this script
-def printUsage():
- print("Usage:")
- print(" python tycho-updater.py [-h | --help] [--color] [--simrel <local>] <targets>")
- print(" <targets> is the list of file to update")
- print("Options:")
- print(" -h, --help: print this screen")
- print(" --color: activate console color")
- print(" --simrel <local>: use the SIMREL repo at the given <local> path")
-
-# Get the update site URL for the given identifier
-# An identifier is a simple name with an optional '[index]' suffix where index is the integer index of the update site to use
-def getURLFor(simrel, id):
- m = re.match("(?P<id>(\\w|-)+)(\\[(?P<index>\\d+)\\])?", id)
- if m is None:
- return None
- file = simrel + "/" + m.group("id") + ".b3aggrcon"
- index = m.group("index")
- if index is None:
- index = 0
- else:
- index = int(index)
- if os.path.isfile(file):
- content = xml.dom.minidom.parse(simrel + "/" + m.group("id") + ".b3aggrcon")
- location = content.getElementsByTagName("repositories")[index].getAttribute("location")
- return location
- return None
-
-# Update the given Tycho pom.xml file with new update sites
+SIMREL_PATH = "simrel"
+
+
+def print_usage():
+ """
+ Print how to use this script
+ :return: None
+ """
+ print("Usage:")
+ print(" python tycho-updater.py [-h | --help] [--color] [--simrel <local>] <targets>")
+ print(" <targets> is the list of file to update")
+ print("Options:")
+ print(" -h, --help: print this screen")
+ print(" --color: activate console color")
+ print(" --simrel <local>: use the SIMREL repo at the given <local> path")
+
+
+def __get_url_for(simrel, identifier):
+ """
+ Get the update site URL for the given identifier
+ An identifier is a simple name with an optional '[index]' suffix
+ where index is the integer index of the update site to use
+ :param simrel: Path to the local simrel repository
+ :param identifier: Identifier of the dependency
+ :return: The URL for the dependency
+ """
+ m = re.match("(?P<id>(\\w|-)+)(\\[(?P<index>\\d+)\\])?", identifier)
+ if m is None:
+ return None
+ file = simrel + "/" + m.group("id") + ".b3aggrcon"
+ index = m.group("index")
+ if index is None:
+ index = 0
+ else:
+ index = int(index)
+ if os.path.isfile(file):
+ content = xml.dom.minidom.parse(simrel + "/" + m.group("id") + ".b3aggrcon")
+ location = content.getElementsByTagName("repositories")[index].getAttribute("location")
+ return location
+ return None
+
+
def update(simrel, target):
- console.log("Reading " + target)
- pom = xml.dom.minidom.parse(target)
-
- console.log("Updating " + target)
- for node in pom.getElementsByTagName("repository"):
- id = node.getElementsByTagName("id")[0].childNodes[0].data
- url = node.getElementsByTagName("url")[0].childNodes[0].data
- data = getURLFor(simrel, id)
- if data == None:
- console.log(id + " => no matching repository found", "WARNING")
- else:
- if data == url:
- console.log(id + " => no change")
- else:
- node.getElementsByTagName("url")[0].childNodes[0].data = data
- console.log(id + " => updated to " + data)
-
- console.log("Writing back " + target)
- xmlutils.output(pom, target)
-
-
-
-# Main script
-if __name__=="__main__":
- # Checks the arguments
- nb = len(sys.argv)
- if nb <= 1:
- printUsage()
- sys.exit(1)
-
- # Initializes the local data
- local = False
- simrel = SIMREL_PATH
- targets = []
-
- # Parse the arguments
- expectLocal = False
- for arg in sys.argv[1:]:
- if arg == "-h" or arg == "--help":
- printUsage()
- sys.exit(0)
- elif arg == console.CLI_COLOR:
- console.USE_COLOR = True
- elif arg == "--simrel":
- expectLocal = True
- elif expectLocal:
- local = True
- simrel = arg
- expectLocal = False
- else:
- targets.append(arg)
-
- # Checks the data
- if expectLocal:
- console.log("Expected path the local SIMREL repo", "ERROR")
- printUsage()
- sys.exit(1)
- if len(targets) == 0:
- console.log("No target given", "ERROR")
- printUsage()
- sys.exit(1)
-
- # Clone the SIMREL repo if needed
- if local:
- console.log("Using local simrel at " + simrel)
- else:
- console.log("Cloning the simrel repository from Eclipse")
- subprocess.call(["git", "clone", SIMREL_GIT, simrel])
- # Do the updates
- for target in targets:
- update(simrel, target)
- # Cleanup if required
- if not local:
- console.log("Cleaning up ...")
- shutil.rmtree(simrel) \ No newline at end of file
+ """
+ Update the given Tycho pom.xml file with new update sites
+ :param simrel: Path to the local simrel repository
+ :param target: Path to the target pom.xml to update
+ :return: None
+ """
+ console.log("Reading " + target)
+ pom = xml.dom.minidom.parse(target)
+
+ console.log("Updating " + target)
+ for node in pom.getElementsByTagName("repository"):
+ identifier = node.getElementsByTagName("id")[0].childNodes[0].data
+ url = node.getElementsByTagName("url")[0].childNodes[0].data
+ data = __get_url_for(simrel, identifier)
+ if data is None:
+ console.log(identifier + " => no matching repository found", "WARNING")
+ else:
+ if data == url:
+ console.log(identifier + " => no change")
+ else:
+ node.getElementsByTagName("url")[0].childNodes[0].data = data
+ console.log(identifier + " => updated to " + data)
+
+ console.log("Writing back " + target)
+ xmlutils.output(pom, target)
+
+
+def execute(arguments):
+ """
+ Executes the update process
+ :return: None
+ """
+ # Checks the arguments
+ nb = len(arguments)
+ if nb <= 1:
+ print_usage()
+ sys.exit(1)
+
+ # Initializes the local data
+ local = False
+ simrel = SIMREL_PATH
+ targets = []
+
+ # Parse the arguments
+ expect_local = False
+ for arg in arguments[1:]:
+ if arg == "-h" or arg == "--help":
+ print_usage()
+ sys.exit(0)
+ elif arg == console.CLI_COLOR:
+ console.USE_COLOR = True
+ elif arg == "--simrel":
+ expect_local = True
+ elif expect_local:
+ local = True
+ simrel = arg
+ expect_local = False
+ else:
+ targets.append(arg)
+
+ # Checks the data
+ if expect_local:
+ console.log("Expected path the local SIMREL repo", "ERROR")
+ print_usage()
+ sys.exit(1)
+ if len(targets) == 0:
+ console.log("No target given", "ERROR")
+ print_usage()
+ sys.exit(1)
+
+ # Clone the SIMREL repo if needed
+ if local:
+ console.log("Using local simrel at " + simrel)
+ else:
+ console.log("Cloning the simrel repository from Eclipse")
+ subprocess.call(["git", "clone", SIMREL_GIT, simrel])
+ # Do the updates
+ for target in targets:
+ update(simrel, target)
+ # Cleanup if required
+ if not local:
+ console.log("Cleaning up ...")
+ shutil.rmtree(simrel)
+
+
+if __name__ == "__main__":
+ execute(sys.argv) \ No newline at end of file
diff --git a/releng/toolkit/xmlutils.py b/releng/toolkit/xmlutils.py
index cb206f4..90b6258 100755
--- a/releng/toolkit/xmlutils.py
+++ b/releng/toolkit/xmlutils.py
@@ -1,4 +1,4 @@
-################################################################################
+# ###############################################################################
# Copyright (c) 2014 CEA LIST.
#
# All rights reserved. This program and the accompanying materials
@@ -9,24 +9,31 @@
# Contributors:
# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
#
-################################################################################
-
-# System imports
-import xml.dom.minidom # Minimal XML
+# ###############################################################################
+"""
+API for the serialization of pretty-printed XML files
+"""
# encoding of the XML files
-XML_ENCODING="UTF-8"
+XML_ENCODING = "UTF-8"
# identation string
-XML_IDENT="\t"
+XML_IDENT = "\t"
# new line string
-XML_NEWLINE="\n"
+XML_NEWLINE = "\n"
-# Outputs the XML document in the given file with pretty printing
def output(document, file):
- document.normalize()
- content = XML_NEWLINE.join([line for line in document.toprettyxml(XML_IDENT, XML_NEWLINE, XML_ENCODING).split(XML_NEWLINE) if line.strip()])
- output = open(file, "w")
- output.write(content)
- output.close() \ No newline at end of file
+ """
+ Outputs the XML document in the given file with pretty printing
+ :param document: The XML document to serialize
+ :param file: The file to output to
+ :return: None
+ """
+ document.normalize()
+ content = XML_NEWLINE.join(
+ [line for line in document.toprettyxml(XML_IDENT, XML_NEWLINE, XML_ENCODING).split(XML_NEWLINE) if
+ line.strip()])
+ result = open(file, "w")
+ result.write(content)
+ result.close() \ No newline at end of file
diff --git a/releng/top-pom-dev.xml b/releng/top-pom-dev.xml
index 40393e0..64855ec 100755
--- a/releng/top-pom-dev.xml
+++ b/releng/top-pom-dev.xml
@@ -34,12 +34,12 @@
<repository>
<id>ep</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/eclipse/updates/4.4</url>
+ <url>http://download.eclipse.org/eclipse/updates/4.4/R-4.4-201406061215/</url>
</repository>
<repository>
<id>emf-cdo</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/emf/cdo/drops/S20140312-0256</url>
+ <url>http://download.eclipse.org/modeling/emf/cdo/drops/R20140610-0212</url>
</repository>
<repository>
<id>papyrus-main</id>
diff --git a/releng/top-pom-extras.xml b/releng/top-pom-extras.xml
index e8b3387..407bf66 100755
--- a/releng/top-pom-extras.xml
+++ b/releng/top-pom-extras.xml
@@ -101,7 +101,6 @@
<module>../extraplugins/moka/org.eclipse.papyrus.moka.async.fuml</module>
<module>../extraplugins/moka/org.eclipse.papyrus.moka.composites</module>
<module>../extraplugins/moka/org.eclipse.papyrus.moka.composites.utils</module>
- <module>../plugins/doc/org.eclipse.papyrus.moka.doc</module>
<module>../extraplugins/moka/org.eclipse.papyrus.moka.fuml</module>
<module>../extraplugins/moka/org.eclipse.papyrus.moka.fuml.assertionlibrary</module>
<module>../extraplugins/moka/org.eclipse.papyrus.moka.fuml.standardlibrary</module>
@@ -151,7 +150,7 @@
<repository>
<id>birt</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/birt/update-site/luna-interim/</url>
+ <url>http://download.eclipse.org/birt/update-site/4.4/</url>
</repository>
<repository>
<id>cdt</id>
@@ -166,12 +165,12 @@
<repository>
<id>emf-cdo</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/emf/cdo/drops/S20140527-0307</url>
+ <url>http://download.eclipse.org/modeling/emf/cdo/drops/R20140610-0212</url>
</repository>
<repository>
<id>emf-compare</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/emf/compare/updates/milestones/3.0/S201405271400</url>
+ <url>http://download.eclipse.org/modeling/emf/compare/updates/milestones/3.0/S201406111328</url>
</repository>
<repository>
<id>emf-emf</id>
@@ -201,7 +200,7 @@
<repository>
<id>ep</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/eclipse/updates/4.4milestones/S-4.4RC3-201405282000/</url>
+ <url>http://download.eclipse.org/eclipse/updates/4.4/R-4.4-201406061215/</url>
</repository>
<repository>
<id>gef</id>
@@ -221,7 +220,7 @@
<repository>
<id>gmf-tooling</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.2.M7</url>
+ <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.2.RC4a</url>
</repository>
<repository>
<id>m2m-atl</id>
@@ -231,27 +230,27 @@
<repository>
<id>m2t-acceleo</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/acceleo/updates/milestones/3.5/S201405271356</url>
+ <url>http://download.eclipse.org/acceleo/updates/milestones/3.5/S201406101309</url>
</repository>
<repository>
<id>m2t-xpand</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/m2t/xpand/updates/milestones/S201405200738/</url>
+ <url>http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201406030414/</url>
</repository>
<repository>
<id>mdt-ocl</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/mdt/ocl/updates/milestones/5.0.0/S201405261444</url>
+ <url>http://download.eclipse.org/modeling/mdt/ocl/updates/releases/5.0.0</url>
</repository>
<repository>
<id>mdt-uml2</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/mdt/uml2/updates/5.0milestones</url>
+ <url>http://download.eclipse.org/modeling/mdt/uml2/updates/5.0</url>
</repository>
<repository>
<id>mmt-qvto</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/mmt/qvto/updates/milestones/3.4.0/S201405271532</url>
+ <url>http://download.eclipse.org/mmt/qvto/updates/milestones/3.4.0/S201406101621</url>
</repository>
<repository>
<id>mylyn</id>
@@ -281,7 +280,7 @@
<repository>
<id>webtools</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/webtools/downloads/drops/R3.6.0/S-3.6.0RC2-20140525171527/repository/</url>
+ <url>http://download.eclipse.org/webtools/downloads/drops/R3.6.0/R-3.6.0-20140602160322/repository/</url>
</repository>
</repositories>
<build>
@@ -373,4 +372,4 @@
</plugin>
</plugins>
</build>
-</project> \ No newline at end of file
+</project>
diff --git a/releng/top-pom-main.xml b/releng/top-pom-main.xml
index 67dbb95..4458d3a 100755
--- a/releng/top-pom-main.xml
+++ b/releng/top-pom-main.xml
@@ -44,6 +44,8 @@
<module>../features/papyrus-main-features/org.eclipse.papyrus.xwt.feature</module>
<module>../plugins/doc/org.eclipse.papyrus.cdo.ui.doc</module>
<module>../plugins/doc/org.eclipse.papyrus.copypaste.ui.doc</module>
+ <module>../plugins/doc/org.eclipse.papyrus.moka.doc</module>
+ <module>../plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc</module>
<module>../plugins/customization/org.eclipse.papyrus.customization.palette</module>
<module>../plugins/customization/org.eclipse.papyrus.customization.paletteconfiguration</module>
<module>../plugins/customization/org.eclipse.papyrus.customization.properties</module>
@@ -307,7 +309,7 @@
<repository>
<id>birt</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/birt/update-site/luna-interim/</url>
+ <url>http://download.eclipse.org/birt/update-site/4.4/</url>
</repository>
<repository>
<id>emf</id>
@@ -317,7 +319,7 @@
<repository>
<id>emf-compare</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/emf/compare/updates/milestones/3.0/S201405271400</url>
+ <url>http://download.eclipse.org/modeling/emf/compare/updates/milestones/3.0/S201406111328</url>
</repository>
<repository>
<id>emf-emf</id>
@@ -352,7 +354,7 @@
<repository>
<id>ep</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/eclipse/updates/4.4milestones/S-4.4RC3-201405282000/</url>
+ <url>http://download.eclipse.org/eclipse/updates/4.4/R-4.4-201406061215/</url>
</repository>
<repository>
<id>gef</id>
@@ -372,7 +374,7 @@
<repository>
<id>gmf-tooling</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.2.M7</url>
+ <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.2.RC4a</url>
</repository>
<repository>
<id>m2m-atl</id>
@@ -382,27 +384,27 @@
<repository>
<id>m2t-acceleo</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/acceleo/updates/milestones/3.5/S201405271356</url>
+ <url>http://download.eclipse.org/acceleo/updates/milestones/3.5/S201406101309</url>
</repository>
<repository>
<id>m2t-xpand</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/m2t/xpand/updates/milestones/S201405200738/</url>
+ <url>http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201406030414/</url>
</repository>
<repository>
<id>mdt-ocl</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/mdt/ocl/updates/milestones/5.0.0/S201405261444</url>
+ <url>http://download.eclipse.org/modeling/mdt/ocl/updates/releases/5.0.0</url>
</repository>
<repository>
<id>mdt-uml2</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/mdt/uml2/updates/5.0milestones</url>
+ <url>http://download.eclipse.org/modeling/mdt/uml2/updates/5.0</url>
</repository>
<repository>
<id>mmt-qvto</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/mmt/qvto/updates/milestones/3.4.0/S201405271532</url>
+ <url>http://download.eclipse.org/mmt/qvto/updates/milestones/3.4.0/S201406101621</url>
</repository>
<repository>
<id>mylyn</id>
@@ -432,7 +434,7 @@
<repository>
<id>webtools</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/webtools/downloads/drops/R3.6.0/S-3.6.0RC2-20140525171527/repository/</url>
+ <url>http://download.eclipse.org/webtools/downloads/drops/R3.6.0/R-3.6.0-20140602160322/repository/</url>
</repository>
</repositories>
<build>
@@ -540,4 +542,4 @@
</plugin>
</plugins>
</build>
-</project> \ No newline at end of file
+</project>
diff --git a/releng/top-pom-rcp.xml b/releng/top-pom-rcp.xml
index 56003dd..5a70b2a 100755
--- a/releng/top-pom-rcp.xml
+++ b/releng/top-pom-rcp.xml
@@ -24,12 +24,12 @@
<repository>
<id>ep</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/eclipse/updates/4.4milestones/S-4.4RC3-201405282000/</url>
+ <url>http://download.eclipse.org/eclipse/updates/4.4/R-4.4-201406061215/</url>
</repository>
<repository>
<id>emf-cdo</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/emf/cdo/drops/S20140527-0307</url>
+ <url>http://download.eclipse.org/modeling/emf/cdo/drops/R20140610-0212</url>
</repository>
<!-- Papyrus components -->
<repository>
@@ -71,7 +71,7 @@
<repository>
<id>gmf-tooling</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.2.M7</url>
+ <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.2.RC4a</url>
</repository>
<repository>
<id>otdt</id>
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/META-INF/MANIFEST.MF b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/META-INF/MANIFEST.MF
index 6d2a93d..8ffd2aa 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/META-INF/MANIFEST.MF
@@ -20,7 +20,9 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.moka.composites;bundle-version="1.0.0",
org.eclipse.papyrus.moka.async.fuml;bundle-version="1.0.0",
org.eclipse.papyrus.moka.fuml;bundle-version="1.0.0",
- org.eclipse.papyrus.moka.fuml.assertionlibrary;bundle-version="1.0.0"
+ org.eclipse.papyrus.moka.fuml.assertionlibrary;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.0",
+ org.eclipse.papyrus.moka.composites.utils;bundle-version="1.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.papyrus.moka.tests
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.di b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.di
new file mode 100644
index 0000000..8634d4c
--- /dev/null
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.notation b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.notation
new file mode 100644
index 0000000..a799db1
--- /dev/null
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.notation
@@ -0,0 +1,813 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_suv20PxiEeO4j4N11yWxfQ" type="PapyrusUMLClassDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_suwd4PxiEeO4j4N11yWxfQ" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_suwd4fxiEeO4j4N11yWxfQ"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_suwd4vxiEeO4j4N11yWxfQ">
+ <owner xmi:type="uml:Model" href="model.uml#_sskFgPxiEeO4j4N11yWxfQ"/>
+ </styles>
+ <element xmi:type="uml:Model" href="model.uml#_sskFgPxiEeO4j4N11yWxfQ"/>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_A-VAEAD5EeSt_PJB0kWPmw"/>
+ <notation:Diagram xmi:id="_GUqyoAD5EeSt_PJB0kWPmw" type="PapyrusUMLActivityDiagram" name="Classifier Behavior Tester" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_GUqyoQD5EeSt_PJB0kWPmw" type="2001">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GUqyogD5EeSt_PJB0kWPmw" type="5001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GUqypAD5EeSt_PJB0kWPmw" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GUqypQD5EeSt_PJB0kWPmw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GUqypgD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUqypwD5EeSt_PJB0kWPmw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GUqyqAD5EeSt_PJB0kWPmw" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GUqyqQD5EeSt_PJB0kWPmw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GUqyqgD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUqyqwD5EeSt_PJB0kWPmw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GUqyrAD5EeSt_PJB0kWPmw" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GUqyrQD5EeSt_PJB0kWPmw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GUqyrgD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUqyrwD5EeSt_PJB0kWPmw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GUqysAD5EeSt_PJB0kWPmw" type="7004">
+ <children xmi:type="notation:Shape" xmi:id="_LrvlAAD5EeSt_PJB0kWPmw" type="3004">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LrwMEAD5EeSt_PJB0kWPmw" type="5080">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LrwMEQD5EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_LrvlAQD5EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:InitialNode" href="model.uml#_LrshsAD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LrvlAgD5EeSt_PJB0kWPmw" x="387" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RDxZoAD5EeSt_PJB0kWPmw" type="3052">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gW8owAD5EeSt_PJB0kWPmw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gW9P0AD5EeSt_PJB0kWPmw" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_RDyAsAD5EeSt_PJB0kWPmw" type="5060"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RD7xsAD5EeSt_PJB0kWPmw" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RD7xsQD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RD7xsgD5EeSt_PJB0kWPmw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_gWLzwAD5EeSt_PJB0kWPmw" type="3062">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gW9P0QD5EeSt_PJB0kWPmw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gW9P0gD5EeSt_PJB0kWPmw" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_gWLzwwD5EeSt_PJB0kWPmw" type="5076">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_gWLzxAD5EeSt_PJB0kWPmw" x="23" y="-16"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_gWLzxQD5EeSt_PJB0kWPmw" type="5113">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_gWLzxgD5EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_gWLzwQD5EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:InputPin" href="model.uml#_gUM2wAD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gWLzwgD5EeSt_PJB0kWPmw" x="71" y="-15"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_A88UcAEDEeSalJ64dgpMPQ" type="3055">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_A9QdgAEDEeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_A9QdgQEDEeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_A887gAEDEeSalJ64dgpMPQ" type="5065">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_A887gQEDEeSalJ64dgpMPQ" x="-25" y="24"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_A887ggEDEeSalJ64dgpMPQ" type="5110">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_A887gwEDEeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_A88UcQEDEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:InputPin" href="model.uml#_A86fQAEDEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A88UcgEDEeSalJ64dgpMPQ" x="-15" y="11"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_RDxZoQD5EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:SendSignalAction" href="model.uml#_QQRgIAD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RDxZogD5EeSt_PJB0kWPmw" x="314" y="317" width="166"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mQ7T4AD5EeSt_PJB0kWPmw" type="3081">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_noinEAD5EeSt_PJB0kWPmw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_noinEQD5EeSt_PJB0kWPmw" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mQ768AD5EeSt_PJB0kWPmw" type="5139"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_mRIvQAD5EeSt_PJB0kWPmw" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mRIvQQD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mRIvQgD5EeSt_PJB0kWPmw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nn9YQAD5EeSt_PJB0kWPmw" type="3084">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_noinEgD5EeSt_PJB0kWPmw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_noinEwD5EeSt_PJB0kWPmw" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nn9YQwD5EeSt_PJB0kWPmw" type="5144">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nn9YRAD5EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nn9YRQD5EeSt_PJB0kWPmw" type="5145">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nn9YRgD5EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_nn9YQQD5EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:OutputPin" href="model.uml#_nn5G0AD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nn9YQgD5EeSt_PJB0kWPmw" x="12" y="39"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_mQ7T4QD5EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:ReadSelfAction" href="model.uml#_mQ4QkAD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQ7T4gD5EeSt_PJB0kWPmw" x="377" y="51"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_sWbSgAD5EeSt_PJB0kWPmw" type="3063">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-lj8cAD5EeSt_PJB0kWPmw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-lj8cQD5EeSt_PJB0kWPmw" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_sWb5kAD5EeSt_PJB0kWPmw" type="5078"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_sWb5kQD5EeSt_PJB0kWPmw" type="5079">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sWb5kgD5EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_sWcgoAD5EeSt_PJB0kWPmw" type="5115">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sWcgoQD5EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-k6cMAD5EeSt_PJB0kWPmw" type="3064">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-lj8cgD5EeSt_PJB0kWPmw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-lj8cwD5EeSt_PJB0kWPmw" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-k6cMwD5EeSt_PJB0kWPmw" type="5077">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-k6cNAD5EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-k6cNQD5EeSt_PJB0kWPmw" type="5114">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-k6cNgD5EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_-k6cMQD5EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:OutputPin" href="model.uml#_-k3Y4AD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-k6cMgD5EeSt_PJB0kWPmw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_sWbSgQD5EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:AcceptEventAction" href="model.uml#_sWYPMAD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sWbSggD5EeSt_PJB0kWPmw" x="361" y="425"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ej7WgAD6EeSt_PJB0kWPmw" type="3008">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hkztkAD6EeSt_PJB0kWPmw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hkztkQD6EeSt_PJB0kWPmw" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ej79kAD6EeSt_PJB0kWPmw" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ekFHgAD6EeSt_PJB0kWPmw" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ekFHgQD6EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekFHggD6EeSt_PJB0kWPmw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_hjs6UAD6EeSt_PJB0kWPmw" type="3019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hkztkgD6EeSt_PJB0kWPmw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hkztkwD6EeSt_PJB0kWPmw" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_hjs6UwD6EeSt_PJB0kWPmw" type="5015">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hjs6VAD6EeSt_PJB0kWPmw" x="-17" y="34"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_hjs6VQD6EeSt_PJB0kWPmw" type="5089">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hjs6VgD6EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_hjs6UQD6EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:InputPin" href="model.uml#_hjqeEAD6EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hjs6UgD6EeSt_PJB0kWPmw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_lPnycAD6EeSt_PJB0kWPmw" type="3019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lQsJcAD6EeSt_PJB0kWPmw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lQsJcQD6EeSt_PJB0kWPmw" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_lPnycwD6EeSt_PJB0kWPmw" type="5015">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lPnydAD6EeSt_PJB0kWPmw" x="22" y="-6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_lPnydQD6EeSt_PJB0kWPmw" type="5089">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lPnydgD6EeSt_PJB0kWPmw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_lPnycQD6EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:InputPin" href="model.uml#_lPlWMAD6EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lPnycgD6EeSt_PJB0kWPmw" x="27" y="-15"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_aGTAsAESEeSalJ64dgpMPQ" type="3019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aGspUAESEeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aGspUQESEeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_aGTAswESEeSalJ64dgpMPQ" type="5015">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aGTAtAESEeSalJ64dgpMPQ" x="11" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_aGTAtQESEeSalJ64dgpMPQ" type="5089">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aGTAtgESEeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_aGTAsQESEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:InputPin" href="model.uml#_aGPWUAESEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aGTAsgESEeSalJ64dgpMPQ" x="68" y="13"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_ej7WgQD6EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:CallBehaviorAction" href="model.uml#_dnVLYAD6EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ej7WggD6EeSt_PJB0kWPmw" x="544" y="430"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1OaqEAD9EeSalJ64dgpMPQ" type="3076">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3WlQcAD9EeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3WlQcQD9EeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1OaqEwD9EeSalJ64dgpMPQ" type="5126"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1OfikAD9EeSalJ64dgpMPQ" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1OfikQD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1OfikgD9EeSalJ64dgpMPQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3WNdAAD9EeSalJ64dgpMPQ" type="3077">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3Wl3gAD9EeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3Wl3gQD9EeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3WNdAwD9EeSalJ64dgpMPQ" type="5124">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3WNdBAD9EeSalJ64dgpMPQ" x="32" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3WNdBQD9EeSalJ64dgpMPQ" type="5125">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3WNdBgD9EeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_3WNdAQD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:OutputPin" href="model.uml#_3WJyoAD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3WNdAgD9EeSalJ64dgpMPQ" x="12" y="39"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_1OaqEQD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ValueSpecificationAction" href="model.uml#_1OZb8AD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1OaqEgD9EeSalJ64dgpMPQ" x="559" y="318"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CVMVQAENEeSalJ64dgpMPQ" type="3088">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EBlloAENEeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EBlloQENEeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CVMVQwENEeSalJ64dgpMPQ" type="5153"/>
+ <children xmi:type="notation:Shape" xmi:id="_EBMkEAENEeSalJ64dgpMPQ" type="3089">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EBllogENEeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EBllowENEeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EBMkEwENEeSalJ64dgpMPQ" type="5149">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EBMkFAENEeSalJ64dgpMPQ" x="21" y="-14"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EBMkFQENEeSalJ64dgpMPQ" type="5150">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EBMkFgENEeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_EBMkEQENEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:InputPin" href="model.uml#_EBI5sAENEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EBMkEgENEeSalJ64dgpMPQ" x="25" y="-15"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_i4g2gAENEeSalJ64dgpMPQ" type="3090">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i48UUAENEeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i48UUQENEeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_i4g2gwENEeSalJ64dgpMPQ" type="5151">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_i4g2hAENEeSalJ64dgpMPQ" x="22" y="12"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_i4g2hQENEeSalJ64dgpMPQ" type="5152">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_i4g2hgENEeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_i4g2gQENEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:OutputPin" href="model.uml#_i4dzMAENEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i4g2ggENEeSalJ64dgpMPQ" x="25" y="39"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_CVMVQQENEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ReadStructuralFeatureAction" href="model.uml#_CVLHIAENEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CVMVQgENEeSalJ64dgpMPQ" x="362" y="194"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_MxKk4AENEeSalJ64dgpMPQ" type="3040">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MxLL8AENEeSalJ64dgpMPQ" type="5100">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MxLL8QENEeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_MxKk4QENEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ForkNode" href="model.uml#_MxJ90AENEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MxKk4gENEeSalJ64dgpMPQ" x="269" y="133" width="264" height="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_cseYwAESEeSalJ64dgpMPQ" type="3076">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fuCsUAESEeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fuCsUQESEeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cseYwwESEeSalJ64dgpMPQ" type="5126"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_csg1AAESEeSalJ64dgpMPQ" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_csg1AQESEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_csg1AgESEeSalJ64dgpMPQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ftpDsAESEeSalJ64dgpMPQ" type="3077">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fuCsUgESEeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fuCsUwESEeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ftpDswESEeSalJ64dgpMPQ" type="5124">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ftpDtAESEeSalJ64dgpMPQ" x="-20" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ftpDtQESEeSalJ64dgpMPQ" type="5125">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ftpDtgESEeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_ftpDsQESEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:OutputPin" href="model.uml#_ftmAYAESEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ftpDsgESEeSalJ64dgpMPQ" x="-15" y="14"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_cseYwQESEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ValueSpecificationAction" href="model.uml#_csdKoAESEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cseYwgESEeSalJ64dgpMPQ" x="719" y="429"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_80uHkAESEeSalJ64dgpMPQ" type="3008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_80uHkwESEeSalJ64dgpMPQ" type="5004"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_80uHkQESEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:CallBehaviorAction" href="model.uml#_6SSnEAESEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_80uHkgESEeSalJ64dgpMPQ" x="530" y="524"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_DgAT0AETEeSalJ64dgpMPQ" type="3005">
+ <children xmi:type="notation:DecorationNode" xmi:id="_DgAT0wETEeSalJ64dgpMPQ" type="5081">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_DgAT1AETEeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_DgAT0QETEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ActivityFinalNode" href="model.uml#_Df_FsAETEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DgAT0gETEeSalJ64dgpMPQ" x="722" y="536"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUqysQD5EeSt_PJB0kWPmw"/>
+ </children>
+ <element xmi:type="uml:Activity" href="model.uml#_DlkvIAD5EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUqysgD5EeSt_PJB0kWPmw"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_GUqyswD5EeSt_PJB0kWPmw" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_GUqytAD5EeSt_PJB0kWPmw"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_GUqytQD5EeSt_PJB0kWPmw">
+ <owner xmi:type="uml:Activity" href="model.uml#_DlkvIAD5EeSt_PJB0kWPmw"/>
+ </styles>
+ <element xmi:type="uml:Activity" href="model.uml#_DlkvIAD5EeSt_PJB0kWPmw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_vM8zsAD5EeSt_PJB0kWPmw" type="4004" source="_RDxZoAD5EeSt_PJB0kWPmw" target="_sWbSgAD5EeSt_PJB0kWPmw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_vM9awAD5EeSt_PJB0kWPmw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vM9awQD5EeSt_PJB0kWPmw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vM-B0AD5EeSt_PJB0kWPmw" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vM-B0QD5EeSt_PJB0kWPmw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vM-o4AD5EeSt_PJB0kWPmw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vM-o4QD5EeSt_PJB0kWPmw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vM_P8AD5EeSt_PJB0kWPmw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vM_P8QD5EeSt_PJB0kWPmw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vM8zsQD5EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_vM5JUAD5EeSt_PJB0kWPmw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vM8zsgD5EeSt_PJB0kWPmw" points="[3, 5, 4, -88]$[3, 113, 4, 20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vNHy0AD5EeSt_PJB0kWPmw" id="(0.45180722891566266,0.875)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ni-VIAD6EeSt_PJB0kWPmw" type="4003" source="_-k6cMAD5EeSt_PJB0kWPmw" target="_hjs6UAD6EeSt_PJB0kWPmw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ni-8MAD6EeSt_PJB0kWPmw" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ni-8MQD6EeSt_PJB0kWPmw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ni-8MgD6EeSt_PJB0kWPmw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ni_jQAD6EeSt_PJB0kWPmw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ni_jQQD6EeSt_PJB0kWPmw" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_njAKUAD6EeSt_PJB0kWPmw" x="20" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_njAKUQD6EeSt_PJB0kWPmw" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_njAKUgD6EeSt_PJB0kWPmw" x="-20" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_njAxYAD6EeSt_PJB0kWPmw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_njAxYQD6EeSt_PJB0kWPmw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_njBYcAD6EeSt_PJB0kWPmw" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_njBYcQD6EeSt_PJB0kWPmw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_njB_gAD6EeSt_PJB0kWPmw" type="6010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_njB_gQD6EeSt_PJB0kWPmw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ni-VIQD6EeSt_PJB0kWPmw"/>
+ <element xmi:type="uml:ObjectFlow" href="model.uml#_ni6DsAD6EeSt_PJB0kWPmw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ni-VIgD6EeSt_PJB0kWPmw" points="[8, -3, -98, -2]$[107, -9, 1, -8]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_51HvcAD9EeSalJ64dgpMPQ" type="4003" source="_3WNdAAD9EeSalJ64dgpMPQ" target="_lPnycAD6EeSt_PJB0kWPmw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_51IWgAD9EeSalJ64dgpMPQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_51IWgQD9EeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_51IWggD9EeSalJ64dgpMPQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_51IWgwD9EeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_51I9kAD9EeSalJ64dgpMPQ" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_51I9kQD9EeSalJ64dgpMPQ" x="20" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_51I9kgD9EeSalJ64dgpMPQ" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_51I9kwD9EeSalJ64dgpMPQ" x="-20" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_51I9lAD9EeSalJ64dgpMPQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_51I9lQD9EeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_51JkoAD9EeSalJ64dgpMPQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_51JkoQD9EeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_51JkogD9EeSalJ64dgpMPQ" type="6010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_51JkowD9EeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_51HvcQD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ObjectFlow" href="model.uml#_51F6QAD9EeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_51HvcgD9EeSalJ64dgpMPQ" points="[0, 3, -3, -50]$[0, 45, -3, -8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_51QSUAD9EeSalJ64dgpMPQ" id="(0.3125,0.8125)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PlQdIAENEeSalJ64dgpMPQ" type="4003" source="_nn9YQAD5EeSt_PJB0kWPmw" target="_MxKk4AENEeSalJ64dgpMPQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PlQdIwENEeSalJ64dgpMPQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PlQdJAENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PlREMAENEeSalJ64dgpMPQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PlREMQENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PlREMgENEeSalJ64dgpMPQ" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PlREMwENEeSalJ64dgpMPQ" x="20" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PlRrQAENEeSalJ64dgpMPQ" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PlRrQQENEeSalJ64dgpMPQ" x="-20" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PlRrQgENEeSalJ64dgpMPQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PlRrQwENEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PlRrRAENEeSalJ64dgpMPQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PlSSUAENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PlSSUQENEeSalJ64dgpMPQ" type="6010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PlSSUgENEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PlQdIQENEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ObjectFlow" href="model.uml#_PlOn8AENEeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PlQdIgENEeSalJ64dgpMPQ" points="[0, 8, -2, -32]$[0, 45, -2, 5]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UaRO0AEOEeSalJ64dgpMPQ" id="(0.4810606060606061,0.2)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_T0CKsAENEeSalJ64dgpMPQ" type="4003" source="_MxKk4AENEeSalJ64dgpMPQ" target="_EBMkEAENEeSalJ64dgpMPQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_T0CKswENEeSalJ64dgpMPQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T0CKtAENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_T0CxwAENEeSalJ64dgpMPQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T0CxwQENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_T0CxwgENEeSalJ64dgpMPQ" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T0CxwwENEeSalJ64dgpMPQ" x="20" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_T0DY0AENEeSalJ64dgpMPQ" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T0DY0QENEeSalJ64dgpMPQ" x="-20" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_T0DY0gENEeSalJ64dgpMPQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T0DY0wENEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_T0D_4AENEeSalJ64dgpMPQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T0D_4QENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_T0D_4gENEeSalJ64dgpMPQ" type="6010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T0D_4wENEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_T0CKsQENEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ObjectFlow" href="model.uml#_T0AVgAENEeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_T0CKsgENEeSalJ64dgpMPQ" points="[0, 5, 0, -39]$[0, 41, 0, -3]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_T0KGgAENEeSalJ64dgpMPQ" id="(0.5625,0.1875)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_vksOMAENEeSalJ64dgpMPQ" type="4003" source="_i4g2gAENEeSalJ64dgpMPQ" target="_gWLzwAD5EeSt_PJB0kWPmw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_vksOMwENEeSalJ64dgpMPQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vksONAENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vks1QAENEeSalJ64dgpMPQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vks1QQENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vks1QgENEeSalJ64dgpMPQ" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vks1QwENEeSalJ64dgpMPQ" x="20" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vktcUAENEeSalJ64dgpMPQ" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vktcUQENEeSalJ64dgpMPQ" x="-20" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vktcUgENEeSalJ64dgpMPQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vktcUwENEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vktcVAENEeSalJ64dgpMPQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vkuDYAENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vkuDYQENEeSalJ64dgpMPQ" type="6010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vkuDYgENEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vksOMQENEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ObjectFlow" href="model.uml#_vkpx8AENEeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vksOMgENEeSalJ64dgpMPQ" points="[-4, 8, -2, -61]$[-4, 77, -2, 8]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_w127IAENEeSalJ64dgpMPQ" type="4003" source="_MxKk4AENEeSalJ64dgpMPQ" target="_A88UcAEDEeSalJ64dgpMPQ" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_w127IwENEeSalJ64dgpMPQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w127JAENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_w13iMAENEeSalJ64dgpMPQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w13iMQENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_w13iMgENEeSalJ64dgpMPQ" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w13iMwENEeSalJ64dgpMPQ" x="20" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_w14JQAENEeSalJ64dgpMPQ" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w14JQQENEeSalJ64dgpMPQ" x="-20" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_w14JQgENEeSalJ64dgpMPQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w14JQwENEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_w14wUAENEeSalJ64dgpMPQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w14wUQENEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_w14wUgENEeSalJ64dgpMPQ" type="6010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w14wUwENEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_w127IQENEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ObjectFlow" href="model.uml#_w10e4AENEeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w127IgENEeSalJ64dgpMPQ" points="[-16, 5, -30, -193]$[-16, 198, -30, 0]$[6, 198, -8, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w1-28AENEeSalJ64dgpMPQ" id="(0.09090909090909091,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_WzskUAEOEeSalJ64dgpMPQ" type="4004" source="_LrvlAAD5EeSt_PJB0kWPmw" target="_mQ7T4AD5EeSt_PJB0kWPmw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WzskUwEOEeSalJ64dgpMPQ" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WzskVAEOEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WztLYAEOEeSalJ64dgpMPQ" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WztLYQEOEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WztLYgEOEeSalJ64dgpMPQ" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WztLYwEOEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WztycAEOEeSalJ64dgpMPQ" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WztycQEOEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_WzskUQEOEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_WzqvIAEOEeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WzskUgEOEeSalJ64dgpMPQ" points="[-2, 9, -2, -46]$[-2, 35, -2, -20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_oTFPgAESEeSalJ64dgpMPQ" type="4003" source="_ftpDsAESEeSalJ64dgpMPQ" target="_aGTAsAESEeSalJ64dgpMPQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oTFPgwESEeSalJ64dgpMPQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oTF2kAESEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oTF2kQESEeSalJ64dgpMPQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oTF2kgESEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oTF2kwESEeSalJ64dgpMPQ" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oTGdoAESEeSalJ64dgpMPQ" x="20" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oTGdoQESEeSalJ64dgpMPQ" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oTGdogESEeSalJ64dgpMPQ" x="-20" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oTGdowESEeSalJ64dgpMPQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oTGdpAESEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oTHEsAESEeSalJ64dgpMPQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oTHEsQESEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oTHEsgESEeSalJ64dgpMPQ" type="6010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oTHEswESEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_oTFPgQESEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ObjectFlow" href="model.uml#_oTDaUAESEeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oTFPggESEeSalJ64dgpMPQ" points="[-2, 2, 84, 1]$[-87, 9, -1, 8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oZZS4AESEeSalJ64dgpMPQ" id="(0.125,0.4375)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_AtVX4AETEeSalJ64dgpMPQ" type="4004" source="_ej7WgAD6EeSt_PJB0kWPmw" target="_80uHkAESEeSalJ64dgpMPQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AtVX4wETEeSalJ64dgpMPQ" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AtVX5AETEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AtV-8AETEeSalJ64dgpMPQ" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AtV-8QETEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AtV-8gETEeSalJ64dgpMPQ" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AtV-8wETEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AtWmAAETEeSalJ64dgpMPQ" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AtWmAQETEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AtVX4QETEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_AtTisAETEeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtVX4gETEeSalJ64dgpMPQ" points="[1, 8, 0, -63]$[-3, 62, -4, -9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AzHPwAETEeSalJ64dgpMPQ" id="(0.4927536231884058,0.8)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AzHPwQETEeSalJ64dgpMPQ" id="(0.45794392523364486,0.225)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_EqVY8AETEeSalJ64dgpMPQ" type="4004" source="_80uHkAESEeSalJ64dgpMPQ" target="_DgAT0AETEeSalJ64dgpMPQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_EqVY8wETEeSalJ64dgpMPQ" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EqWAAAETEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EqWAAQETEeSalJ64dgpMPQ" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EqWAAgETEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EqWAAwETEeSalJ64dgpMPQ" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EqWABAETEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EqWnEAETEeSalJ64dgpMPQ" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EqWnEQETEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EqVY8QETEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_EqUK0AETEeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EqVY8gETEeSalJ64dgpMPQ" points="[6, -4, -95, -1]$[99, -13, -2, -10]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EqctsAETEeSalJ64dgpMPQ" id="(0.9439252336448598,0.625)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_QsD84AD8EeSjfsff3gsG3w" type="PapyrusUMLActivityDiagram" name="Classifier Behavior Component" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_QsD84QD8EeSjfsff3gsG3w" type="2001">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QsD84gD8EeSjfsff3gsG3w" type="5001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_QsD85AD8EeSjfsff3gsG3w" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QsD85QD8EeSjfsff3gsG3w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QsD85gD8EeSjfsff3gsG3w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsD85wD8EeSjfsff3gsG3w"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_QsD86AD8EeSjfsff3gsG3w" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QsD86QD8EeSjfsff3gsG3w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QsD86gD8EeSjfsff3gsG3w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsD86wD8EeSjfsff3gsG3w"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_QsD87AD8EeSjfsff3gsG3w" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QsD87QD8EeSjfsff3gsG3w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QsD87gD8EeSjfsff3gsG3w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsD87wD8EeSjfsff3gsG3w"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_QsD88AD8EeSjfsff3gsG3w" type="7004">
+ <children xmi:type="notation:Shape" xmi:id="_FtKJ4AD9EeSalJ64dgpMPQ" type="3004">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FtKw8AD9EeSalJ64dgpMPQ" type="5080">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FtLYAAD9EeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_FtKJ4QD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:InitialNode" href="model.uml#_FrjAUAD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FtKJ4gD9EeSalJ64dgpMPQ" x="399" y="35"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GWNt8AD9EeSalJ64dgpMPQ" type="3063">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5rgtMAENEeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5rgtMQENEeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GWOVAAD9EeSalJ64dgpMPQ" type="5078"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GWOVAQD9EeSalJ64dgpMPQ" type="5079">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GWOVAgD9EeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GWOVAwD9EeSalJ64dgpMPQ" type="5115">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GWO8EAD9EeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_5rPAYAENEeSalJ64dgpMPQ" type="3064">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5rgtMgENEeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5rgtMwENEeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5rPAYwENEeSalJ64dgpMPQ" type="5077">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5rPAZAENEeSalJ64dgpMPQ" x="-42" y="7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5rPAZQENEeSalJ64dgpMPQ" type="5114">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5rPAZgENEeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_5rPAYQENEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:OutputPin" href="model.uml#_5rMkIAENEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5rPAYgENEeSalJ64dgpMPQ" x="15" y="39"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_GWNt8QD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:AcceptEventAction" href="model.uml#_GWLRsAD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GWNt8gD9EeSalJ64dgpMPQ" x="389" y="104"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_czMRUAD9EeSalJ64dgpMPQ" type="3052">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_el4-AAD9EeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_el4-AQD9EeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_czM4YAD9EeSalJ64dgpMPQ" type="5060"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_czPUoAD9EeSalJ64dgpMPQ" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_czPUoQD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_czPUogD9EeSalJ64dgpMPQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_elhKkAD9EeSalJ64dgpMPQ" type="3055">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_el4-AgD9EeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_el4-AwD9EeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_elhKkwD9EeSalJ64dgpMPQ" type="5065">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_elhKlAD9EeSalJ64dgpMPQ" x="29" y="-14"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_elhKlQD9EeSalJ64dgpMPQ" type="5110">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_elhKlgD9EeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_elhKkQD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:InputPin" href="model.uml#_elc5IAD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elhKkgD9EeSalJ64dgpMPQ" x="114" y="-15"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_iLcIYAD9EeSalJ64dgpMPQ" type="3062">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iLyGoAD9EeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iLyGoQD9EeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_iLcIYwD9EeSalJ64dgpMPQ" type="5076">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iLcIZAD9EeSalJ64dgpMPQ" x="-42" y="-6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_iLcIZQD9EeSalJ64dgpMPQ" type="5113">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iLcIZgD9EeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_iLcIYQD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:InputPin" href="model.uml#_iLX28AD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iLcIYgD9EeSalJ64dgpMPQ" x="36" y="-15"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_czMRUQD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:SendSignalAction" href="model.uml#_Y9gZMAD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_czMRUgD9EeSalJ64dgpMPQ" x="368" y="204" width="174"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pAetkAD9EeSalJ64dgpMPQ" type="3076">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sKQh8AD9EeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sKRJAAD9EeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_pAetkwD9EeSalJ64dgpMPQ" type="5126"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_pAmCUAD9EeSalJ64dgpMPQ" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pAmCUQD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pAmCUgD9EeSalJ64dgpMPQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_sJ5VkAD9EeSalJ64dgpMPQ" type="3077">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sKRJAQD9EeSalJ64dgpMPQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sKRJAgD9EeSalJ64dgpMPQ" key="mutable" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_sJ5VkwD9EeSalJ64dgpMPQ" type="5124">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sJ5VlAD9EeSalJ64dgpMPQ" x="29" y="9"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_sJ5VlQD9EeSalJ64dgpMPQ" type="5125">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sJ5VlgD9EeSalJ64dgpMPQ" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_sJ5VkQD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:OutputPin" href="model.uml#_sJ1EIAD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sJ5VkgD9EeSalJ64dgpMPQ" x="10" y="39"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_pAetkQD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ValueSpecificationAction" href="model.uml#_pAdfcAD9EeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pAetkgD9EeSalJ64dgpMPQ" x="473" y="104"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsD88QD8EeSjfsff3gsG3w"/>
+ </children>
+ <element xmi:type="uml:Activity" href="model.uml#_Mogn4AD8EeSjfsff3gsG3w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsD88gD8EeSjfsff3gsG3w"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_QsD88wD8EeSjfsff3gsG3w" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_QsD89AD8EeSjfsff3gsG3w"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_QsD89QD8EeSjfsff3gsG3w">
+ <owner xmi:type="uml:Activity" href="model.uml#_Mogn4AD8EeSjfsff3gsG3w"/>
+ </styles>
+ <element xmi:type="uml:Activity" href="model.uml#_Mogn4AD8EeSjfsff3gsG3w"/>
+ <edges xmi:type="notation:Connector" xmi:id="_SrvgMAD9EeSalJ64dgpMPQ" type="4004" source="_FtKJ4AD9EeSalJ64dgpMPQ" target="_GWNt8AD9EeSalJ64dgpMPQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SrwHQAD9EeSalJ64dgpMPQ" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SrwHQQD9EeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SrwHQgD9EeSalJ64dgpMPQ" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SrwHQwD9EeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SrwuUAD9EeSalJ64dgpMPQ" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SrwuUQD9EeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SrwuUgD9EeSalJ64dgpMPQ" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SrwuUwD9EeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SrvgMQD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_SrqAoAD9EeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SrvgMgD9EeSalJ64dgpMPQ" points="[-6, 0, -6, -71]$[-6, 51, -6, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S4nekAD9EeSalJ64dgpMPQ" id="(0.55,0.9)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_uWyq8AD9EeSalJ64dgpMPQ" type="4003" source="_sJ5VkAD9EeSalJ64dgpMPQ" target="_elhKkAD9EeSalJ64dgpMPQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_uWzSAAD9EeSalJ64dgpMPQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uWzSAQD9EeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uWzSAgD9EeSalJ64dgpMPQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uWzSAwD9EeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uWz5EAD9EeSalJ64dgpMPQ" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uWz5EQD9EeSalJ64dgpMPQ" x="20" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uWz5EgD9EeSalJ64dgpMPQ" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uWz5EwD9EeSalJ64dgpMPQ" x="-20" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uWz5FAD9EeSalJ64dgpMPQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uW0gIAD9EeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uW0gIQD9EeSalJ64dgpMPQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uW0gIgD9EeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uW0gIwD9EeSalJ64dgpMPQ" type="6010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uW0gJAD9EeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_uWyq8QD9EeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ObjectFlow" href="model.uml#_uWvAkAD9EeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uWyq8gD9EeSalJ64dgpMPQ" points="[-2, 8, -1, -38]$[-2, 38, -1, -8]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_CWk_4AEOEeSalJ64dgpMPQ" type="4003" source="_5rPAYAENEeSalJ64dgpMPQ" target="_iLcIYAD9EeSalJ64dgpMPQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CWlm8AEOEeSalJ64dgpMPQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CWlm8QEOEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CWlm8gEOEeSalJ64dgpMPQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CWlm8wEOEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CWlm9AEOEeSalJ64dgpMPQ" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CWmOAAEOEeSalJ64dgpMPQ" x="20" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CWmOAQEOEeSalJ64dgpMPQ" type="6006">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CWmOAgEOEeSalJ64dgpMPQ" x="-20" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CWmOAwEOEeSalJ64dgpMPQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CWm1EAEOEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CWm1EQEOEeSalJ64dgpMPQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CWm1EgEOEeSalJ64dgpMPQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CWncIAEOEeSalJ64dgpMPQ" type="6010">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CWncIQEOEeSalJ64dgpMPQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_CWk_4QEOEeSalJ64dgpMPQ"/>
+ <element xmi:type="uml:ObjectFlow" href="model.uml#_CWjKsAEOEeSalJ64dgpMPQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CWk_4gEOEeSalJ64dgpMPQ" points="[4, 5, -1, -38]$[4, 35, -1, -8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CWtiwAEOEeSalJ64dgpMPQ" id="(0.1875,0.6875)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_Yym9gAENEeSalJ64dgpMPQ" type="CompositeStructure" name="CompositeDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_ZZ0ugAENEeSalJ64dgpMPQ" type="2073">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZZ0uggENEeSalJ64dgpMPQ" type="5156"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ZZ0ugwENEeSalJ64dgpMPQ" type="7073">
+ <children xmi:type="notation:Shape" xmi:id="_Z9VEMAENEeSalJ64dgpMPQ" type="3070">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Z9VrQAENEeSalJ64dgpMPQ" type="5126"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Z9VrQQENEeSalJ64dgpMPQ" type="7077">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Z9VrQgENEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z9VrQwENEeSalJ64dgpMPQ"/>
+ </children>
+ <element xmi:type="uml:Property" href="model.uml#_Z9T2EAENEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z9VEMQENEeSalJ64dgpMPQ" x="76" y="44"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ZZ0uhAENEeSalJ64dgpMPQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZZ0uhQENEeSalJ64dgpMPQ"/>
+ </children>
+ <element xmi:type="uml:Class" href="model.uml#_3raqQAD4EeSt_PJB0kWPmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZZ0ugQENEeSalJ64dgpMPQ" x="379" y="223" width="343" height="168"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_u24IEAHgEeSYFONdhzDdmw" type="2109">
+ <children xmi:type="notation:DecorationNode" xmi:id="_u24vIAHgEeSYFONdhzDdmw" type="5192"/>
+ <element xmi:type="uml:Comment" href="model.uml#_u2Zm8AHgEeSYFONdhzDdmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u24IEQHgEeSYFONdhzDdmw" x="47" y="224" width="263" height="158"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_Yym9gQENEeSalJ64dgpMPQ" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Yym9ggENEeSalJ64dgpMPQ"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_Yym9gwENEeSalJ64dgpMPQ">
+ <owner xmi:type="uml:Package" href="model.uml#_r50q4PxrEeO4j4N11yWxfQ"/>
+ </styles>
+ <element xmi:type="uml:Package" href="model.uml#_r50q4PxrEeO4j4N11yWxfQ"/>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.uml b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.uml
new file mode 100644
index 0000000..7fd897d
--- /dev/null
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Modeling Utils/model.uml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <uml:Model xmi:id="_sskFgPxiEeO4j4N11yWxfQ" name="model">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_L6UXEAD6EeSt_PJB0kWPmw">
+ <importedPackage xmi:type="uml:Model" href="pathmap://PAPYRUS_ASSERTION_LIBRARY/AssertionLibrary.uml#_62lbEIgUEeKtquXykzQHVw"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Package" xmi:id="_r50q4PxrEeO4j4N11yWxfQ" name="GenerateFactoryTest">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_u2Zm8AHgEeSYFONdhzDdmw">
+ <body>This test case model is used as a basis of a JUnit test case. The JUnit part uses the factory generator provided by Moka. In the test case, a Factory is generated for class Tester. The JUnit test case then executes the generated Factory. The test case validates that the Factory has been correctly generated by observing that some properties actually emerge from the execution of the Factory. In this case, a Tester object will be instantiated (as well as its part component), their classifier behavior will be started, and some comunictions will occur between each other. A call to AssertEquals in the classifier behavior of Tester is used to assert that everything happened correctly.</body>
+ </ownedComment>
+ <packagedElement xmi:type="uml:Class" xmi:id="_3raqQAD4EeSt_PJB0kWPmw" name="Tester" classifierBehavior="_DlkvIAD5EeSt_PJB0kWPmw" isActive="true">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Z9T2EAENEeSalJ64dgpMPQ" name="component" type="_KgfLcAD8EeSjfsff3gsG3w" aggregation="composite"/>
+ <ownedBehavior xmi:type="uml:Activity" xmi:id="_DlkvIAD5EeSt_PJB0kWPmw" name="Classifier Behavior" node="_LrshsAD5EeSt_PJB0kWPmw _QQRgIAD5EeSt_PJB0kWPmw _mQ4QkAD5EeSt_PJB0kWPmw _sWYPMAD5EeSt_PJB0kWPmw _dnVLYAD6EeSt_PJB0kWPmw _1OZb8AD9EeSalJ64dgpMPQ _CVLHIAENEeSalJ64dgpMPQ _MxJ90AENEeSalJ64dgpMPQ _csdKoAESEeSalJ64dgpMPQ _6SSnEAESEeSalJ64dgpMPQ _Df_FsAETEeSalJ64dgpMPQ">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_vM5JUAD5EeSt_PJB0kWPmw" name="ControlFlow2" target="_sWYPMAD5EeSt_PJB0kWPmw" source="_QQRgIAD5EeSt_PJB0kWPmw"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_ni6DsAD6EeSt_PJB0kWPmw" name="ObjectFlow1" target="_hjqeEAD6EeSt_PJB0kWPmw" source="_-k3Y4AD5EeSt_PJB0kWPmw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_ni8f8AD6EeSt_PJB0kWPmw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_ni8f8QD6EeSt_PJB0kWPmw" value="1"/>
+ </edge>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_51F6QAD9EeSalJ64dgpMPQ" name="ObjectFlow2" target="_lPlWMAD6EeSt_PJB0kWPmw" source="_3WJyoAD9EeSalJ64dgpMPQ">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_51HIYAD9EeSalJ64dgpMPQ" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_51HIYQD9EeSalJ64dgpMPQ" value="1"/>
+ </edge>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_PlOn8AENEeSalJ64dgpMPQ" name="ObjectFlow3" target="_MxJ90AENEeSalJ64dgpMPQ" source="_nn5G0AD5EeSt_PJB0kWPmw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PlPPAAENEeSalJ64dgpMPQ" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PlP2EAENEeSalJ64dgpMPQ" value="1"/>
+ </edge>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_T0AVgAENEeSalJ64dgpMPQ" name="ObjectFlow4" target="_EBI5sAENEeSalJ64dgpMPQ" source="_MxJ90AENEeSalJ64dgpMPQ">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_T0A8kAENEeSalJ64dgpMPQ" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_T0BjoAENEeSalJ64dgpMPQ" value="1"/>
+ </edge>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_vkpx8AENEeSalJ64dgpMPQ" name="ObjectFlow5" target="_gUM2wAD5EeSt_PJB0kWPmw" source="_i4dzMAENEeSalJ64dgpMPQ">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_vkrAEAENEeSalJ64dgpMPQ" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_vkrAEQENEeSalJ64dgpMPQ" value="1"/>
+ </edge>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_w10e4AENEeSalJ64dgpMPQ" name="ObjectFlow6" target="_A86fQAEDEeSalJ64dgpMPQ" source="_MxJ90AENEeSalJ64dgpMPQ">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_w11tAAENEeSalJ64dgpMPQ" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_w11tAQENEeSalJ64dgpMPQ" value="1"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_WzqvIAEOEeSalJ64dgpMPQ" name="ControlFlow3" target="_mQ4QkAD5EeSt_PJB0kWPmw" source="_LrshsAD5EeSt_PJB0kWPmw"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_oTDaUAESEeSalJ64dgpMPQ" name="ObjectFlow7" target="_aGPWUAESEeSalJ64dgpMPQ" source="_ftmAYAESEeSalJ64dgpMPQ">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_oTEocAESEeSalJ64dgpMPQ" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_oTEocQESEeSalJ64dgpMPQ" value="1"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_AtTisAETEeSalJ64dgpMPQ" name="ControlFlow4" target="_6SSnEAESEeSalJ64dgpMPQ" source="_dnVLYAD6EeSt_PJB0kWPmw"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_EqUK0AETEeSalJ64dgpMPQ" name="ControlFlow5" target="_Df_FsAETEeSalJ64dgpMPQ" source="_6SSnEAESEeSalJ64dgpMPQ"/>
+ <node xmi:type="uml:InitialNode" xmi:id="_LrshsAD5EeSt_PJB0kWPmw" name="InitialNode" outgoing="_WzqvIAEOEeSalJ64dgpMPQ"/>
+ <node xmi:type="uml:SendSignalAction" xmi:id="_QQRgIAD5EeSt_PJB0kWPmw" name="Send Start to Component" outgoing="_vM5JUAD5EeSt_PJB0kWPmw" signal="_WUiIoAD5EeSt_PJB0kWPmw">
+ <argument xmi:type="uml:InputPin" xmi:id="_A86fQAEDEeSalJ64dgpMPQ" name="tester" incoming="_w10e4AENEeSalJ64dgpMPQ" type="_3raqQAD4EeSt_PJB0kWPmw">
+ <upperBound xmi:type="uml:LiteralInteger" xmi:id="_A86fQQEDEeSalJ64dgpMPQ" value="1"/>
+ </argument>
+ <target xmi:type="uml:InputPin" xmi:id="_gUM2wAD5EeSt_PJB0kWPmw" name="component" incoming="_vkpx8AENEeSalJ64dgpMPQ" type="_KgfLcAD8EeSjfsff3gsG3w"/>
+ </node>
+ <node xmi:type="uml:ReadSelfAction" xmi:id="_mQ4QkAD5EeSt_PJB0kWPmw" name="This" incoming="_WzqvIAEOEeSalJ64dgpMPQ">
+ <result xmi:type="uml:OutputPin" xmi:id="_nn5G0AD5EeSt_PJB0kWPmw" outgoing="_PlOn8AENEeSalJ64dgpMPQ" type="_3raqQAD4EeSt_PJB0kWPmw"/>
+ </node>
+ <node xmi:type="uml:AcceptEventAction" xmi:id="_sWYPMAD5EeSt_PJB0kWPmw" name="Ack" incoming="_vM5JUAD5EeSt_PJB0kWPmw" isUnmarshall="true">
+ <result xmi:type="uml:OutputPin" xmi:id="_-k3Y4AD5EeSt_PJB0kWPmw" outgoing="_ni6DsAD6EeSt_PJB0kWPmw">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <upperBound xmi:type="uml:LiteralInteger" xmi:id="_-k3_8AD5EeSt_PJB0kWPmw" value="1"/>
+ </result>
+ <trigger xmi:type="uml:Trigger" xmi:id="_8tdLUAD5EeSt_PJB0kWPmw" name="AckTrigger" event="_26sigAD5EeSt_PJB0kWPmw"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_dnVLYAD6EeSt_PJB0kWPmw" name="CallBehaviorAction" outgoing="_AtTisAETEeSalJ64dgpMPQ">
+ <argument xmi:type="uml:InputPin" xmi:id="_aGPWUAESEeSalJ64dgpMPQ" name="label" incoming="_oTDaUAESEeSalJ64dgpMPQ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </argument>
+ <argument xmi:type="uml:InputPin" xmi:id="_hjqeEAD6EeSt_PJB0kWPmw" name="value" incoming="_ni6DsAD6EeSt_PJB0kWPmw">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <upperBound xmi:type="uml:LiteralInteger" xmi:id="_hjrFIAD6EeSt_PJB0kWPmw" value="1"/>
+ </argument>
+ <argument xmi:type="uml:InputPin" xmi:id="_lPlWMAD6EeSt_PJB0kWPmw" name="testValue" incoming="_51F6QAD9EeSalJ64dgpMPQ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <upperBound xmi:type="uml:LiteralInteger" xmi:id="_PttRsAEREeSalJ64dgpMPQ" value="1"/>
+ </argument>
+ <behavior xmi:type="uml:OpaqueBehavior" href="pathmap://PAPYRUS_ASSERTION_LIBRARY/AssertionLibrary.uml#_8kE3oIgUEeKtquXykzQHVw"/>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_1OZb8AD9EeSalJ64dgpMPQ" name="42">
+ <result xmi:type="uml:OutputPin" xmi:id="_3WJyoAD9EeSalJ64dgpMPQ" name="value" outgoing="_51F6QAD9EeSalJ64dgpMPQ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_2NBnYAD9EeSalJ64dgpMPQ" value="42"/>
+ </node>
+ <node xmi:type="uml:ReadStructuralFeatureAction" xmi:id="_CVLHIAENEeSalJ64dgpMPQ" name="Component" structuralFeature="_Z9T2EAENEeSalJ64dgpMPQ">
+ <object xmi:type="uml:InputPin" xmi:id="_EBI5sAENEeSalJ64dgpMPQ" name="tester" incoming="_T0AVgAENEeSalJ64dgpMPQ" type="_3raqQAD4EeSt_PJB0kWPmw"/>
+ <result xmi:type="uml:OutputPin" xmi:id="_i4dzMAENEeSalJ64dgpMPQ" name="component" outgoing="_vkpx8AENEeSalJ64dgpMPQ" type="_KgfLcAD8EeSjfsff3gsG3w"/>
+ </node>
+ <node xmi:type="uml:ForkNode" xmi:id="_MxJ90AENEeSalJ64dgpMPQ" name="ForkNode" incoming="_PlOn8AENEeSalJ64dgpMPQ" outgoing="_T0AVgAENEeSalJ64dgpMPQ _w10e4AENEeSalJ64dgpMPQ"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_csdKoAESEeSalJ64dgpMPQ" name="label">
+ <result xmi:type="uml:OutputPin" xmi:id="_ftmAYAESEeSalJ64dgpMPQ" name="label" outgoing="_oTDaUAESEeSalJ64dgpMPQ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_e7QkgAESEeSalJ64dgpMPQ" value="value is equal to testValue"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_6SSnEAESEeSalJ64dgpMPQ" name="" incoming="_AtTisAETEeSalJ64dgpMPQ" outgoing="_EqUK0AETEeSalJ64dgpMPQ">
+ <behavior xmi:type="uml:OpaqueBehavior" href="pathmap://PAPYRUS_ASSERTION_LIBRARY/AssertionLibrary.uml#_42AbkNz9EeONFdeprwPg2A"/>
+ </node>
+ <node xmi:type="uml:ActivityFinalNode" xmi:id="_Df_FsAETEeSalJ64dgpMPQ" name="ActivityFinalNode" incoming="_EqUK0AETEeSalJ64dgpMPQ"/>
+ </ownedBehavior>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_KgfLcAD8EeSjfsff3gsG3w" name="Component" classifierBehavior="_Mogn4AD8EeSjfsff3gsG3w" isActive="true">
+ <ownedBehavior xmi:type="uml:Activity" xmi:id="_Mogn4AD8EeSjfsff3gsG3w" name="Classifier Behavior" node="_FrjAUAD9EeSalJ64dgpMPQ _GWLRsAD9EeSalJ64dgpMPQ _Y9gZMAD9EeSalJ64dgpMPQ _pAdfcAD9EeSalJ64dgpMPQ">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_SrqAoAD9EeSalJ64dgpMPQ" name="ControlFlow" target="_GWLRsAD9EeSalJ64dgpMPQ" source="_FrjAUAD9EeSalJ64dgpMPQ"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_uWvAkAD9EeSalJ64dgpMPQ" name="ObjectFlow" target="_elc5IAD9EeSalJ64dgpMPQ" source="_sJ1EIAD9EeSalJ64dgpMPQ">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_uWxc0AD9EeSalJ64dgpMPQ" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_uWxc0QD9EeSalJ64dgpMPQ" value="1"/>
+ </edge>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_CWjKsAEOEeSalJ64dgpMPQ" name="ObjectFlow1" target="_iLX28AD9EeSalJ64dgpMPQ" source="_5rMkIAENEeSalJ64dgpMPQ">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_CWjxwAEOEeSalJ64dgpMPQ" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_CWkY0AEOEeSalJ64dgpMPQ" value="1"/>
+ </edge>
+ <node xmi:type="uml:InitialNode" xmi:id="_FrjAUAD9EeSalJ64dgpMPQ" name="InitialNode" outgoing="_SrqAoAD9EeSalJ64dgpMPQ"/>
+ <node xmi:type="uml:AcceptEventAction" xmi:id="_GWLRsAD9EeSalJ64dgpMPQ" name="Start" incoming="_SrqAoAD9EeSalJ64dgpMPQ" isUnmarshall="true">
+ <result xmi:type="uml:OutputPin" xmi:id="_5rMkIAENEeSalJ64dgpMPQ" name="tester" outgoing="_CWjKsAEOEeSalJ64dgpMPQ" type="_3raqQAD4EeSt_PJB0kWPmw">
+ <upperBound xmi:type="uml:LiteralInteger" xmi:id="_5rNLMAENEeSalJ64dgpMPQ" value="1"/>
+ </result>
+ <trigger xmi:type="uml:Trigger" xmi:id="_P9tzsAD9EeSalJ64dgpMPQ" name="StartTrigger" event="_Xz4bgAD5EeSt_PJB0kWPmw"/>
+ </node>
+ <node xmi:type="uml:SendSignalAction" xmi:id="_Y9gZMAD9EeSalJ64dgpMPQ" name="Send Ack" signal="_yHc18AD5EeSt_PJB0kWPmw">
+ <argument xmi:type="uml:InputPin" xmi:id="_elc5IAD9EeSalJ64dgpMPQ" name="value" incoming="_uWvAkAD9EeSalJ64dgpMPQ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <upperBound xmi:type="uml:LiteralInteger" xmi:id="_eleuUAD9EeSalJ64dgpMPQ" value="1"/>
+ </argument>
+ <target xmi:type="uml:InputPin" xmi:id="_iLX28AD9EeSalJ64dgpMPQ" name="tester" incoming="_CWjKsAEOEeSalJ64dgpMPQ" type="_3raqQAD4EeSt_PJB0kWPmw"/>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_pAdfcAD9EeSalJ64dgpMPQ" name="42">
+ <result xmi:type="uml:OutputPin" xmi:id="_sJ1EIAD9EeSalJ64dgpMPQ" name="value" outgoing="_uWvAkAD9EeSalJ64dgpMPQ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_q5kWIAD9EeSalJ64dgpMPQ" value="42"/>
+ </node>
+ </ownedBehavior>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_EsFR8AD-EeSalJ64dgpMPQ" name="Component">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_EsLYkAD-EeSalJ64dgpMPQ" name="return" type="_KgfLcAD8EeSjfsff3gsG3w" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_VrbAkAEBEeSalJ64dgpMPQ" name="Launcher"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_TKQlAAD5EeSt_PJB0kWPmw" name="Signals">
+ <packagedElement xmi:type="uml:Signal" xmi:id="_WUiIoAD5EeSt_PJB0kWPmw" name="Start">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_zOQW4AECEeSalJ64dgpMPQ" name="tester" type="_3raqQAD4EeSt_PJB0kWPmw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:SignalEvent" xmi:id="_Xz4bgAD5EeSt_PJB0kWPmw" name="Start Event" signal="_WUiIoAD5EeSt_PJB0kWPmw"/>
+ <packagedElement xmi:type="uml:Signal" xmi:id="_yHc18AD5EeSt_PJB0kWPmw" name="Ack">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_1hnPsAD5EeSt_PJB0kWPmw" name="value">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:SignalEvent" xmi:id="_26sigAD5EeSt_PJB0kWPmw" name="Ack Event" signal="_yHc18AD5EeSt_PJB0kWPmw"/>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_FBtZgPxlEeO4j4N11yWxfQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FDF5kPxlEeO4j4N11yWxfQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_Eow4MAD-EeSalJ64dgpMPQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EpTqwAD-EeSalJ64dgpMPQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Model>
+ <standard:Create xmi:id="_EsMmsAD-EeSalJ64dgpMPQ" base_BehavioralFeature="_EsFR8AD-EeSalJ64dgpMPQ"/>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/TestSuite.di b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Test Suite/TestSuite.di
index 3efa532..ba0a8e6 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/TestSuite.di
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Test Suite/TestSuite.di
@@ -1,611 +1,611 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
- <pageList>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_Bt19oHKnEeK1kPmoj_saYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_Mt0AQHKpEeK1kPmoj_saYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_fZw18Ir7EeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_bxYD4IsEEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_hlNWO4snEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_hlXG0IsnEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_hlXHwosnEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_kgnPFYs1EeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_kgw_oIs1EeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_kgxA6Is1EeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_xqsCQItAEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_xq1zQItAEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_xq10MotAEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_qg6UcItGEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_qhEFcItGEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_qhEGZotGEeKEn4V9UD8Cqw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_cEu1gJruEeKfMrQwI0732Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_gekgEJ6-EeKgCJbCIwqFWw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_liXEUKNDEeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_eGNmYKNEEeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_2yWdEKNREeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_9MNQMKNTEeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_Uw7-cKNXEeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_Uw7-7qNXEeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_QamI8KNaEeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_QamJbqNaEeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_hJcOYKNmEeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_hJcO2aNmEeKtYNW7l6h6LA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_6tfE0KNwEeKU2-QRh2EfwQ"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_6tfFY6NwEeKU2-QRh2EfwQ"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_VCFgIKQYEeKU2-QRh2EfwQ"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_VCFgzqQYEeKU2-QRh2EfwQ"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_S2ba4KRaEeKU2-QRh2EfwQ"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_Ck7QYKRcEeKU2-QRh2EfwQ"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_C0tRAKTZEeKGUdxOl5wllg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_QNpoEKTZEeKGUdxOl5wllg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mQ1OkKTdEeKGUdxOl5wllg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#__oDjQKTiEeKGUdxOl5wllg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#__Ml-gLJEEeKkg56qGbAD_g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_C4quMLJyEeKkg56qGbAD_g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_cYugsLJ1EeKkg56qGbAD_g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_Bd34QLJ_EeKkg56qGbAD_g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_TWNO8LKDEeKldoyk0Vxuww"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_vR5dwLKDEeKldoyk0Vxuww"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_Q52doLL5EeK0KO40j_ONUA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_SypyULL5EeK0KO40j_ONUA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_CkUesLNKEeKK3coO-y0vJg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_9C9tgLY_EeKVFKC7Y-H4-A"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_CRtqULZAEeKVFKC7Y-H4-A"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_vII3wLZHEeKVFKC7Y-H4-A"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_MJFzkLZKEeKVFKC7Y-H4-A"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_wqugULZREeKifZ6nCzyfKA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_XUrooLZSEeKifZ6nCzyfKA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_XbSxgLZTEeKifZ6nCzyfKA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_TjVSYLZcEeKifZ6nCzyfKA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_gm5Z4LZdEeKifZ6nCzyfKA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ZkWVcLZjEeKifZ6nCzyfKA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_HVUjwLZkEeKifZ6nCzyfKA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_oAONELb7EeKQYayI9qY9dA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_dDuN0Lb8EeKQYayI9qY9dA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_RTFa4LcIEeKQYayI9qY9dA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_hlnG0LcLEeKQYayI9qY9dA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_aezU0LcOEeKQYayI9qY9dA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_M4mcgLccEeKQYayI9qY9dA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_BWO6MLx6EeK1Qo9t_0gCIw"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_860W0P68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_867rkP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_869gwP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_86_9AP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87ByMP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87DnYP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87EOcP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87GDoP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87H40P68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87JG8P68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87KVEP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87K8IP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87MxUP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87N_cP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87QbsP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87RCwP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87SQ4P68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87XJYP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87YXgP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_87ZloP68EeKIUMeW2s0i8Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_jf9-wP9ZEeKcBsjselkpBA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_jgMBMP9ZEeKcBsjselkpBA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_9W-aMP9zEeKcBsjselkpBA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UAv0cAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UAyQsAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA0F4AAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA1UAAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA17EAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA2iIAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA3wQAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA4-YAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA6MgAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA7aoAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA8BsAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA9P0AAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA-d8AAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UA_FAAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UBATIAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UBCIUAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UBDWcAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UBFLoAAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_UBHA0AAZEeOs7eeqDkWiYA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_oe6xBitmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_oe6yBCtmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_oe6zSitmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ofEijitmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ofEjyCtmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ofElZCtmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ofNrsCtmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ofNstytmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ofNtrStmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ofNuSCtmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ofNvdCtmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_ofXcsCtmEeO4fJDQoZ3qWg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OD4ucCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OD7xwCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OD8_4CxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OD-OACxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEADMCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEBRUCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEB4YCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEDGgCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEEUoCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEFiwCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEHX8CxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEImECxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEJ0MCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEKbQCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEM3gCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEOFoCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEP60CxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OERI8CxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OES-ICxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEUMQCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEWogCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEX2oCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEZEwCxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEaS4CxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEbhACxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_OEcIECxNEeO3H5Soz7PiHA"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7s3iUCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7s7MsCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7s9B4CzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7s-QACzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7s_eICzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tBTUCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tDIgCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tEWoCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tE9sCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tGL0CzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tHZ8CzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tJ2MCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tLEUCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tM5gCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tNgkCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tOusCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tP80CzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tSZECzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tU1UCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tWDcCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tX4oCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tZt0CzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7taU4CzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7tcKECzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7td_QCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_7temUCzlEeOKM6g_-y4R4Q"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGCnUCz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGEcgCz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGG4wCz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGHf0Cz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGIt8Cz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGJ8ECz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGLxQCz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGM_YCz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGO0kCz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGQCsCz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_sGRQ0Cz5EeO33oL4Gs2A0g"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWWPYDDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWYEkDDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWZSsDDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWag0DDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWbu8DDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWcWADDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWc9EDDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWeyQDDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWgAYDDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWhOgDDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_mWh1kDDEEeOwibuSYtY-Cg"/>
- </availablePage>
- <availablePage>
- <emfPageIdentifier href="TestSuite.notation#_SegUYEqxEeOJgKAcDQbvUQ"/>
- </availablePage>
- </pageList>
- <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
- <windows>
- <children xsi:type="di:TabFolder">
- <children>
- <emfPageIdentifier href="TestSuite.notation#_SegUYEqxEeOJgKAcDQbvUQ"/>
- </children>
- <children>
- <emfPageIdentifier href="TestSuite.notation#_cTgnQN0EEeO9g9yfGyjuZA"/>
- </children>
- <children>
- <emfPageIdentifier href="TestSuite.notation#_VdOqMOshEeO9NLvcJ9asBA"/>
- </children>
- <children>
- <emfPageIdentifier href="TestSuite.notation#_mWc9EDDEEeOwibuSYtY-Cg"/>
- </children>
- <children>
- <emfPageIdentifier href="TestSuite.notation#_UBDWcAAZEeOs7eeqDkWiYA"/>
- </children>
- <children>
- <emfPageIdentifier href="TestSuite.notation#_UA_FAAAZEeOs7eeqDkWiYA"/>
- </children>
- </children>
- </windows>
- </sashModel>
-</di:SashWindowsMngr>
+<?xml version="1.0" encoding="UTF-8"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_Bt19oHKnEeK1kPmoj_saYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_Mt0AQHKpEeK1kPmoj_saYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_fZw18Ir7EeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_bxYD4IsEEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_hlNWO4snEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_hlXG0IsnEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_hlXHwosnEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_kgnPFYs1EeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_kgw_oIs1EeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_kgxA6Is1EeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_xqsCQItAEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_xq1zQItAEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_xq10MotAEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_qg6UcItGEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_qhEFcItGEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_qhEGZotGEeKEn4V9UD8Cqw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_cEu1gJruEeKfMrQwI0732Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_gekgEJ6-EeKgCJbCIwqFWw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_liXEUKNDEeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_eGNmYKNEEeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_2yWdEKNREeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_9MNQMKNTEeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_Uw7-cKNXEeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_Uw7-7qNXEeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_QamI8KNaEeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_QamJbqNaEeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_hJcOYKNmEeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_hJcO2aNmEeKtYNW7l6h6LA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_6tfE0KNwEeKU2-QRh2EfwQ"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_6tfFY6NwEeKU2-QRh2EfwQ"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_VCFgIKQYEeKU2-QRh2EfwQ"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_VCFgzqQYEeKU2-QRh2EfwQ"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_S2ba4KRaEeKU2-QRh2EfwQ"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_Ck7QYKRcEeKU2-QRh2EfwQ"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_C0tRAKTZEeKGUdxOl5wllg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_QNpoEKTZEeKGUdxOl5wllg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mQ1OkKTdEeKGUdxOl5wllg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#__oDjQKTiEeKGUdxOl5wllg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#__Ml-gLJEEeKkg56qGbAD_g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_C4quMLJyEeKkg56qGbAD_g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_cYugsLJ1EeKkg56qGbAD_g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_Bd34QLJ_EeKkg56qGbAD_g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_TWNO8LKDEeKldoyk0Vxuww"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_vR5dwLKDEeKldoyk0Vxuww"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_Q52doLL5EeK0KO40j_ONUA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_SypyULL5EeK0KO40j_ONUA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_CkUesLNKEeKK3coO-y0vJg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_9C9tgLY_EeKVFKC7Y-H4-A"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_CRtqULZAEeKVFKC7Y-H4-A"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_vII3wLZHEeKVFKC7Y-H4-A"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_MJFzkLZKEeKVFKC7Y-H4-A"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_wqugULZREeKifZ6nCzyfKA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_XUrooLZSEeKifZ6nCzyfKA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_XbSxgLZTEeKifZ6nCzyfKA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_TjVSYLZcEeKifZ6nCzyfKA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_gm5Z4LZdEeKifZ6nCzyfKA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ZkWVcLZjEeKifZ6nCzyfKA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_HVUjwLZkEeKifZ6nCzyfKA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_oAONELb7EeKQYayI9qY9dA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_dDuN0Lb8EeKQYayI9qY9dA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_RTFa4LcIEeKQYayI9qY9dA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_hlnG0LcLEeKQYayI9qY9dA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_aezU0LcOEeKQYayI9qY9dA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_M4mcgLccEeKQYayI9qY9dA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_BWO6MLx6EeK1Qo9t_0gCIw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_860W0P68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_867rkP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_869gwP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_86_9AP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87ByMP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87DnYP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87EOcP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87GDoP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87H40P68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87JG8P68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87KVEP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87K8IP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87MxUP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87N_cP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87QbsP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87RCwP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87SQ4P68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87XJYP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87YXgP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_87ZloP68EeKIUMeW2s0i8Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_jf9-wP9ZEeKcBsjselkpBA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_jgMBMP9ZEeKcBsjselkpBA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_9W-aMP9zEeKcBsjselkpBA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UAv0cAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UAyQsAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA0F4AAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA1UAAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA17EAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA2iIAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA3wQAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA4-YAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA6MgAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA7aoAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA8BsAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA9P0AAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA-d8AAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UA_FAAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UBATIAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UBCIUAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UBDWcAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UBFLoAAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_UBHA0AAZEeOs7eeqDkWiYA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_oe6xBitmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_oe6yBCtmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_oe6zSitmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ofEijitmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ofEjyCtmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ofElZCtmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ofNrsCtmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ofNstytmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ofNtrStmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ofNuSCtmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ofNvdCtmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_ofXcsCtmEeO4fJDQoZ3qWg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OD4ucCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OD7xwCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OD8_4CxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OD-OACxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEADMCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEBRUCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEB4YCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEDGgCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEEUoCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEFiwCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEHX8CxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEImECxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEJ0MCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEKbQCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEM3gCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEOFoCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEP60CxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OERI8CxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OES-ICxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEUMQCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEWogCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEX2oCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEZEwCxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEaS4CxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEbhACxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_OEcIECxNEeO3H5Soz7PiHA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7s3iUCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7s7MsCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7s9B4CzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7s-QACzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7s_eICzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tBTUCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tDIgCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tEWoCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tE9sCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tGL0CzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tHZ8CzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tJ2MCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tLEUCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tM5gCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tNgkCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tOusCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tP80CzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tSZECzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tU1UCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tWDcCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tX4oCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tZt0CzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7taU4CzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7tcKECzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7td_QCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_7temUCzlEeOKM6g_-y4R4Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGCnUCz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGEcgCz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGG4wCz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGHf0Cz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGIt8Cz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGJ8ECz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGLxQCz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGM_YCz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGO0kCz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGQCsCz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_sGRQ0Cz5EeO33oL4Gs2A0g"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWWPYDDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWYEkDDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWZSsDDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWag0DDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWbu8DDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWcWADDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWc9EDDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWeyQDDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWgAYDDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWhOgDDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_mWh1kDDEEeOwibuSYtY-Cg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="TestSuite.notation#_SegUYEqxEeOJgKAcDQbvUQ"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="TestSuite.notation#_SegUYEqxEeOJgKAcDQbvUQ"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="TestSuite.notation#_cTgnQN0EEeO9g9yfGyjuZA"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="TestSuite.notation#_VdOqMOshEeO9NLvcJ9asBA"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="TestSuite.notation#_mWc9EDDEEeOwibuSYtY-Cg"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="TestSuite.notation#_UBDWcAAZEeOs7eeqDkWiYA"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="TestSuite.notation#_UA_FAAAZEeOs7eeqDkWiYA"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/TestSuite.notation b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Test Suite/TestSuite.notation
index 7625041..7625041 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/TestSuite.notation
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Test Suite/TestSuite.notation
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/TestSuite.uml b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Test Suite/TestSuite.uml
index e28b602..e28b602 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/TestSuite.uml
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/resources/Test Suite/TestSuite.uml
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/AllTests.java b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/AllTests.java
index d4aa2e0..7373dc6 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/AllTests.java
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/AllTests.java
@@ -16,12 +16,13 @@ import org.eclipse.papyrus.moka.tests.semantics.async.fuml.AsyncRunAllTestsButTe
import org.eclipse.papyrus.moka.tests.semantics.async.fuml.AsyncRunTestSuite4;
import org.eclipse.papyrus.moka.tests.semantics.composites.CompositeRunAllTestsButTestSuite4;
import org.eclipse.papyrus.moka.tests.semantics.composites.CompositeRunTestSuite4;
+import org.eclipse.papyrus.moka.tests.semantics.composites.modeling.utils.RunGenerateFactoryTest;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
-@SuiteClasses({ CompositeRunAllTestsButTestSuite4.class, CompositeRunTestSuite4.class, AsyncRunAllTestsButTestSuite4.class, AsyncRunTestSuite4.class })
+@SuiteClasses({ CompositeRunAllTestsButTestSuite4.class, CompositeRunTestSuite4.class, AsyncRunAllTestsButTestSuite4.class, AsyncRunTestSuite4.class, RunGenerateFactoryTest.class })
public class AllTests {
public AllTests() {
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/AbstractMokaTest.java b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/AbstractMokaTest.java
index 1e9839b..0b95048 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/AbstractMokaTest.java
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/AbstractMokaTest.java
@@ -40,20 +40,25 @@ import org.junit.Before;
import org.junit.Test;
/**
- * @author AC221913
+ * A generic test class for Moka.
+ * It factorizes mechanisms to start a Moka execution from a launch configuration.
+ *
+ * @author CEA LIST
*
*/
public abstract class AbstractMokaTest extends AbstractEditorTest {
- public static final String RESOURCES_PATH = "/resources"; //$NON-NLS-1$
-
- public static final String MODEL_NAME = "/TestSuite"; //$NON-NLS-1$
-
public static final String PROJECT_NAME = "org.eclipse.papyrus.moka.tests"; //$NON-NLS-1$
- public Model model;
+ /**
+ * The model containing the test case activity
+ */
+ protected Model model;
- public Activity activity;
+ /**
+ * The main test case activity
+ */
+ protected Activity testCaseActivity;
/**
* This method initialize the model element from the project.
@@ -66,7 +71,7 @@ public abstract class AbstractMokaTest extends AbstractEditorTest {
try {
MokaConstants.MOKA_AUTOMATIC_ANIMATION = false;
MokaConstants.SILENT_MODE = true;
- initModel(PROJECT_NAME, MODEL_NAME, Activator.getDefault().getBundle());
+ initModel(PROJECT_NAME, getModelName(), Activator.getDefault().getBundle());
} catch (Exception e) {
Assert.fail(e.getMessage());
}
@@ -74,8 +79,7 @@ public abstract class AbstractMokaTest extends AbstractEditorTest {
@Override
protected String getSourcePath() {
- // TODO Auto-generated method stub
- return RESOURCES_PATH;
+ return getResourcesPath();
}
@Test
@@ -96,7 +100,7 @@ public abstract class AbstractMokaTest extends AbstractEditorTest {
model = (Model)getRootUMLModel();
//get activity to execute
- activity = (org.eclipse.uml2.uml.Activity)model.getPackagedElement(this.getActivityName());
+ testCaseActivity = (org.eclipse.uml2.uml.Activity)model.getPackagedElement(this.getActivityName());
/* 2. Execute it */
// define launch configuration
@@ -168,7 +172,7 @@ public abstract class AbstractMokaTest extends AbstractEditorTest {
ILaunchConfigurationWorkingCopy configuration = type.newInstance(null, "MOKA JUNIT TESTS");
configuration.setAttribute(MokaLaunchDelegate.URI_ATTRIBUTE_NAME, model.eResource().getURI().toString());
- configuration.setAttribute(MokaLaunchDelegate.FRAGMENT_ATTRIBUTE_NAME, activity.eResource().getURIFragment(activity));
+ configuration.setAttribute(MokaLaunchDelegate.FRAGMENT_ATTRIBUTE_NAME, testCaseActivity.eResource().getURIFragment(testCaseActivity));
configuration.setAttribute(MokaLaunchDelegate.ARGS_ATTRIBUTE_NAME, "");
// save and return new configuration
@@ -185,6 +189,19 @@ public abstract class AbstractMokaTest extends AbstractEditorTest {
*/
public abstract String getActivityName();
+ /**
+ * Returns the path of the resources folder, which contains the base UML model of the test case
+ *
+ * @return the path of the resources folder
+ */
+ public abstract String getResourcesPath();
+
+ /**
+ * Returns the name of the model
+ *
+ * @return the name of the model
+ */
+ public abstract String getModelName();
/**
* Returns the launch configuration delegate to be used for this test
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunAllTestsButTestSuite4.java b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunAllTestsButTestSuite4.java
index a47a759..5f8e62a 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunAllTestsButTestSuite4.java
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunAllTestsButTestSuite4.java
@@ -22,14 +22,28 @@ import org.eclipse.papyrus.moka.tests.semantics.AbstractMokaTest;
*/
public class AsyncRunAllTestsButTestSuite4 extends AbstractMokaTest {
- public static final String ACTIVITY_NAME = "RunAllTests"; //$NON-NLS-1$
+ protected static final String ACTIVITY_NAME = "RunAllTests"; //$NON-NLS-1$
+
+ protected String RESOURCES_PATH = "/resources/Test Suite"; //$NON-NLS-1$
+
+ protected String MODEL_NAME = "/TestSuite"; //$NON-NLS-1$
@Override
public String getActivityName() {
return ACTIVITY_NAME;
}
+
+ @Override
+ public String getResourcesPath() {
+ return RESOURCES_PATH;
+ }
@Override
+ public String getModelName() {
+ return MODEL_NAME;
+ }
+
+ @Override
public AbstractMokaLaunchConfigurationDelegate getLaunchDelegate() {
return new AsyncFUMLEngineLaunchDelegate();
}
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunTestSuite4.java b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunTestSuite4.java
index 756b7cf..0970fa0 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunTestSuite4.java
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/async/fuml/AsyncRunTestSuite4.java
@@ -24,12 +24,26 @@ public class AsyncRunTestSuite4 extends AbstractMokaTest {
protected final String ACTIVITY_NAME = "Run Test Suite 4"; //$NON-NLS-1$
+ protected String RESOURCES_PATH = "/resources/Test Suite"; //$NON-NLS-1$
+
+ protected String MODEL_NAME = "/TestSuite"; //$NON-NLS-1$
+
@Override
public String getActivityName() {
return ACTIVITY_NAME;
}
+
+ @Override
+ public String getResourcesPath() {
+ return RESOURCES_PATH;
+ }
@Override
+ public String getModelName() {
+ return MODEL_NAME;
+ }
+
+ @Override
public AbstractMokaLaunchConfigurationDelegate getLaunchDelegate() {
return new AsyncFUMLEngineLaunchDelegate();
}
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunAllTestsButTestSuite4.java b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunAllTestsButTestSuite4.java
index fa2027d..3b6a208 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunAllTestsButTestSuite4.java
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunAllTestsButTestSuite4.java
@@ -23,11 +23,25 @@ import org.eclipse.papyrus.moka.tests.semantics.AbstractMokaTest;
public class CompositeRunAllTestsButTestSuite4 extends AbstractMokaTest {
public static final String ACTIVITY_NAME = "RunAllTests"; //$NON-NLS-1$
+
+ public String RESOURCES_PATH = "/resources/Test Suite"; //$NON-NLS-1$
+
+ public String MODEL_NAME = "/TestSuite"; //$NON-NLS-1$
@Override
public String getActivityName() {
return ACTIVITY_NAME;
}
+
+ @Override
+ public String getResourcesPath() {
+ return RESOURCES_PATH;
+ }
+
+ @Override
+ public String getModelName() {
+ return MODEL_NAME;
+ }
@Override
public AbstractMokaLaunchConfigurationDelegate getLaunchDelegate() {
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunTestSuite4.java b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunTestSuite4.java
index f1dddb3..e2ea567 100644
--- a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunTestSuite4.java
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/CompositeRunTestSuite4.java
@@ -24,12 +24,26 @@ public class CompositeRunTestSuite4 extends AbstractMokaTest {
protected final String ACTIVITY_NAME = "Run Test Suite 4"; //$NON-NLS-1$
+ protected String RESOURCES_PATH = "/resources/Test Suite"; //$NON-NLS-1$
+
+ protected String MODEL_NAME = "/TestSuite"; //$NON-NLS-1$
+
@Override
public String getActivityName() {
return ACTIVITY_NAME;
}
+
+ @Override
+ public String getResourcesPath() {
+ return RESOURCES_PATH;
+ }
@Override
+ public String getModelName() {
+ return MODEL_NAME;
+ }
+
+ @Override
public AbstractMokaLaunchConfigurationDelegate getLaunchDelegate() {
return new CompositesEngineLaunchDelegate();
}
diff --git a/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/modeling/utils/RunGenerateFactoryTest.java b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/modeling/utils/RunGenerateFactoryTest.java
new file mode 100644
index 0000000..162f627
--- /dev/null
+++ b/tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests/src/org/eclipse/papyrus/moka/tests/semantics/composites/modeling/utils/RunGenerateFactoryTest.java
@@ -0,0 +1,142 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * 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:
+ * (CEA LIST) - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.moka.tests.semantics.composites.modeling.utils;
+
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.Launch;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
+import org.eclipse.papyrus.moka.composites.utils.handlers.GenerateFactoryHandler;
+import org.eclipse.papyrus.moka.tests.AbstractMokaLaunchConfigurationDelegate;
+import org.eclipse.papyrus.moka.tests.Activator;
+import org.eclipse.papyrus.moka.tests.semantics.AbstractMokaTest;
+import org.eclipse.papyrus.moka.tests.semantics.async.fuml.AsyncFUMLEngineLaunchDelegate;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ *
+ * A test case for testing the generation of factory
+ * (See https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution#Your_first_executable_model)
+ *
+ * @author Bruno Marques - CEA LIST
+ *
+ */
+public class RunGenerateFactoryTest extends AbstractMokaTest {
+
+ protected final String ACTIVITY_NAME = "Tester_Factory"; //$NON-NLS-1$
+
+ protected final String RESOURCES_PATH = "/resources/Modeling Utils"; //$NON-NLS-1$
+
+ protected final String MODEL_NAME = "/model"; //$NON-NLS-1$
+
+ protected final String CLASS_NAME = "Tester";
+
+ protected final String PACKAGE_NAME = "GenerateFactoryTest";
+
+ protected Class class4Factory;
+
+ @Override
+ @Test
+ public void runTest() throws CoreException, InterruptedException {
+ /* 1. Get Class */
+ //get the rootModel
+ Assert.assertNotNull("RootModel is null", getRootUMLModel()); //$NON-NLS-1$
+ //get all semantic element that will handled
+ model = (Model)getRootUMLModel();
+
+ PackageableElement packageElement = model.getPackagedElement(this.PACKAGE_NAME);
+
+ for (int i = 0; i < packageElement.getOwnedElements().size(); i++) {
+ Element cddElement = packageElement.getOwnedElements().get(i);
+ if (cddElement instanceof Class) {
+ Class cddClass = (Class)cddElement;
+ if (cddClass.getName().equals(this.CLASS_NAME)) {
+ class4Factory = cddClass;
+ }
+ }
+ }
+
+ /* 2. Generate factory for the class */
+ TransactionalEditingDomain domain = (TransactionalEditingDomain)EMFHelper.resolveEditingDomain(class4Factory);
+ GenerateFactoryHandler factoryHandler = new GenerateFactoryHandler();
+ domain.getCommandStack().execute(factoryHandler.getUpdateCommand(class4Factory, domain));
+
+ for(Iterator<Behavior> i = class4Factory.getOwnedBehaviors().iterator(); i.hasNext() && testCaseActivity == null;) {
+ Behavior cddFactory = i.next();
+ String cddName = cddFactory.getName() == null ? "" : cddFactory.getName();
+ if(cddFactory instanceof Activity && cddName.equals(class4Factory.getName() + "_Factory")) {
+ testCaseActivity = (Activity)cddFactory;
+ }
+ }
+
+ /* 3. Execute it */
+ // define launch configuration
+ ILaunchConfiguration configurations[] = getLaunchConfgurations(project);
+ ILaunch launch = new Launch(configurations[0], "debug", null);
+
+ // Run Moka Execution with launch configuration
+ AbstractMokaLaunchConfigurationDelegate mokaExecution = this.getLaunchDelegate();
+ mokaExecution.launch(configurations[0], "debug", launch, new NullProgressMonitor());
+
+ // Wait till moka execution thread is terminated
+ while(!launch.isTerminated()) {
+ if(Display.getCurrent() != null) {
+ try {
+ if(!Display.getCurrent().readAndDispatch()) {
+ Thread.sleep(100);
+ }
+ } catch (InterruptedException ex) {
+ throw ex;
+ } catch (Exception ex) {
+ Activator.log.error(ex); //Exception in a runnable. Log and keep going
+ }
+
+ } else {
+ Thread.sleep(100);
+ }
+ }
+ }
+
+ @Override
+ public String getActivityName() {
+ return ACTIVITY_NAME;
+ }
+
+ @Override
+ public String getResourcesPath() {
+ return RESOURCES_PATH;
+ }
+
+ @Override
+ public String getModelName() {
+ return MODEL_NAME;
+ }
+
+ @Override
+ public AbstractMokaLaunchConfigurationDelegate getLaunchDelegate() {
+ return new AsyncFUMLEngineLaunchDelegate();
+ }
+}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF
index c637613..10fb3bc 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF
@@ -15,7 +15,7 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.uml.diagram.component.tests;bundle-version="1.0.0",
org.eclipse.papyrus.uml.diagram.usecase.tests;bundle-version="1.0.0",
org.eclipse.papyrus.uml.diagram.statemachine.tests;bundle-version="1.0.0",
- org.eclipse.papyrus.uml.diagram.communication.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.uml.diagram.communication.tests;bundle-version="1.0.0",
org.eclipse.papyrus.uml.diagram.dnd.tests;bundle-version="1.0.0",
org.eclipse.papyrus.diagram.stereotypeproperty.tests;bundle-version="1.0.0",
org.eclipse.papyrus.diagram.tests;bundle-version="1.0.0",
@@ -52,7 +52,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.uml.diagram.wizards.tests;bundle-version="1.0.0",
org.eclipse.papyrus.uml.modelrepair;bundle-version="1.0.0",
org.eclipse.papyrus.diagram.profile.tests;bundle-version="1.0.0",
- org.eclipse.papyrus.infra.services.controlmode.tests;bundle-version="1.0.0"
+ org.eclipse.papyrus.infra.services.controlmode.tests;bundle-version="1.0.0",
+ org.eclipse.papyrus.junit.utils;bundle-version="1.0.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.0.0.qualifier
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.tests/Papyrus ALL tests - Failures.launch b/tests/junit/plugins/core/org.eclipse.papyrus.tests/Papyrus ALL tests - Failures.launch
new file mode 100644
index 0000000..c862607
--- /dev/null
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.tests/Papyrus ALL tests - Failures.launch
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Papyrus ALL tests - Failures"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-all-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="skip.long.junit.tests" value="false"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -testConfig=FAILING_TESTS_CONFIG"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.6 -Xms512m -Xmx1024m -DsuppressRawWhenUnchecked=true -XX:MaxPermSize=512M&#13;&#10;-XX:SoftRefLRUPolicyMSPerMB=100"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="true"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+<stringAttribute key="yk-options" value="&#10;additional-options2=onexit\=snapshot&#10;"/>
+</launchConfiguration>
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java b/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java
index a16cbaa..26f9f3b 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java
@@ -15,8 +15,14 @@ package org.eclipse.papyrus.tests;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.junit.utils.classification.ClassificationConfig;
+import org.eclipse.papyrus.junit.utils.classification.TestCategory;
import org.eclipse.papyrus.tests.launcher.FragmentTestSuiteClass;
import org.eclipse.papyrus.tests.launcher.ITestSuiteClass;
import org.eclipse.papyrus.tests.launcher.PluginTestSuiteClass;
@@ -31,6 +37,16 @@ import org.junit.runners.model.InitializationError;
@RunWith(AllTests.AllTestsRunner.class)
public class AllTests {
+ static Map<String, Set<TestCategory>> availableConfigs = new HashMap<String, Set<TestCategory>>();
+
+ static {
+ availableConfigs.put("CI_TESTS_CONFIG", ClassificationConfig.CI_TESTS_CONFIG);
+ availableConfigs.put("FAILING_TESTS_CONFIG", ClassificationConfig.FAILING_TESTS_CONFIG);
+ availableConfigs.put("FULL_CI_TESTS_CONFIG", ClassificationConfig.FULL_CI_TESTS_CONFIG);
+ availableConfigs.put("FULL_TESTS_CONFIG", ClassificationConfig.FULL_TESTS_CONFIG);
+ availableConfigs.put("LIGTHWEIGHT_TESTS_CONFIG", ClassificationConfig.LIGTHWEIGHT_TESTS_CONFIG);
+ }
+
public static final List<ITestSuiteClass> suiteClasses;
/** list of classes to launch */
static {
@@ -130,6 +146,22 @@ public class AllTests {
*/
public AllTestsRunner(final Class<?> clazz) throws InitializationError {
super(clazz, getSuites());
+
+ for(String arg : Platform.getApplicationArgs()) {
+ System.out.println("Arg = " + arg);
+ if(arg.contains("-testConfig=")) {
+ System.out.println("Found testConfig: " + arg);
+ String configName = arg.substring("-testConfig=".length());
+ System.out.println("ConfigName = " + configName);
+ Set<TestCategory> testsConfig = availableConfigs.get(configName);
+ if(testsConfig != null) {
+ ClassificationConfig.setTestsConfiguration(testsConfig);
+ } else {
+ System.out.println("Invalid configName");
+ }
+ break;
+ }
+ }
}
}
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/src/org/eclipse/papyrus/uml/diagram/sequence/tests/bug/m7/TestGuardVisibility_402966.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/src/org/eclipse/papyrus/uml/diagram/sequence/tests/bug/m7/TestGuardVisibility_402966.java
index 89c8647..b5a5e05 100644
--- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/src/org/eclipse/papyrus/uml/diagram/sequence/tests/bug/m7/TestGuardVisibility_402966.java
+++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/src/org/eclipse/papyrus/uml/diagram/sequence/tests/bug/m7/TestGuardVisibility_402966.java
@@ -28,6 +28,7 @@ import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
import org.eclipse.jface.preference.IPreferencePage;
import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.papyrus.junit.utils.classification.InvalidTest;
import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.CombinedFragmentCombinedFragmentCompartmentEditPart;
import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.CombinedFragmentEditPart;
import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.CustomInteractionOperandEditPart;
@@ -69,6 +70,7 @@ public class TestGuardVisibility_402966 extends AbstractNodeTest {
return ISequenceDiagramTestsConstants.FILE_NAME;
}
+ @InvalidTest("Since 1.0.0, the Preferences have been disabled and should not be used to control the appearance of diagrams")
@Test
public void testPreferencePage() {
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();