Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorrschnekenbu2012-03-13 23:08:32 +0000
committerrschnekenbu2012-03-13 23:08:32 +0000
commit0f3d7c150dfba94d4ed7a54dc3a6727262de410b (patch)
tree28bdad6f9269cf15181aa264efc872b3fd73de0b /tests
parentc0d63eab3d828e4ab5c1604f0934062c9aff17a3 (diff)
downloadorg.eclipse.papyrus-0f3d7c150dfba94d4ed7a54dc3a6727262de410b.tar.gz
org.eclipse.papyrus-0f3d7c150dfba94d4ed7a54dc3a6727262de410b.tar.xz
org.eclipse.papyrus-0f3d7c150dfba94d4ed7a54dc3a6727262de410b.zip
ASSIGNED - bug 354826: [model explorer] copy/paste a package does not copy diagrams (should)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=354826 Adding two advices for tables and GMf diagrams to help copy diagrams and tables. Enhanced copy commands for editing domain should be used, or the one from GMF. This fix should only work on 0.8.X series, this should be really improved on 0.9 and later versions
Diffstat (limited to 'tests')
-rw-r--r--tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/build.properties7
-rw-r--r--tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.di692
-rw-r--r--tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.notation1011
-rw-r--r--tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.uml178
-rw-r--r--tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/copypaste/TestCopyPasteElementsWithDiagrams.java603
-rw-r--r--tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/suites/AllCopyPasteTests.java2
-rw-r--r--tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/utils/EditorUtils.java140
7 files changed, 2627 insertions, 6 deletions
diff --git a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/build.properties b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/build.properties
index 41eb6ade2b4..1c8c3aeff04 100644
--- a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/build.properties
+++ b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/build.properties
@@ -1,4 +1,9 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
- .
+ .,\
+ fragment.xml,\
+ model/,\
+ org.eclipse.papyrus.sysml.diagram.blockdefinition.tests.launch,\
+ about.html,\
+ plugin.properties
diff --git a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.di b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.di
new file mode 100644
index 00000000000..0e7cc2894f2
--- /dev/null
+++ b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.di
@@ -0,0 +1,692 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI 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" xmlns:org.eclipse.papyrus.table.instance.papyrustableinstance="http://www.eclipse.org/Papyrus/Table/0.8.0/papyrustableinstance" xmlns:tableinstance="http://www.eclipse.org/EMF_Facet/ModelCellEditor/0.1.0/tableinstance" xmlns:tableinstance2="http://www.eclipse.org/EMF_Facet/Table/0.1.0/tableinstance2" xmlns:uicustom="http://www.eclipse.org/EmfFacet/infra/browser/custom/0.8">
+ <di:SashWindowsMngr>
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="ModelWithDiagrams.notation#_yGdvMGOeEeGA2PidaF_0QA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="ModelWithDiagrams.notation#_VPrUoGOfEeGA2PidaF_0QA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="ModelWithDiagrams.notation#_sgWl0GOfEeGA2PidaF_0QA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="ModelWithDiagrams.notation#_2snlgGOfEeGA2PidaF_0QA"/>
+ </availablePage>
+ <availablePage emfPageIdentifier="/1"/>
+ <availablePage emfPageIdentifier="/4"/>
+ </pageList>
+ <sashModel currentSelection="/0/@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="ModelWithDiagrams.notation#_yGdvMGOeEeGA2PidaF_0QA"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+ </di:SashWindowsMngr>
+ <org.eclipse.papyrus.table.instance.papyrustableinstance:PapyrusTableInstance name="AllocationTable" type="PapyrusAllocationTable" table="/2"/>
+ <tableinstance2:TableInstance2 description="Table Description">
+ <tableConfiguration href="../../../plugin/org.eclipse.papyrus.sysml.table.allocation/resources/allocate.tableconfiguration2#/"/>
+ <customizations href="#/2/@localCustomizations.0"/>
+ <customizations href="#/2/@localCustomizations.1"/>
+ <customizations href="emffacet:/customization/SysMLDefaultExplorerCustomization#/"/>
+ <context href="ModelWithDiagrams.uml#_4WCP0GOeEeGA2PidaF_0QA"/>
+ <columns xsi:type="tableinstance:DefaultLabelColumn"/>
+ <columns xsi:type="tableinstance:MetaClassColumn"/>
+ <columns xsi:type="tableinstance:EContainerColumn"/>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/emf/2002/Ecore#//EModelElement/eAnnotations"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/ownedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/owner"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/ownedComment"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/name"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/visibility"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/qualifiedName"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/clientDependency"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/namespace"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/nameExpression"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//ParameterableElement/owningTemplateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//ParameterableElement/templateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Relationship/relatedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//DirectedRelationship/source"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//DirectedRelationship/target"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency/supplier"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency/client"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Abstraction/mapping"/>
+ </columns>
+ <rows>
+ <element href="ModelWithDiagrams.uml#_G7R2QGeiEeGOntYbC8mMqw"/>
+ </rows>
+ <rows>
+ <element href="ModelWithDiagrams.uml#_9SsYEGh1EeGlqco_XlYG8g"/>
+ </rows>
+ <localCustomizations metamodelURI="http://www.eclipse.org/emf/2002/Ecore">
+ <types metaclassName="ecore.EModelElement">
+ <references referenceName="eAnnotations">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ </localCustomizations>
+ <localCustomizations metamodelURI="http://www.eclipse.org/uml2/3.0.0/UML" allQuerySetsAvailable="false">
+ <types metaclassName="uml.Element">
+ <references referenceName="ownedElement">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="owner">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="ownedComment">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.NamedElement">
+ <attributes attributeName="name">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <attributes attributeName="visibility">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <attributes attributeName="qualifiedName">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <references referenceName="clientDependency">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="namespace">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="nameExpression">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.ParameterableElement">
+ <references referenceName="owningTemplateParameter">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="templateParameter">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.Relationship">
+ <references referenceName="relatedElement">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.DirectedRelationship">
+ <references referenceName="source">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="target">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.Abstraction">
+ <references referenceName="mapping">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ </localCustomizations>
+ </tableinstance2:TableInstance2>
+ <tableinstance2:TableInstance2 description="Table Description">
+ <tableConfiguration href="../../../plugin/org.eclipse.papyrus.sysml.table.allocation/resources/allocate.tableconfiguration2#/"/>
+ <customizations href="#/3/@localCustomizations.0"/>
+ <customizations href="#/3/@localCustomizations.1"/>
+ <customizations href="emffacet:/customization/SysMLDefaultExplorerCustomization#/"/>
+ <columns xsi:type="tableinstance:DefaultLabelColumn"/>
+ <columns xsi:type="tableinstance:MetaClassColumn"/>
+ <columns xsi:type="tableinstance:EContainerColumn"/>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/emf/2002/Ecore#//EModelElement/eAnnotations"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/ownedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/owner"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/ownedComment"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/name"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/visibility"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/qualifiedName"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/clientDependency"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/namespace"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/nameExpression"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//ParameterableElement/owningTemplateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//ParameterableElement/templateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Relationship/relatedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//DirectedRelationship/source"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//DirectedRelationship/target"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency/supplier"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency/client"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Abstraction/mapping"/>
+ </columns>
+ <rows>
+ <element href="ModelWithDiagrams.uml#_9SsYEGh1EeGlqco_XlYG8g"/>
+ </rows>
+ <localCustomizations metamodelURI="http://www.eclipse.org/emf/2002/Ecore">
+ <types metaclassName="ecore.EModelElement">
+ <references referenceName="eAnnotations">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ </localCustomizations>
+ <localCustomizations metamodelURI="http://www.eclipse.org/uml2/3.0.0/UML" allQuerySetsAvailable="false">
+ <types metaclassName="uml.Element">
+ <references referenceName="ownedElement">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="owner">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="ownedComment">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.NamedElement">
+ <attributes attributeName="name">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <attributes attributeName="visibility">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <attributes attributeName="qualifiedName">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <references referenceName="clientDependency">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="namespace">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="nameExpression">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.ParameterableElement">
+ <references referenceName="owningTemplateParameter">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="templateParameter">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.Relationship">
+ <references referenceName="relatedElement">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.DirectedRelationship">
+ <references referenceName="source">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="target">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.Abstraction">
+ <references referenceName="mapping">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ </localCustomizations>
+ </tableinstance2:TableInstance2>
+ <org.eclipse.papyrus.table.instance.papyrustableinstance:PapyrusTableInstance name="AllocationTable" type="PapyrusAllocationTable" table="/3"/>
+ <tableinstance2:TableInstance2 description="Table Description">
+ <tableConfiguration href="../../../plugin/org.eclipse.papyrus.sysml.table.allocation/resources/allocate.tableconfiguration2#/"/>
+ <customizations href="#/5/@localCustomizations.0"/>
+ <customizations href="#/5/@localCustomizations.1"/>
+ <customizations href="emffacet:/customization/SysMLDefaultExplorerCustomization#/"/>
+ <columns xsi:type="tableinstance:DefaultLabelColumn"/>
+ <columns xsi:type="tableinstance:MetaClassColumn"/>
+ <columns xsi:type="tableinstance:EContainerColumn"/>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/emf/2002/Ecore#//EModelElement/eAnnotations"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/ownedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/owner"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/ownedComment"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/name"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/visibility"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/qualifiedName"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/clientDependency"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/namespace"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/nameExpression"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//ParameterableElement/owningTemplateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//ParameterableElement/templateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Relationship/relatedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//DirectedRelationship/source"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//DirectedRelationship/target"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency/supplier"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency/client"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Abstraction/mapping"/>
+ </columns>
+ <rows/>
+ <rows/>
+ <localCustomizations metamodelURI="http://www.eclipse.org/emf/2002/Ecore">
+ <types metaclassName="ecore.EModelElement">
+ <references referenceName="eAnnotations">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ </localCustomizations>
+ <localCustomizations metamodelURI="http://www.eclipse.org/uml2/3.0.0/UML" allQuerySetsAvailable="false">
+ <types metaclassName="uml.Element">
+ <references referenceName="ownedElement">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="owner">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="ownedComment">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.NamedElement">
+ <attributes attributeName="name">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <attributes attributeName="visibility">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <attributes attributeName="qualifiedName">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <references referenceName="clientDependency">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="namespace">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="nameExpression">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.ParameterableElement">
+ <references referenceName="owningTemplateParameter">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="templateParameter">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.Relationship">
+ <references referenceName="relatedElement">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.DirectedRelationship">
+ <references referenceName="source">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="target">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.Abstraction">
+ <references referenceName="mapping">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ </localCustomizations>
+ </tableinstance2:TableInstance2>
+ <org.eclipse.papyrus.table.instance.papyrustableinstance:PapyrusTableInstance name="AllocationTable" type="PapyrusAllocationTable" table="/5"/>
+ <tableinstance2:TableInstance2 description="Table Description">
+ <tableConfiguration href="../../../plugin/org.eclipse.papyrus.sysml.table.allocation/resources/allocate.tableconfiguration2#/"/>
+ <customizations href="#/7/@localCustomizations.0"/>
+ <customizations href="#/7/@localCustomizations.1"/>
+ <customizations href="emffacet:/customization/SysMLDefaultExplorerCustomization#/"/>
+ <columns xsi:type="tableinstance:DefaultLabelColumn"/>
+ <columns xsi:type="tableinstance:MetaClassColumn"/>
+ <columns xsi:type="tableinstance:EContainerColumn"/>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/emf/2002/Ecore#//EModelElement/eAnnotations"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/ownedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/owner"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Element/ownedComment"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/name"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/visibility"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/qualifiedName"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/clientDependency"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/namespace"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement/nameExpression"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//ParameterableElement/owningTemplateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//ParameterableElement/templateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Relationship/relatedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//DirectedRelationship/source"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//DirectedRelationship/target"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency/supplier"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency/client"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/3.0.0/UML#//Abstraction/mapping"/>
+ </columns>
+ <rows/>
+ <rows/>
+ <localCustomizations metamodelURI="http://www.eclipse.org/emf/2002/Ecore">
+ <types metaclassName="ecore.EModelElement">
+ <references referenceName="eAnnotations">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ </localCustomizations>
+ <localCustomizations metamodelURI="http://www.eclipse.org/uml2/3.0.0/UML" allQuerySetsAvailable="false">
+ <types metaclassName="uml.Element">
+ <references referenceName="ownedElement">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="owner">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="ownedComment">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.NamedElement">
+ <attributes attributeName="name">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <attributes attributeName="visibility">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <attributes attributeName="qualifiedName">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </attributes>
+ <references referenceName="clientDependency">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="namespace">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="nameExpression">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.ParameterableElement">
+ <references referenceName="owningTemplateParameter">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="templateParameter">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.Relationship">
+ <references referenceName="relatedElement">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.DirectedRelationship">
+ <references referenceName="source">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ <references referenceName="target">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ <types metaclassName="uml.Abstraction">
+ <references referenceName="mapping">
+ <customizedFeatures>
+ <defaultValue xsi:type="uicustom:StaticFeatureValue" value="false"/>
+ </customizedFeatures>
+ </references>
+ </types>
+ </localCustomizations>
+ </tableinstance2:TableInstance2>
+ <org.eclipse.papyrus.table.instance.papyrustableinstance:PapyrusTableInstance name="AllocationTable" type="PapyrusAllocationTable" table="/7"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.notation b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.notation
new file mode 100644
index 00000000000..f846b8630b5
--- /dev/null
+++ b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.notation
@@ -0,0 +1,1011 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML">
+ <notation:Diagram xmi:id="_yGdvMGOeEeGA2PidaF_0QA" type="BlockDefinition" name="Main" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_4cCxMGOeEeGA2PidaF_0QA" type="2007" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4cnY8GOeEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4cnY8WOeEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4cqcQGOeEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4cqcQWOeEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4c2pgGOeEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4c2pgWOeEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4c5s0GOeEeGA2PidaF_0QA" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4c5s0WOeEeGA2PidaF_0QA" type="7016">
+ <children xmi:type="notation:Shape" xmi:id="_9HOG4GOeEeGA2PidaF_0QA" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9HXQ6WOeEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9HXQ6mOeEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9HXQ62OeEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9HXQ7GOeEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9HXQ7WOeEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9HXQ7mOeEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9HRKMGOeEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_9HUNgGOeEeGA2PidaF_0QA" type="compartment_sysml_property_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9HUNgWOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9HUNgmOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9HUNg2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9HUNhGOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_9HUNhWOeEeGA2PidaF_0QA" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9HUNhmOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9HUNh2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9HUNiGOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9HUNiWOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_9HUNimOeEeGA2PidaF_0QA" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9HUNi2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9HUNjGOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9HUNjWOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9HUNjmOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_9HXQ0GOeEeGA2PidaF_0QA" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9HXQ0WOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9HXQ0mOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9HXQ02OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9HXQ1GOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_9HXQ1WOeEeGA2PidaF_0QA" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9HXQ1mOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9HXQ12OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9HXQ2GOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9HXQ2WOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_9HXQ2mOeEeGA2PidaF_0QA" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9HXQ22OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9HXQ3GOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9HXQ3WOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9HXQ3mOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_9HXQ32OeEeGA2PidaF_0QA" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9HXQ4GOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9HXQ4WOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9HXQ4mOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9HXQ42OeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_9HXQ5GOeEeGA2PidaF_0QA" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9HXQ5WOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9HXQ5mOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9HXQ52OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9HXQ6GOeEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_9GgVMGOeEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9HOG4WOeEeGA2PidaF_0QA" x="25" y="38" width="96" height="131"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-pNeEWOeEeGA2PidaF_0QA" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-pQhb2OeEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-pQhcGOeEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-pQhcWOeEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-pQhcmOeEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-pQhc2OeEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-pQhdGOeEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-pNeE2OeEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_-pNeFGOeEeGA2PidaF_0QA" type="compartment_sysml_property_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-pNeFWOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-pNeFmOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-pNeF2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-pNeGGOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_-pNeGWOeEeGA2PidaF_0QA" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-pNeGmOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-pNeG2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-pNeHGOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-pNeHWOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_-pNeHmOeEeGA2PidaF_0QA" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-pNeH2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-pNeIGOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-pNeIWOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-pNeImOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_-pNeI2OeEeGA2PidaF_0QA" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-pNeJGOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-pNeJWOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-pNeJmOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-pNeJ2OeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_-pNeKGOeEeGA2PidaF_0QA" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-pNeKWOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-pNeKmOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-pNeK2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-pNeLGOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_-pQhYGOeEeGA2PidaF_0QA" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-pQhYWOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-pQhYmOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-pQhY2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-pQhZGOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_-pQhZWOeEeGA2PidaF_0QA" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-pQhZmOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-pQhZ2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-pQhaGOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-pQhaWOeEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_-pQhamOeEeGA2PidaF_0QA" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-pQha2OeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-pQhbGOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-pQhbWOeEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-pQhbmOeEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_-pKawGOeEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-pNeEmOeEeGA2PidaF_0QA" x="145" y="38" width="96" height="136"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_HNlS4WOfEeGA2PidaF_0QA" type="3009" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HNlS42OfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HNlS5GOfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HNlS5WOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HNlS5mOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HNlS52OfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HNlS6GOfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_HNlS6WOfEeGA2PidaF_0QA" type="5017"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_HNlS6mOfEeGA2PidaF_0QA" type="7010">
+ <children xmi:type="notation:Shape" xmi:id="_IcmDsWOfEeGA2PidaF_0QA" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IcpHKWOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IcpHKmOfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IcpHK2OfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IcpHLGOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IcpHLWOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IcpHLmOfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_IcpHAGOfEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_IcpHAWOfEeGA2PidaF_0QA" type="compartment_sysml_property_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IcpHAmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IcpHA2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IcpHBGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IcpHBWOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_IcpHBmOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IcpHB2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IcpHCGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IcpHCWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IcpHCmOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_IcpHC2OfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IcpHDGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IcpHDWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IcpHDmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IcpHD2OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_IcpHEGOfEeGA2PidaF_0QA" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IcpHEWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IcpHEmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IcpHE2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IcpHFGOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_IcpHFWOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IcpHFmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IcpHF2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IcpHGGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IcpHGWOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_IcpHGmOfEeGA2PidaF_0QA" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IcpHG2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IcpHHGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IcpHHWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IcpHHmOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_IcpHH2OfEeGA2PidaF_0QA" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IcpHIGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IcpHIWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IcpHImOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IcpHI2OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_IcpHJGOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IcpHJWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IcpHJmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IcpHJ2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IcpHKGOfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_IcjAYGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IcmDsmOfEeGA2PidaF_0QA" x="33" y="16" width="83" height="119"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_KhD10GOfEeGA2PidaF_0QA" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KhD1-2OfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KhD1_GOfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KhD1_WOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KhD1_mOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KhD1_2OfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KhD2AGOfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KhD10mOfEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_KhD102OfEeGA2PidaF_0QA" type="compartment_sysml_property_as_list" showTitle="true">
+ <children xmi:type="notation:Node" xmi:id="_M3zDsGOfEeGA2PidaF_0QA" type="shape_uml_property_as_label">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_M3zDsWOfEeGA2PidaF_0QA" fontName="Segoe UI" fillColor="0" lineColor="0"/>
+ <element xmi:type="uml:Property" href="ModelWithDiagrams.uml#_M2dm8GOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_M3zDsmOfEeGA2PidaF_0QA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KhD11GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KhD11WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KhD11mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KhD112OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_KhD12GOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KhD12WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KhD12mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KhD122OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KhD13GOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_KhD13WOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KhD13mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KhD132OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KhD14GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KhD14WOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_KhD14mOfEeGA2PidaF_0QA" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KhD142OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KhD15GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KhD15WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KhD15mOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_KhD152OfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KhD16GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KhD16WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KhD16mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KhD162OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_KhD17GOfEeGA2PidaF_0QA" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KhD17WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KhD17mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KhD172OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KhD18GOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_KhD18WOfEeGA2PidaF_0QA" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KhD18mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KhD182OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KhD19GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KhD19WOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_KhD19mOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KhD192OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KhD1-GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KhD1-WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KhD1-mOfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_KhAygGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KhD10WOfEeGA2PidaF_0QA" x="140" y="13" width="141" height="121"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_HNlS62OfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HNlS7GOfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Package" href="ModelWithDiagrams.uml#_HNlS4GOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HNlS4mOfEeGA2PidaF_0QA" x="260" y="3" width="336" height="176"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4c5s0mOeEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4c5s02OeEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Package" href="ModelWithDiagrams.uml#_4WCP0GOeEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4cCxMWOeEeGA2PidaF_0QA" x="55" y="45" width="871" height="351"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8StgwWOeEeGA2PidaF_0QA" type="2007" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8Stgw2OeEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8StgxGOeEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8StgxWOeEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8StgxmOeEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8SwkEGOeEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8SwkEWOeEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8SwkEmOeEeGA2PidaF_0QA" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8SwkE2OeEeGA2PidaF_0QA" type="7016">
+ <children xmi:type="notation:Shape" xmi:id="_BcQ0gWOfEeGA2PidaF_0QA" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BcQ0rGOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BcQ0rWOfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BcT30GOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BcT30WOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BcT30mOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BcT302OfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_BcQ0g2OfEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_BcQ0hGOfEeGA2PidaF_0QA" type="compartment_sysml_property_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_BcQ0hWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BcQ0hmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BcQ0h2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BcQ0iGOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_BcQ0iWOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_BcQ0imOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BcQ0i2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BcQ0jGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BcQ0jWOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_BcQ0jmOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_BcQ0j2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BcQ0kGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BcQ0kWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BcQ0kmOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_BcQ0k2OfEeGA2PidaF_0QA" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_BcQ0lGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BcQ0lWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BcQ0lmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BcQ0l2OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_BcQ0mGOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_BcQ0mWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BcQ0mmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BcQ0m2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BcQ0nGOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_BcQ0nWOfEeGA2PidaF_0QA" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_BcQ0nmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BcQ0n2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BcQ0oGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BcQ0oWOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_BcQ0omOfEeGA2PidaF_0QA" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_BcQ0o2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BcQ0pGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BcQ0pWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BcQ0pmOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_BcQ0p2OfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_BcQ0qGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BcQ0qWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BcQ0qmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BcQ0q2OfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_BcNxMGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BcQ0gmOfEeGA2PidaF_0QA" x="30" y="33" width="81" height="139"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_DWMKkWOfEeGA2PidaF_0QA" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DWPN6mOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DWPN62OfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DWPN7GOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DWPN7WOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DWPN7mOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DWPN72OfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_DWMKk2OfEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_DWMKlGOfEeGA2PidaF_0QA" type="compartment_sysml_property_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_DWMKlWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DWMKlmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DWMKl2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DWMKmGOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_DWMKmWOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_DWMKmmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DWMKm2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DWMKnGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DWMKnWOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_DWMKnmOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_DWMKn2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DWMKoGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DWMKoWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DWMKomOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_DWMKo2OfEeGA2PidaF_0QA" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_DWMKpGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DWMKpWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DWMKpmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DWMKp2OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_DWMKqGOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_DWMKqWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DWMKqmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DWMKq2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DWMKrGOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_DWMKrWOfEeGA2PidaF_0QA" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_DWMKrmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DWMKr2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DWMKsGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DWMKsWOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_DWPN4GOfEeGA2PidaF_0QA" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_DWPN4WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DWPN4mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DWPN42OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DWPN5GOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_DWPN5WOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_DWPN5mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DWPN52OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DWPN6GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DWPN6WOfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_DWJHQGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DWMKkmOfEeGA2PidaF_0QA" x="148" y="37" width="83" height="134"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8SwkFGOeEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8SwkFWOeEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Package" href="ModelWithDiagrams.uml#_8StgwGOeEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8StgwmOeEeGA2PidaF_0QA" x="60" y="420" width="391" height="221"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l1lLAGhBEeGRPYomsG5n2A" type="2007" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l1mZIGhBEeGRPYomsG5n2A" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l1mZIWhBEeGRPYomsG5n2A" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l1mZImhBEeGRPYomsG5n2A" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l1mZI2hBEeGRPYomsG5n2A" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l1mZJGhBEeGRPYomsG5n2A" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l1mZJWhBEeGRPYomsG5n2A" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l1mZJmhBEeGRPYomsG5n2A" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l1nAMGhBEeGRPYomsG5n2A" type="7016">
+ <children xmi:type="notation:Shape" xmi:id="_nKquoGhBEeGRPYomsG5n2A" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nKvAEGhBEeGRPYomsG5n2A" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nKvAEWhBEeGRPYomsG5n2A" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nKvnIGhBEeGRPYomsG5n2A" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nKvnIWhBEeGRPYomsG5n2A" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nKvnImhBEeGRPYomsG5n2A" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nKvnI2hBEeGRPYomsG5n2A" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nKr8wGhBEeGRPYomsG5n2A" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_nKr8wWhBEeGRPYomsG5n2A" type="compartment_sysml_property_as_list" showTitle="true">
+ <children xmi:type="notation:Node" xmi:id="_1h30MGiCEeGr7cwg4mgBUQ" type="shape_uml_property_as_label">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_1h30MWiCEeGr7cwg4mgBUQ" fontName="Segoe UI" fillColor="0" lineColor="0"/>
+ <element xmi:type="uml:Property" href="ModelWithDiagrams.uml#_1f6sYGiCEeGr7cwg4mgBUQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1h30MmiCEeGr7cwg4mgBUQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nKr8wmhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nKr8w2hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nKr8xGhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nKr8xWhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_nKsj0GhBEeGRPYomsG5n2A" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nKsj0WhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nKsj0mhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nKsj02hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nKsj1GhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_nKtK4GhBEeGRPYomsG5n2A" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nKtK4WhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nKtK4mhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nKtK42hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nKtK5GhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_nKtK5WhBEeGRPYomsG5n2A" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nKtK5mhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nKtK52hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nKtK6GhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nKtK6WhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_nKtx8GhBEeGRPYomsG5n2A" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nKtx8WhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nKtx8mhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nKtx82hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nKtx9GhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_nKtx9WhBEeGRPYomsG5n2A" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nKtx9mhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nKtx92hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nKtx-GhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nKtx-WhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_nKuZAGhBEeGRPYomsG5n2A" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nKuZAWhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nKuZAmhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nKuZA2hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nKuZBGhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_nKuZBWhBEeGRPYomsG5n2A" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nKuZBmhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nKuZB2hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nKuZCGhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nKuZCWhBEeGRPYomsG5n2A"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_nKOpwGhBEeGRPYomsG5n2A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nKquoWhBEeGRPYomsG5n2A" x="27" y="11" width="64" height="96"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pUtkUGhBEeGRPYomsG5n2A" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pU05EGhBEeGRPYomsG5n2A" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pU05EWhBEeGRPYomsG5n2A" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pU05EmhBEeGRPYomsG5n2A" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pU05E2hBEeGRPYomsG5n2A" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pU05FGhBEeGRPYomsG5n2A" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pU05FWhBEeGRPYomsG5n2A" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_pUuLYGhBEeGRPYomsG5n2A" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_pUuLYWhBEeGRPYomsG5n2A" type="compartment_sysml_property_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pUuLYmhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pUuLY2hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pUuLZGhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pUuLZWhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_pUuLZmhBEeGRPYomsG5n2A" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pUuLZ2hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pUuLaGhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pUuLaWhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pUuycGhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_pUuycWhBEeGRPYomsG5n2A" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pUuycmhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pUuyc2hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pUuydGhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pUuydWhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_pUwAkGhBEeGRPYomsG5n2A" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pUwAkWhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pUwAkmhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pUwAk2hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pUwAlGhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_pUx1wGhBEeGRPYomsG5n2A" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pUx1wWhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pUx1wmhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pUx1w2hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pUx1xGhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_pUyc0GhBEeGRPYomsG5n2A" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pUyc0WhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pUyc0mhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pUyc02hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pUyc1GhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_pUyc1WhBEeGRPYomsG5n2A" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pUyc1mhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pUyc12hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pUyc2GhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pUyc2WhBEeGRPYomsG5n2A"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_pUzq8GhBEeGRPYomsG5n2A" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_pUzq8WhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pUzq8mhBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pUzq82hBEeGRPYomsG5n2A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pUzq9GhBEeGRPYomsG5n2A"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_pUlogGhBEeGRPYomsG5n2A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pUtkUWhBEeGRPYomsG5n2A" x="160" y="16" width="86" height="91"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_l1nAMWhBEeGRPYomsG5n2A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l1nAMmhBEeGRPYomsG5n2A"/>
+ </children>
+ <element xmi:type="uml:Package" href="ModelWithDiagrams.uml#_jup6wGhBEeGRPYomsG5n2A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l1lLAWhBEeGRPYomsG5n2A" x="575" y="440" width="411" height="138"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_yGdvMWOeEeGA2PidaF_0QA"/>
+ <element xmi:type="uml:Model" href="ModelWithDiagrams.uml#_xqdIoWOeEeGA2PidaF_0QA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_q78n4GhBEeGRPYomsG5n2A" type="link_sysml_association" source="_nKquoGhBEeGRPYomsG5n2A" target="_pUtkUGhBEeGRPYomsG5n2A" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_q792AGhBEeGRPYomsG5n2A" type="linklabel_uml_appliedstereotype">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_q792AWhBEeGRPYomsG5n2A" y="-30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_q7-dEGhBEeGRPYomsG5n2A" type="linklabel_uml_namedelement_name">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_q7-dEWhBEeGRPYomsG5n2A" y="-10"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_q7_EIGhBEeGRPYomsG5n2A" type="linklabel_uml_association_source_role">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_q7_EIWhBEeGRPYomsG5n2A" y="-10"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_q7_rMGhBEeGRPYomsG5n2A" type="linklabel_uml_association_source_multiplicity">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_q7_rMWhBEeGRPYomsG5n2A" y="10"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_q7_rMmhBEeGRPYomsG5n2A" type="linklabel_uml_association_target_role">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_q7_rM2hBEeGRPYomsG5n2A" y="-10"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_q8ASQGhBEeGRPYomsG5n2A" type="linklabel_uml_association_target_multiplicity">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_q8ASQWhBEeGRPYomsG5n2A" y="10"/>
+ </children>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_q78n4WhBEeGRPYomsG5n2A" name="semantic_source_end">
+ <eObjectValue xmi:type="uml:Property" href="ModelWithDiagrams.uml#_q7WyAGhBEeGRPYomsG5n2A"/>
+ </styles>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_q78n4mhBEeGRPYomsG5n2A" name="semantic_target_end">
+ <eObjectValue xmi:type="uml:Property" href="ModelWithDiagrams.uml#_q7XZEGhBEeGRPYomsG5n2A"/>
+ </styles>
+ <styles xmi:type="notation:FontStyle" xmi:id="_q78n42hBEeGRPYomsG5n2A" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="ModelWithDiagrams.uml#_q7MZ8GhBEeGRPYomsG5n2A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q78n5GhBEeGRPYomsG5n2A" points="[7, 5, -80, 0]$[76, -5, -11, -10]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rDO7oGhBEeGRPYomsG5n2A" id="(0.890625,0.1875)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rDO7oWhBEeGRPYomsG5n2A" id="(0.12790697674418605,0.1978021978021978)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_N_FtoGhaEeGrDdCH7SVVEg" type="link_uml_dependency" source="_9HOG4GOeEeGA2PidaF_0QA" target="_-pNeEWOeEeGA2PidaF_0QA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_N_L0QGhaEeGrDdCH7SVVEg" type="linklabel_uml_appliedstereotype">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_N_L0QWhaEeGrDdCH7SVVEg" y="-30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_N_L0QmhaEeGrDdCH7SVVEg" type="linklabel_uml_namedelement_name">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_N_L0Q2haEeGrDdCH7SVVEg" y="-10"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_N_FtoWhaEeGrDdCH7SVVEg" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="ModelWithDiagrams.uml#_N9qKQGhaEeGrDdCH7SVVEg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_N_FtomhaEeGrDdCH7SVVEg" points="[29, -22, -72, 27]$[98, -117, -3, -68]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N_eIIGhaEeGrDdCH7SVVEg" id="(0.6979166666666666,0.8931297709923665)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_VPrUoGOfEeGA2PidaF_0QA" type="InternalBlock" name="IBD_B1_P1" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_VPrUoWOfEeGA2PidaF_0QA" type="shape_sysml_block_as_composite" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VPrUomOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VPrUo2OfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VPrUpGOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VPrUpWOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VPrUpmOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VPrUp2OfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_VPrUqGOfEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_VPrUqWOfEeGA2PidaF_0QA" type="compartment_sysml_structure">
+ <children xmi:type="notation:Shape" xmi:id="_gZdsgGOfEeGA2PidaF_0QA" type="shape_sysml_blockproperty_as_composite" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gZgv0GOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gZgv0WOfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gZgv0mOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gZgv02OfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gZgv1GOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gZgv1WOfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_gZdsgmOfEeGA2PidaF_0QA" type="label_uml_property_label"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_gZdsg2OfEeGA2PidaF_0QA" type="compartment_sysml_blockproperty_structure">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_gZdshGOfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Property" href="ModelWithDiagrams.uml#_evdo0GOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gZdsgWOfEeGA2PidaF_0QA" x="150" y="69" width="191" height="176"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jnvmYGOfEeGA2PidaF_0QA" type="shape_sysml_blockproperty_as_composite" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jnvmZWOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jnvmZmOfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jnvmZ2OfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jnvmaGOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jnvmaWOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jnvmamOfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jnvmYmOfEeGA2PidaF_0QA" type="label_uml_property_label"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jnvmY2OfEeGA2PidaF_0QA" type="compartment_sysml_blockproperty_structure">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_jnvmZGOfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Property" href="ModelWithDiagrams.uml#_jnE4AGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jnvmYWOfEeGA2PidaF_0QA" x="394" y="328"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_VPrUqmOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Wc1EQGOfEeGA2PidaF_0QA" type="shape_uml_port_as_affixed" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wc1ERmOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wc1ER2OfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wc1ESGOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wc1ESWOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wc1ESmOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wc1ES2OfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wc1EQmOfEeGA2PidaF_0QA" type="affixedlabel_uml_port_label">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wc1EQ2OfEeGA2PidaF_0QA" x="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wc1ERGOfEeGA2PidaF_0QA" type="affixedlabel_uml_appliedstereotype">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wc1ERWOfEeGA2PidaF_0QA" x="30" y="-20"/>
+ </children>
+ <element xmi:type="uml:Port" href="ModelWithDiagrams.uml#_Wcu9oGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wc1EQWOfEeGA2PidaF_0QA" x="631" y="81" width="20" height="20"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bQEw0GOfEeGA2PidaF_0QA" type="shape_sysml_flowport_as_affixed" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bQEw1mOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bQEw12OfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bQEw2GOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bQEw2WOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bQEw2mOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bQEw22OfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bQEw0mOfEeGA2PidaF_0QA" type="affixedlabel_sysml_flowport_label">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bQEw02OfEeGA2PidaF_0QA" x="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bQEw1GOfEeGA2PidaF_0QA" type="affixedlabel_uml_appliedstereotype">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bQEw1WOfEeGA2PidaF_0QA" x="30" y="-20"/>
+ </children>
+ <element xmi:type="uml:Port" href="ModelWithDiagrams.uml#_bO1asGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bQEw0WOfEeGA2PidaF_0QA" x="631" y="218" width="20" height="20"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VPrUq2OfEeGA2PidaF_0QA" x="40" y="40" width="641" height="521"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_VPrUrGOfEeGA2PidaF_0QA"/>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_9GgVMGOeEeGA2PidaF_0QA"/>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_sgWl0GOfEeGA2PidaF_0QA" type="BlockDefinition" name="BDD_P1_P1" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_t5Uj4GOfEeGA2PidaF_0QA" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t5UkC2OfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t5UkDGOfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t5UkDWOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t5UkDmOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t5UkD2OfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t5UkEGOfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_t5Uj4mOfEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5Uj42OfEeGA2PidaF_0QA" type="compartment_sysml_property_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5Uj5GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5Uj5WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5Uj5mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5Uj52OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5Uj6GOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5Uj6WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5Uj6mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5Uj62OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5Uj7GOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5Uj7WOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5Uj7mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5Uj72OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5Uj8GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5Uj8WOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5Uj8mOfEeGA2PidaF_0QA" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5Uj82OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5Uj9GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5Uj9WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5Uj9mOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5Uj92OfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5Uj-GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5Uj-WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5Uj-mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5Uj-2OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5Uj_GOfEeGA2PidaF_0QA" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5Uj_WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5Uj_mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5Uj_2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5UkAGOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5UkAWOfEeGA2PidaF_0QA" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5UkAmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5UkA2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5UkBGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5UkBWOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5UkBmOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5UkB2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5UkCGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5UkCWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5UkCmOfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_IcjAYGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t5Uj4WOfEeGA2PidaF_0QA" x="215" y="85"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_t5m3wGOfEeGA2PidaF_0QA" type="shape_sysml_block_as_classifier" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t5m362OfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t5m37GOfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t5m37WOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t5m37mOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t5m372OfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t5m38GOfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_t5m3wmOfEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5m3w2OfEeGA2PidaF_0QA" type="compartment_sysml_property_as_list" showTitle="true">
+ <children xmi:type="notation:Node" xmi:id="_uYbhwGOfEeGA2PidaF_0QA" type="shape_sysml_reference_as_label">
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uYbhwWOfEeGA2PidaF_0QA" fontName="Segoe UI" fillColor="0" lineColor="0"/>
+ <element xmi:type="uml:Property" href="ModelWithDiagrams.uml#_M2dm8GOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uYbhwmOfEeGA2PidaF_0QA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5m3xGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5m3xWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5m3xmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5m3x2OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5m3yGOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5m3yWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5m3ymOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5m3y2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5m3zGOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5m3zWOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5m3zmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5m3z2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5m30GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5m30WOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5m30mOfEeGA2PidaF_0QA" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5m302OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5m31GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5m31WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5m31mOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5m312OfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5m32GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5m32WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5m32mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5m322OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5m33GOfEeGA2PidaF_0QA" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5m33WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5m33mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5m332OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5m34GOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5m34WOfEeGA2PidaF_0QA" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5m34mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5m342OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5m35GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5m35WOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_t5m35mOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_t5m352OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t5m36GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_t5m36WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_t5m36mOfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_KhAygGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t5m3wWOfEeGA2PidaF_0QA" x="375" y="85"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_u-4dwGOfEeGA2PidaF_0QA" type="shape_sysml_block_as_classifier" fontName="Segoe UI" gradient="8421504, 16777215, 0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u-4d62OfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u-4d7GOfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u-4d7WOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u-4d7mOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xA5Y0GOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xA5Y0WOfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="0"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_u-4dwmOfEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_u-4dw2OfEeGA2PidaF_0QA" type="compartment_sysml_property_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u-4dxGOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_u-4dxWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u-4dxmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u-4dx2OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_u-4dyGOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_part_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u-4dyWOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_u-4dymOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u-4dy2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u-4dzGOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_u-4dzWOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_reference_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u-4dzmOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_u-4dz2OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u-4d0GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u-4d0WOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_u-4d0mOfEeGA2PidaF_0QA" visible="false" type="compartment_uml_port_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u-4d02OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_u-4d1GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u-4d1WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u-4d1mOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_u-4d12OfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_flowport_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u-4d2GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_u-4d2WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u-4d2mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u-4d22OfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_u-4d3GOfEeGA2PidaF_0QA" type="compartment_uml_operation_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u-4d3WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_u-4d3mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u-4d32OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u-4d4GOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_u-4d4WOfEeGA2PidaF_0QA" type="compartment_sysml_constraint_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u-4d4mOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_u-4d42OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u-4d5GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u-4d5WOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:ListCompartment" xmi:id="_u-4d5mOfEeGA2PidaF_0QA" visible="false" type="compartment_sysml_value_as_list" showTitle="true">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_u-4d52OfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_u-4d6GOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_u-4d6WOfEeGA2PidaF_0QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_u-4d6mOfEeGA2PidaF_0QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_DWJHQGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u-4dwWOfEeGA2PidaF_0QA" x="560" y="110" width="161" height="169"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_sgWl0WOfEeGA2PidaF_0QA"/>
+ <element xmi:type="uml:Package" href="ModelWithDiagrams.uml#_HNlS4GOfEeGA2PidaF_0QA"/>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_2snlgGOfEeGA2PidaF_0QA" type="InternalBlock" name="IBD_B1_P2" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_2snlgWOfEeGA2PidaF_0QA" type="shape_sysml_block_as_composite" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2snlgmOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2snlg2OfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2snlhGOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2snlhWOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2snlhmOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2snlh2OfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_2snliGOfEeGA2PidaF_0QA" type="label_sysml_block_name"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_2snliWOfEeGA2PidaF_0QA" type="compartment_sysml_structure">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_2snlimOfEeGA2PidaF_0QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_4c0X0GOfEeGA2PidaF_0QA" type="shape_sysml_flowport_as_affixed" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4c0X1mOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4c0X12OfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4c0X2GOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4c0X2WOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4c0X2mOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4c0X22OfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4c0X0mOfEeGA2PidaF_0QA" type="affixedlabel_sysml_flowport_label">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4c0X02OfEeGA2PidaF_0QA" x="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4c0X1GOfEeGA2PidaF_0QA" type="affixedlabel_uml_appliedstereotype">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4c0X1WOfEeGA2PidaF_0QA" x="30" y="-20"/>
+ </children>
+ <element xmi:type="uml:Port" href="ModelWithDiagrams.uml#_4cfAoGOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4c0X0WOfEeGA2PidaF_0QA" x="-10" y="62" width="20" height="20"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-k0Q0GOfEeGA2PidaF_0QA" type="shape_sysml_flowport_as_affixed" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-k0Q1mOfEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-k0Q12OfEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-k0Q2GOfEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-k0Q2WOfEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-k0Q2mOfEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-k0Q22OfEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-k0Q0mOfEeGA2PidaF_0QA" type="affixedlabel_sysml_flowport_label">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-k0Q02OfEeGA2PidaF_0QA" x="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-k0Q1GOfEeGA2PidaF_0QA" type="affixedlabel_uml_appliedstereotype">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-k0Q1WOfEeGA2PidaF_0QA" x="30" y="-20"/>
+ </children>
+ <element xmi:type="uml:Port" href="ModelWithDiagrams.uml#_-krG4GOfEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-k0Q0WOfEeGA2PidaF_0QA" x="-10" y="152" width="20" height="20"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_B0wXkGOgEeGA2PidaF_0QA" type="shape_sysml_flowport_as_affixed" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B0za4GOgEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_B0za4WOgEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B0za4mOgEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_B0za42OgEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B0za5GOgEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_B0za5WOgEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_B0wXkmOgEeGA2PidaF_0QA" type="affixedlabel_sysml_flowport_label">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_B0wXk2OgEeGA2PidaF_0QA" x="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_B0wXlGOgEeGA2PidaF_0QA" type="affixedlabel_uml_appliedstereotype">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_B0wXlWOgEeGA2PidaF_0QA" x="30" y="-20"/>
+ </children>
+ <element xmi:type="uml:Port" href="ModelWithDiagrams.uml#_B0nNoGOgEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B0wXkWOgEeGA2PidaF_0QA" x="606" y="77" width="20" height="20"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_HNIxgGOgEeGA2PidaF_0QA" type="shape_sysml_flowport_as_affixed" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HNIxhmOgEeGA2PidaF_0QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HNIxh2OgEeGA2PidaF_0QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HNIxiGOgEeGA2PidaF_0QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HNIxiWOgEeGA2PidaF_0QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HNIximOgEeGA2PidaF_0QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HNIxi2OgEeGA2PidaF_0QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_HNIxgmOgEeGA2PidaF_0QA" type="affixedlabel_sysml_flowport_label">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HNIxg2OgEeGA2PidaF_0QA" x="-60" y="34"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_HNIxhGOgEeGA2PidaF_0QA" type="affixedlabel_uml_appliedstereotype">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HNIxhWOgEeGA2PidaF_0QA" x="30" y="-20"/>
+ </children>
+ <element xmi:type="uml:Port" href="ModelWithDiagrams.uml#_HMzaUGOgEeGA2PidaF_0QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HNIxgWOgEeGA2PidaF_0QA" x="260" y="426" width="20" height="20"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2snli2OfEeGA2PidaF_0QA" x="40" y="40" width="616" height="436"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_2snljGOfEeGA2PidaF_0QA"/>
+ <element xmi:type="uml:Class" href="ModelWithDiagrams.uml#_BcNxMGOfEeGA2PidaF_0QA"/>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.uml b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.uml
new file mode 100644
index 00000000000..abbae802a93
--- /dev/null
+++ b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/model/ModelWithDiagrams.uml
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Allocations="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" xmlns:PortAndFlows="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows">
+ <uml:Model xmi:id="_xqdIoWOeEeGA2PidaF_0QA" name="SysMLmodel">
+ <packagedElement xmi:type="uml:Package" xmi:id="_4WCP0GOeEeGA2PidaF_0QA" name="P1">
+ <packagedElement xmi:type="uml:Class" xmi:id="_9GgVMGOeEeGA2PidaF_0QA" name="B1_P1" clientDependency="_N9qKQGhaEeGrDdCH7SVVEg">
+ <ownedAttribute xmi:type="uml:Port" xmi:id="_Wcu9oGOfEeGA2PidaF_0QA" name="port_B2_P1" type="_-pKawGOeEeGA2PidaF_0QA" aggregation="composite">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WcyA8WOfEeGA2PidaF_0QA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WcyA8GOfEeGA2PidaF_0QA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Port" xmi:id="_bO1asGOfEeGA2PidaF_0QA" name="flowport_B1_P2" type="_BcNxMGOfEeGA2PidaF_0QA" aggregation="composite">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bPHukWOfEeGA2PidaF_0QA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bPHukGOfEeGA2PidaF_0QA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_evdo0GOfEeGA2PidaF_0QA" name="part_B1_P1_P1" type="_IcjAYGOfEeGA2PidaF_0QA" aggregation="composite" association="_gZapMmOfEeGA2PidaF_0QA">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gZapMWOfEeGA2PidaF_0QA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gZapMGOfEeGA2PidaF_0QA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_jnE4AGOfEeGA2PidaF_0QA" name="ref_B2_P2" type="_DWJHQGOfEeGA2PidaF_0QA" association="_jnUIkmOfEeGA2PidaF_0QA">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jnUIkWOfEeGA2PidaF_0QA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jnUIkGOfEeGA2PidaF_0QA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_-pKawGOeEeGA2PidaF_0QA" name="B2_P1" clientDependency="_G7R2QGeiEeGOntYbC8mMqw"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_HNlS4GOfEeGA2PidaF_0QA" name="P1_P1">
+ <packagedElement xmi:type="uml:Class" xmi:id="_IcjAYGOfEeGA2PidaF_0QA" name="B1_P1_P1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_KhAygGOfEeGA2PidaF_0QA" name="B2_P1_P1">
+ <ownedAttribute xmi:id="_M2dm8GOfEeGA2PidaF_0QA" name="B2_P2_prop" type="_DWJHQGOfEeGA2PidaF_0QA">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_M2s3gWOfEeGA2PidaF_0QA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_M2s3gGOfEeGA2PidaF_0QA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_gZapMmOfEeGA2PidaF_0QA" name="Association1" memberEnd="_evdo0GOfEeGA2PidaF_0QA _gZapNWOfEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_gZapM2OfEeGA2PidaF_0QA" source="org.eclipse.papyrus">
+ <details xmi:id="_gZapNGOfEeGA2PidaF_0QA" key="nature" value="SysML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:id="_gZapNWOfEeGA2PidaF_0QA" name="" type="_9GgVMGOeEeGA2PidaF_0QA" association="_gZapMmOfEeGA2PidaF_0QA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_jnUIkmOfEeGA2PidaF_0QA" name="Association2" memberEnd="_jnE4AGOfEeGA2PidaF_0QA _jnUIlWOfEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_jnUIk2OfEeGA2PidaF_0QA" source="org.eclipse.papyrus">
+ <details xmi:id="_jnUIlGOfEeGA2PidaF_0QA" key="nature" value="SysML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:id="_jnUIlWOfEeGA2PidaF_0QA" name="" type="_9GgVMGOeEeGA2PidaF_0QA" association="_jnUIkmOfEeGA2PidaF_0QA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_G7R2QGeiEeGOntYbC8mMqw" name="Allocate1" supplier="_9GgVMGOeEeGA2PidaF_0QA" client="_-pKawGOeEeGA2PidaF_0QA"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_N9qKQGhaEeGrDdCH7SVVEg" name="Dependency1" supplier="_-pKawGOeEeGA2PidaF_0QA" client="_9GgVMGOeEeGA2PidaF_0QA"/>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_9SsYEGh1EeGlqco_XlYG8g" name="Allocate2" supplier="_9GgVMGOeEeGA2PidaF_0QA" client="_DWJHQGOfEeGA2PidaF_0QA"/>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_uGrSIGh7EeGlqco_XlYG8g" name="Allocate3" supplier="_9GgVMGOeEeGA2PidaF_0QA" client="_nKOpwGhBEeGRPYomsG5n2A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_8StgwGOeEeGA2PidaF_0QA" name="P2">
+ <packagedElement xmi:type="uml:Class" xmi:id="_BcNxMGOfEeGA2PidaF_0QA" name="B1_P2" clientDependency="_-SfkAGh8EeGlqco_XlYG8g">
+ <ownedAttribute xmi:type="uml:Port" xmi:id="_4cfAoGOfEeGA2PidaF_0QA" name="flowPort_IN_1_B1_P1" type="_9GgVMGOeEeGA2PidaF_0QA" aggregation="composite">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4crN4WOfEeGA2PidaF_0QA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4crN4GOfEeGA2PidaF_0QA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Port" xmi:id="_-krG4GOfEeGA2PidaF_0QA" name="flowPort_IN_2_B1_P1" type="_9GgVMGOeEeGA2PidaF_0QA" aggregation="composite">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-krG4mOfEeGA2PidaF_0QA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-krG4WOfEeGA2PidaF_0QA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Port" xmi:id="_B0nNoGOgEeGA2PidaF_0QA" name="flowPort_OUT_1_B1_P2" type="_BcNxMGOfEeGA2PidaF_0QA" aggregation="composite">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_B0nNomOgEeGA2PidaF_0QA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_B0nNoWOgEeGA2PidaF_0QA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Port" xmi:id="_HMzaUGOgEeGA2PidaF_0QA" name="flowPort_INOUT_B2_P2" type="_DWJHQGOfEeGA2PidaF_0QA" aggregation="composite">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HM_nkWOgEeGA2PidaF_0QA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HM_nkGOgEeGA2PidaF_0QA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_DWJHQGOfEeGA2PidaF_0QA" name="B2_P2" clientDependency="_9SsYEGh1EeGlqco_XlYG8g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_jup6wGhBEeGRPYomsG5n2A" name="P3">
+ <packagedElement xmi:type="uml:Class" xmi:id="_nKOpwGhBEeGRPYomsG5n2A" name="B1_P3" clientDependency="_uGrSIGh7EeGlqco_XlYG8g">
+ <ownedAttribute xmi:id="_q7WyAGhBEeGRPYomsG5n2A" name="b2_p3" type="_pUlogGhBEeGRPYomsG5n2A" association="_q7MZ8GhBEeGRPYomsG5n2A">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q7WyAWhBEeGRPYomsG5n2A" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q7WyAmhBEeGRPYomsG5n2A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_1f6sYGiCEeGr7cwg4mgBUQ" name="property1" type="_DWJHQGOfEeGA2PidaF_0QA">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1g0rUWiCEeGr7cwg4mgBUQ" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1g0rUGiCEeGr7cwg4mgBUQ" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_pUlogGhBEeGRPYomsG5n2A" name="B2_P3"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_q7MZ8GhBEeGRPYomsG5n2A" name="Association1" memberEnd="_q7WyAGhBEeGRPYomsG5n2A _q7XZEGhBEeGRPYomsG5n2A">
+ <eAnnotations xmi:id="_q7R5gGhBEeGRPYomsG5n2A" source="org.eclipse.papyrus">
+ <details xmi:id="_q7SgkGhBEeGRPYomsG5n2A" key="nature" value="SysML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:id="_q7XZEGhBEeGRPYomsG5n2A" name="b1_p3" type="_nKOpwGhBEeGRPYomsG5n2A" association="_q7MZ8GhBEeGRPYomsG5n2A">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q7XZEWhBEeGRPYomsG5n2A" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q7XZEmhBEeGRPYomsG5n2A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_-SfkAGh8EeGlqco_XlYG8g" name="Allocate1" supplier="_nKOpwGhBEeGRPYomsG5n2A" client="_BcNxMGOfEeGA2PidaF_0QA"/>
+ </packagedElement>
+ <profileApplication xmi:id="_x0RzAGOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x0RzAWOeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7q0cGOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7q0cWOeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7w7EGOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7w7EWOeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7w7EmOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7w7E2OeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7w7FGOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7w7FWOeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7w7FmOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7w7F2OeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7w7GGOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7w7GWOeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7z-YGOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7z-YWOeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7z-YmOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7z-Y2OeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7z-ZGOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7z-ZWOeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_x7z-ZmOeEeGA2PidaF_0QA">
+ <eAnnotations xmi:id="_x7z-Z2OeEeGA2PidaF_0QA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ </uml:Model>
+ <Blocks:Block xmi:id="_9HLDkGOeEeGA2PidaF_0QA" base_Class="_9GgVMGOeEeGA2PidaF_0QA"/>
+ <Blocks:Block xmi:id="_-pNeEGOeEeGA2PidaF_0QA" base_Class="_-pKawGOeEeGA2PidaF_0QA"/>
+ <Blocks:Block xmi:id="_BcQ0gGOfEeGA2PidaF_0QA" base_Class="_BcNxMGOfEeGA2PidaF_0QA"/>
+ <Blocks:Block xmi:id="_DWMKkGOfEeGA2PidaF_0QA" base_Class="_DWJHQGOfEeGA2PidaF_0QA"/>
+ <Blocks:Block xmi:id="_IcmDsGOfEeGA2PidaF_0QA" base_Class="_IcjAYGOfEeGA2PidaF_0QA"/>
+ <Blocks:Block xmi:id="_KhAygWOfEeGA2PidaF_0QA" base_Class="_KhAygGOfEeGA2PidaF_0QA"/>
+ <PortAndFlows:FlowPort xmi:id="_bP-qMGOfEeGA2PidaF_0QA" base_Port="_bO1asGOfEeGA2PidaF_0QA" direction="out"/>
+ <PortAndFlows:FlowPort xmi:id="_4crN4mOfEeGA2PidaF_0QA" base_Port="_4cfAoGOfEeGA2PidaF_0QA" direction="in"/>
+ <PortAndFlows:FlowPort xmi:id="_-kuKMGOfEeGA2PidaF_0QA" base_Port="_-krG4GOfEeGA2PidaF_0QA" direction="in"/>
+ <PortAndFlows:FlowPort xmi:id="_B0qQ8GOgEeGA2PidaF_0QA" base_Port="_B0nNoGOgEeGA2PidaF_0QA" direction="out"/>
+ <PortAndFlows:FlowPort xmi:id="_HM_nkmOgEeGA2PidaF_0QA" base_Port="_HMzaUGOgEeGA2PidaF_0QA"/>
+ <Allocations:Allocate xmi:id="_HB6pwGeiEeGOntYbC8mMqw" base_Abstraction="_G7R2QGeiEeGOntYbC8mMqw"/>
+ <Blocks:Block xmi:id="_nKTiQGhBEeGRPYomsG5n2A" base_Class="_nKOpwGhBEeGRPYomsG5n2A"/>
+ <Blocks:Block xmi:id="_pUor0GhBEeGRPYomsG5n2A" base_Class="_pUlogGhBEeGRPYomsG5n2A"/>
+ <Allocations:Allocate xmi:id="_9TfpUGh1EeGlqco_XlYG8g" base_Abstraction="_9SsYEGh1EeGlqco_XlYG8g"/>
+ <Allocations:Allocate xmi:id="_uKO8cGh7EeGlqco_XlYG8g" base_Abstraction="_uGrSIGh7EeGlqco_XlYG8g"/>
+ <Allocations:Allocate xmi:id="_-WCAMGh8EeGlqco_XlYG8g" base_Abstraction="_-SfkAGh8EeGlqco_XlYG8g"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/copypaste/TestCopyPasteElementsWithDiagrams.java b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/copypaste/TestCopyPasteElementsWithDiagrams.java
new file mode 100644
index 00000000000..5f38881d855
--- /dev/null
+++ b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/copypaste/TestCopyPasteElementsWithDiagrams.java
@@ -0,0 +1,603 @@
+/*****************************************************************************
+ * Copyright (c) 2011 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:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.diagram.blockdefinition.tests.copypaste;
+
+import static org.eclipse.papyrus.sysml.diagram.blockdefinition.tests.utils.EditorUtils.getDiagramView;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.ECrossReferenceAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.diagram.blockdefinition.Activator;
+import org.eclipse.papyrus.sysml.diagram.blockdefinition.tests.utils.EditorUtils;
+import org.eclipse.papyrus.sysml.diagram.blockdefinition.tests.utils.TestUtils;
+import org.eclipse.papyrus.sysml.diagram.common.utils.SysMLGraphicalTypes;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.intro.IIntroPart;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+
+/**
+ * Test class for Copy/paste actions with copied elements that are context of diagrams. Diagrams should be duplicated also.
+ */
+public class TestCopyPasteElementsWithDiagrams {
+
+ /** is the test initialized already */
+ public static boolean isInitialized = false;
+
+ /** main papyrus editor part */
+ public static IEditorPart editor = null;
+
+ /** id of the editor */
+ public static String editorID = "org.eclipse.papyrus.core.papyrusEditor";
+
+ /** block B1_P1 */
+ private static View viewBlockB1_P1;
+
+ private static GraphicalEditPart editPartBlockB1_P1;
+
+ /** block B2_P1 */
+ private static View viewBlockB2_P1;
+
+ private static GraphicalEditPart editPartBlockB2_P1;
+
+ /** block B1_P1_P1 */
+ private static View viewBlockB1_P1_P1;
+
+ private static GraphicalEditPart editPartBlockB1_P1_P1;
+
+ /** block B2_P1_P1 */
+ private static View viewBlockB2_P1_P1;
+
+ private static GraphicalEditPart editPartBlockB2_P1_P1;
+
+ /** block B1_P2 */
+ private static View viewBlockB1_P2;
+
+ private static GraphicalEditPart editPartBlockB1_P2;
+
+ /** block B2_P2 */
+ private static View viewBlockB2_P2;
+
+ private static GraphicalEditPart editPartBlockB2_P2;
+
+ /** package P1 */
+ private static View viewPackageP1;
+
+ private static GraphicalEditPart editPartPackageP1;
+
+ /** package P1_P1 */
+ private static View viewPackageP1_P1;
+
+ private static GraphicalEditPart editPartPackageP1_P1;
+
+ /** package P2 */
+ private static View viewPackageP2;
+
+ private static GraphicalEditPart editPartPackageP2;
+
+ /** initial list of diagrams */
+ private static ArrayList<Diagram> initialDiagrams;
+
+ /** initial number of diagrams */
+ private static final int initialNumberOfDiagrams = 4;
+
+ /**
+ * Initialization of the test: open Papyrus editor with a given model
+ *
+ * @throws Exception
+ * exception thrown if errors
+ */
+ @BeforeClass
+ public static void openPapyrusWithAnEmptyProject() throws Exception {
+ IIntroPart introPart = PlatformUI.getWorkbench().getIntroManager().getIntro();
+ PlatformUI.getWorkbench().getIntroManager().closeIntro(introPart);
+ // Prepare new project for tests
+ IProject testProject = ResourcesPlugin.getWorkspace().getRoot().getProject("TestProject");
+ if(!testProject.exists()) {
+ testProject.create(new NullProgressMonitor());
+ }
+
+ if(!testProject.isOpen()) {
+ testProject.open(new NullProgressMonitor());
+ }
+
+ // Copy EmptyModel from bundle to the test project
+ IFile emptyModel_di = testProject.getFile("ModelWithDiagrams.di");
+ IFile emptyModel_no = testProject.getFile("ModelWithDiagrams.notation");
+ IFile emptyModel_uml = testProject.getFile("ModelWithDiagrams.uml");
+
+ // isInitialized = isInitialized || emptyModel_di.exists();
+
+ if(!isInitialized) {
+ isInitialized = true;
+ emptyModel_di.create(Activator.getInstance().getBundle().getResource("/model/ModelWithDiagrams.di").openStream(), true, new NullProgressMonitor());
+ emptyModel_no.create(Activator.getInstance().getBundle().getResource("/model/ModelWithDiagrams.notation").openStream(), true, new NullProgressMonitor());
+ emptyModel_uml.create(Activator.getInstance().getBundle().getResource("/model/ModelWithDiagrams.uml").openStream(), true, new NullProgressMonitor());
+ }
+
+ // Open the EmptyModel.di file with Papyrus (assumed to be the default editor for "di" files here).
+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ editor = page.openEditor(new FileEditorInput(emptyModel_di), editorID);
+ page.getActiveEditor().setFocus();
+
+ initEditPartsAndViews();
+ }
+
+ /**
+ * Before class: initializes variables for the tests
+ *
+ * @throws Exception
+ * exception thrown when there are errors.
+ */
+ public static void initEditPartsAndViews() throws Exception {
+ DiagramEditPart diagramEditPart = EditorUtils.getDiagramEditPart();
+
+ /** package P1 */
+ editPartPackageP1 = EditorUtils.getEditPart(diagramEditPart, "P1", null, true, false, false);
+ viewPackageP1 = (editPartPackageP1.getModel() instanceof View) ? (View)editPartPackageP1.getModel() : null;
+ if(viewPackageP1 == null)
+ throw new Exception("Impossible to cast into a view:" + editPartPackageP1.getModel());
+
+ /** package P1_P1 */
+ editPartPackageP1_P1 = EditorUtils.getEditPart(diagramEditPart, "P1_P1", null, true, false, false);
+ viewPackageP1_P1 = (editPartPackageP1_P1.getModel() instanceof View) ? (View)editPartPackageP1_P1.getModel() : null;
+ if(viewPackageP1_P1 == null)
+ throw new Exception("Impossible to cast into a view:" + editPartPackageP1_P1.getModel());
+
+ /** package P2 */
+ editPartPackageP2 = EditorUtils.getEditPart(diagramEditPart, "P2", null, true, false, false);
+ viewPackageP2 = (editPartPackageP2.getModel() instanceof View) ? (View)editPartPackageP2.getModel() : null;
+ if(viewPackageP2 == null)
+ throw new Exception("Impossible to cast into a view:" + editPartPackageP2.getModel());
+
+ /** Block B1_P1 */
+ editPartBlockB1_P1 = EditorUtils.getEditPart(diagramEditPart, "B1_P1", SysMLGraphicalTypes.SHAPE_SYSML_BLOCK_AS_CLASSIFIER_ID, true, false, false);
+ viewBlockB1_P1 = (editPartBlockB1_P1.getModel() instanceof View) ? (View)editPartBlockB1_P1.getModel() : null;
+ if(viewBlockB1_P1 == null)
+ throw new Exception("Impossible to cast into a view:" + editPartBlockB1_P1.getModel());
+
+ /** Block B2_P1 */
+ editPartBlockB2_P1 = EditorUtils.getEditPart(diagramEditPart, "B2_P1", SysMLGraphicalTypes.SHAPE_SYSML_BLOCK_AS_CLASSIFIER_ID, true, false, false);
+ viewBlockB2_P1 = (editPartBlockB2_P1.getModel() instanceof View) ? (View)editPartBlockB2_P1.getModel() : null;
+ if(viewBlockB2_P1 == null)
+ throw new Exception("Impossible to cast into a view:" + editPartBlockB2_P1.getModel());
+
+ /** Block B1_P2 */
+ editPartBlockB1_P2 = EditorUtils.getEditPart(diagramEditPart, "B1_P2", SysMLGraphicalTypes.SHAPE_SYSML_BLOCK_AS_CLASSIFIER_ID, true, false, false);
+ viewBlockB1_P2 = (editPartBlockB1_P2.getModel() instanceof View) ? (View)editPartBlockB1_P2.getModel() : null;
+ if(viewBlockB1_P2 == null)
+ throw new Exception("Impossible to cast into a view:" + editPartBlockB1_P2.getModel());
+
+ /** Block B2_P2 */
+ editPartBlockB2_P2 = EditorUtils.getEditPart(diagramEditPart, "B2_P2", SysMLGraphicalTypes.SHAPE_SYSML_BLOCK_AS_CLASSIFIER_ID, true, false, false);
+ viewBlockB2_P2 = (editPartBlockB2_P2.getModel() instanceof View) ? (View)editPartBlockB2_P2.getModel() : null;
+ if(viewBlockB2_P2 == null)
+ throw new Exception("Impossible to cast into a view:" + editPartBlockB2_P2.getModel());
+
+ /** Block B1_P1_P1 */
+ editPartBlockB1_P1_P1 = EditorUtils.getEditPart(diagramEditPart, "B1_P1_P1", SysMLGraphicalTypes.SHAPE_SYSML_BLOCK_AS_CLASSIFIER_ID, true, false, false);
+ viewBlockB1_P1_P1 = (editPartBlockB1_P1_P1.getModel() instanceof View) ? (View)editPartBlockB1_P1_P1.getModel() : null;
+ if(viewBlockB1_P1_P1 == null)
+ throw new Exception("Impossible to cast into a view:" + editPartBlockB1_P1_P1.getModel());
+
+ /** Block B2_P1_P1 */
+ editPartBlockB2_P1_P1 = EditorUtils.getEditPart(diagramEditPart, "B2_P1_P1", SysMLGraphicalTypes.SHAPE_SYSML_BLOCK_AS_CLASSIFIER_ID, true, false, false);
+ viewBlockB2_P1_P1 = (editPartBlockB2_P1_P1.getModel() instanceof View) ? (View)editPartBlockB2_P1_P1.getModel() : null;
+ if(viewBlockB2_P1_P1 == null)
+ throw new Exception("Impossible to cast into a view:" + editPartBlockB2_P1_P1.getModel());
+
+ /** diagrams */
+ Diagram currentDiagramView = diagramEditPart.getDiagramView();
+ Collection<Diagram> diagrams = getDiagrams(currentDiagramView);
+ initialDiagrams = new ArrayList<Diagram>(diagrams);
+ Assert.assertEquals("There should be " + initialNumberOfDiagrams + " diagrams in the notation model", initialNumberOfDiagrams, initialDiagrams.size());
+
+
+ }
+
+ private static Collection<Diagram> getDiagrams(View view) {
+ return EcoreUtil.<Diagram> getObjectsByType(view.eResource().getContents(), NotationPackage.eINSTANCE.getDiagram());
+ }
+
+ /**
+ * After the test: closes the editor without saving its state
+ *
+ * @throws Exception
+ * exception thrown in case of errors
+ */
+ @AfterClass
+ public static void closePapyrusAndCleanProject() throws Exception {
+ // Close the editor without saving content created during tests
+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ page.closeEditor(editor, false);
+ }
+
+ /**
+ * Test the copy of a {@link Block} and paste in a {@link Diagram}
+ *
+ * @throws Exception
+ * exception thrown in case of problems
+ */
+ @Test
+ public void testCopyPasteSimplePackageWithDiagram() throws Exception {
+ int expectedNumberOfDiagramsInNewPackage = 0;
+ int expectedNumberOfDiagramsInNewPackageAndChildren = 1;
+ int expected = initialNumberOfDiagrams + expectedNumberOfDiagramsInNewPackageAndChildren;
+
+ Assert.assertTrue("Editor should not be in dirty state", ! EditorUtils.getDiagramEditor().isDirty());
+
+ // copy of P2 into SysML Model.
+ // should copy the IBD in P1_B2
+ TestUtils.copyEditParts(Arrays.<Object> asList((editPartPackageP2)));
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+ TestUtils.pasteWithModelEditParts(EditorUtils.getDiagramEditPart(), true);
+
+ // check the sysml model => should have a new copy of p2
+ Package sysmlModel = (Package)getDiagramView().getElement();
+ Package newPackage = sysmlModel.getNestedPackage("Copy_Of_P2_1");
+ Assert.assertNotNull("Impossible to get the new Package", newPackage);
+ Assert.assertTrue("Editor should be in dirty state", EditorUtils.getDiagramEditor().isDirty());
+
+ // check the new diagrams..
+ Collection<Diagram> newListOfDiagrams = getDiagrams(getDiagramView());
+ Assert.assertEquals("There should be " + expected + " diagrams after paste", expected, newListOfDiagrams.size());
+ List<Diagram> newPackageDiagrams = getOwnedDiagrams(newPackage, false);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewPackage + " diagrams in Package after paste", expectedNumberOfDiagramsInNewPackage, newPackageDiagrams.size());
+ List<Diagram> newPackageAndChildrenDiagrams = getOwnedDiagrams(newPackage, true);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewPackageAndChildren + " diagrams in Package and children after paste", expectedNumberOfDiagramsInNewPackageAndChildren, newPackageAndChildrenDiagrams.size());
+ //checkElements(newPackage, viewPackageP2.getElement(), newPackage, viewPackageP2.getElement());
+
+ // test undo
+ EditorUtils.getCommandStack().undo();
+ newPackage = sysmlModel.getNestedPackage("Copy_Of_P2_1");
+ Assert.assertNull("New Package was not deleted during undo()", newPackage);
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+
+ // test redo
+ EditorUtils.getCommandStack().redo();
+ newPackage = sysmlModel.getNestedPackage("Copy_Of_P2_1");
+ Assert.assertNotNull("Impossible to get the new Package during redo()", newPackage);
+ Assert.assertTrue("Editor should be in dirty state", EditorUtils.getDiagramEditor().isDirty());
+ newPackageDiagrams = getOwnedDiagrams(newPackage, false);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewPackage + " diagrams in Package after paste", expectedNumberOfDiagramsInNewPackage, newPackageDiagrams.size());
+ newPackageAndChildrenDiagrams = getOwnedDiagrams(newPackage, true);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewPackage + " diagrams in Package and children after paste", expectedNumberOfDiagramsInNewPackageAndChildren, newPackageAndChildrenDiagrams.size());
+ //checkElements(newPackage, viewPackageP2.getElement(), newPackage, viewPackageP2.getElement());
+
+ // do undo to get back previous state
+ EditorUtils.getCommandStack().undo();
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+ }
+
+ /**
+ * Test the copy of a {@link Block} and paste in a {@link Diagram}
+ *
+ * @throws Exception
+ * exception thrown in case of problems
+ */
+ @Test
+ public void testCopyPastePackageWithSeveralDiagrams() throws Exception {
+ String NEW_P1_NAME = "Copy_Of_P1_1";
+ int expectedNumberOfDiagramsInNewPackage = 0;
+ int expectedNumberOfDiagramsInNewPackageAndChildren = 2;
+ int expectedNumberOfDiagrams = initialNumberOfDiagrams + expectedNumberOfDiagramsInNewPackageAndChildren;
+
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+
+ // copy of P1 into SysML Model.
+ TestUtils.copyEditParts(Arrays.<Object> asList((editPartPackageP1)));
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+ TestUtils.pasteWithModelEditParts(EditorUtils.getDiagramEditPart(), true);
+
+ // check the sysml model => should have a new copy of p1
+ Package sysmlModel = (Package)getDiagramView().getElement();
+
+ Package newPackage = sysmlModel.getNestedPackage(NEW_P1_NAME);
+ Assert.assertNotNull("Impossible to get the new Package", newPackage);
+ Assert.assertTrue("Editor should be in dirty state", EditorUtils.getDiagramEditor().isDirty());
+
+ // check the new diagrams..
+ Collection<Diagram> newListOfDiagrams = getDiagrams(getDiagramView());
+ Assert.assertEquals("There should be " + expectedNumberOfDiagrams + " diagrams after paste", expectedNumberOfDiagrams, newListOfDiagrams.size());
+ List<Diagram> newPackageDiagrams = getOwnedDiagrams(newPackage, false);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewPackage + " diagrams in Package after paste", expectedNumberOfDiagramsInNewPackage, newPackageDiagrams.size());
+ List<Diagram> newPackageAndChildrenDiagrams = getOwnedDiagrams(newPackage, true);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewPackage + " diagrams in Package and children after paste", expectedNumberOfDiagramsInNewPackageAndChildren, newPackageAndChildrenDiagrams.size());
+ //checkElements(newPackage, viewPackageP1.getElement(), newPackage, viewPackageP1.getElement());
+
+
+ // test undo
+ EditorUtils.getCommandStack().undo();
+ newPackage = sysmlModel.getNestedPackage(NEW_P1_NAME);
+ Assert.assertNull("New Package was not deleted during undo()", newPackage);
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+
+ // test redo
+ EditorUtils.getCommandStack().redo();
+ newPackage = sysmlModel.getNestedPackage(NEW_P1_NAME);
+ Assert.assertNotNull("Impossible to get the new Package during redo()", newPackage);
+ Assert.assertTrue("Editor should be in dirty state", EditorUtils.getDiagramEditor().isDirty());
+ newListOfDiagrams = getDiagrams(getDiagramView());
+ Assert.assertEquals("There should be " + expectedNumberOfDiagrams + " diagrams after redo", expectedNumberOfDiagrams, newListOfDiagrams.size());
+ newPackageDiagrams = getOwnedDiagrams(newPackage, false);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewPackage + " diagrams in Package after paste", expectedNumberOfDiagramsInNewPackage, newPackageDiagrams.size());
+ newPackageAndChildrenDiagrams = getOwnedDiagrams(newPackage, true);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewPackage + " diagrams in Package and children after paste", expectedNumberOfDiagramsInNewPackageAndChildren, newPackageAndChildrenDiagrams.size());
+ //checkElements(newPackage, viewPackageP1.getElement(), newPackage, viewPackageP1.getElement());
+
+ // do undo to get back previous state
+ EditorUtils.getCommandStack().undo();
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+ }
+
+ /**
+ * Test the copy of a {@link Block} and paste in a {@link Diagram}
+ *
+ * @throws Exception
+ * exception thrown in case of problems
+ */
+ @Test
+ public void testCopyPasteBlockWithOneDiagram() throws Exception {
+ String NEW_BLOCK_NAME = "Copy_Of_B1_1";
+ int expectedNumberOfDiagramsInNewBlock = 1;
+ int expectedNumberOfDiagramsInNewBlockAndChildren = 1;
+ int expectedNumberOfDiagrams = initialNumberOfDiagrams + expectedNumberOfDiagramsInNewBlockAndChildren;
+
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+
+ // copy of P1 into SysML Model.
+ TestUtils.copyEditParts(Arrays.<Object> asList((editPartBlockB1_P1)));
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+ TestUtils.pasteWithModelEditParts(EditorUtils.getDiagramEditPart(), true);
+
+ // check the sysml model => should have a new copy of p1
+ NamedElement newBlock = ((Package)viewPackageP1.getElement()).getPackagedElement(NEW_BLOCK_NAME);
+ Assert.assertNotNull("Impossible to get the new Block", newBlock);
+ Assert.assertTrue("Editor should be in dirty state", EditorUtils.getDiagramEditor().isDirty());
+
+ // check the new diagrams..
+ Collection<Diagram> newListOfDiagrams = getDiagrams(getDiagramView());
+ Assert.assertEquals("There should be " + expectedNumberOfDiagrams + " diagrams after paste", expectedNumberOfDiagrams, newListOfDiagrams.size());
+ List<Diagram> newBlockDiagrams = getOwnedDiagrams(newBlock, false);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewBlock + " diagrams in Block after paste", expectedNumberOfDiagramsInNewBlock, newBlockDiagrams.size());
+ List<Diagram> newBlockAndChildrenDiagrams = getOwnedDiagrams(newBlock, true);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewBlockAndChildren + " diagrams in Package and children after paste", expectedNumberOfDiagramsInNewBlockAndChildren, newBlockAndChildrenDiagrams.size());
+ //checkElements(newBlock, viewBlockB1_P1.getElement(), newBlock, viewBlockB1_P1.getElement());
+
+ // test undo
+ EditorUtils.getCommandStack().undo();
+ newBlock = ((Package)viewPackageP1.getElement()).getPackagedElement(NEW_BLOCK_NAME);
+ Assert.assertNull("New Block was not deleted during undo()", newBlock);
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+
+ // test redo
+ EditorUtils.getCommandStack().redo();
+ newBlock = ((Package)viewPackageP1.getElement()).getPackagedElement(NEW_BLOCK_NAME);
+ Assert.assertNotNull("Impossible to get the new Block during redo()", newBlock);
+ Assert.assertTrue("Editor should be in dirty state", EditorUtils.getDiagramEditor().isDirty());
+ newListOfDiagrams = getDiagrams(getDiagramView());
+ Assert.assertEquals("There should be " + expectedNumberOfDiagrams + " diagrams after redo", expectedNumberOfDiagrams, newListOfDiagrams.size());
+ newBlockDiagrams = getOwnedDiagrams(newBlock, false);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewBlock + " diagrams in Block after redo", expectedNumberOfDiagramsInNewBlock, newBlockDiagrams.size());
+ newBlockAndChildrenDiagrams = getOwnedDiagrams(newBlock, true);
+ Assert.assertEquals("There should be " + expectedNumberOfDiagramsInNewBlockAndChildren + " diagrams in Block and children after paste", expectedNumberOfDiagramsInNewBlockAndChildren, newBlockAndChildrenDiagrams.size());
+ //checkElements(newBlock, viewBlockB1_P1.getElement(), newBlock, viewBlockB1_P1.getElement());
+
+
+ // do undo to get back previous state
+ EditorUtils.getCommandStack().undo();
+ Assert.assertTrue("Editor should not be in dirty state", !EditorUtils.getDiagramEditor().isDirty());
+ }
+
+ /**
+ * check the elements given expected numbers
+ *
+ * @param viewChildren
+ * list of view elements to check
+ * @param modelChildren
+ * model elements
+ * @param expectedChildrenViewsSize
+ * expected size of the view children
+ * @param expectedModelChildrenSize
+ * expected children for the parent element
+ */
+ protected static void checkElements(List<View> viewChildren, Object modelChildren, int expectedChildrenViewsSize, int expectedModelChildrenSize) {
+ Assert.assertEquals("There are no as many graphical children as expected", expectedChildrenViewsSize, viewChildren.size());
+ if(modelChildren instanceof List) {
+ Assert.assertEquals("There are no as many model children as expected", expectedModelChildrenSize, ((List<?>)modelChildren).size());
+ }
+ }
+
+ /**
+ * Returns the list of diagrams associated to a given object
+ *
+ * @param object
+ * the eobject to check
+ * @return the list of diagrams found
+ */
+ protected static List<Diagram> getOwnedDiagrams(EObject object, boolean nestedElementsExplored) {
+ List<Diagram> diagrams = new ArrayList<Diagram>();
+ if(object.eResource() == null || object.eResource().getResourceSet() == null) {
+ return Collections.emptyList();
+ }
+
+ ResourceSet resourceSet = object.eResource().getResourceSet();
+ ECrossReferenceAdapter adapter = ECrossReferenceAdapter.getCrossReferenceAdapter(resourceSet);
+ if(adapter == null) {
+ adapter = new ECrossReferenceAdapter();
+ resourceSet.eAdapters().add(adapter);
+ }
+
+ // do not proceed for graphical elements, which will have evident relationships to diagrams (owner, etc.)
+ if(object instanceof View) {
+ return Collections.emptyList();
+ }
+
+ // check for the element itself
+ Collection<Setting> settings = adapter.getInverseReferences(object, false);
+ for(Setting setting : settings) {
+ EObject value = setting.getEObject();
+ if(value instanceof Diagram) {
+ diagrams.add((Diagram)value);
+ }
+ }
+
+ if(nestedElementsExplored) {
+ // check for sub-elements
+ for(Iterator<EObject> it = object.eAllContents(); it.hasNext();) {
+ EObject child = it.next();
+ settings = adapter.getInverseReferences(child, false);
+
+ for(Setting setting : settings) {
+ EObject value = setting.getEObject();
+ if(value instanceof Diagram) {
+ diagrams.add((Diagram)value);
+ }
+ }
+ }
+ }
+ return diagrams;
+ }
+
+ /**
+ * Checks the new element compared to the previous one...
+ *
+ * @param newEObject
+ * the new object (copy)
+ * @param originalEObject
+ * the original object
+ */
+ protected void checkElements(EObject newEObject, EObject originalEObject, EObject copyMainObject, EObject originalMainObject) {
+ System.err.println("testing new Object:" + newEObject + " against original: " + originalEObject);
+ // check attributes:
+ Iterator<EStructuralFeature> it = newEObject.eClass().getEAllStructuralFeatures().iterator();
+ while(it.hasNext()) {
+ EStructuralFeature feature = it.next();
+ Object copyFeatureObject = newEObject.eGet(feature);
+ Object originalFeatureObject = originalEObject.eGet(feature);
+ boolean isSet = originalEObject.eIsSet(feature);
+ if(isSet) {
+ Assert.assertEquals(getErrorMessage(newEObject, originalEObject, "Feature should be set because original was set.\nvalue: " + originalFeatureObject, feature), isSet, newEObject.eIsSet(feature));
+ } else {
+ Assert.assertEquals(getErrorMessage(newEObject, originalEObject, "Feature should not be set because original was not set", feature), isSet, newEObject.eIsSet(feature));
+ }
+ if(isSet) {
+ if(feature.isMany()) {
+ // test size of the feature
+ List<EObject> copyFeatures = (List<EObject>)copyFeatureObject;
+ List<EObject> originalFeatures = (List<EObject>)originalFeatureObject;
+ Assert.assertEquals(getErrorMessage(newEObject, originalEObject, "List of References should have the same size", feature), copyFeatures.size(), originalFeatures.size());
+
+ if(feature instanceof EReference) {
+ for(int i = 0; i < copyFeatures.size(); i++) {
+ EObject copyFeature = copyFeatures.get(i);
+ EObject originalFeature = originalFeatures.get(i);
+ List<EObject> originalValueContainers = getContainers(originalFeature);
+ if(originalValueContainers.contains(originalMainObject)) {
+ // the original value was contained in duplicated object => should now be contained by the new container
+ List<EObject> copyValueContainers = getContainers(copyFeature);
+ Assert.assertTrue(getErrorMessage(newEObject, originalEObject, "Copy element should be contained by the main duplicated object", feature), copyValueContainers.contains(copyMainObject));
+ if(((EReference)feature).isContainment()) {
+ checkElements(copyFeature, originalFeature, copyMainObject, originalMainObject);
+ }
+ } else {
+ // outside value => copy should be the same as original
+ Assert.assertTrue(getErrorMessage(newEObject, originalEObject, "Copy element should not have changed", feature), copyFeature.equals(originalFeature));
+ // no need to check content here: elements were not duplicated
+ }
+ }
+ }
+ } else {
+ if(feature instanceof EReference && !((EReference)feature).isDerived()) { // no way to modify derived properties..
+ EObject copyFeature = (EObject)copyFeatureObject;
+ EObject originalFeature = (EObject)originalFeatureObject;
+ // this is a ref. If element was in the duplicated element, then it should be contained by the new container. else, should be a sub element of old container.
+ List<EObject> originalValueContainers = getContainers(originalFeature);
+ if(originalValueContainers.contains(originalMainObject)) {
+ // the original value was contained in duplicated object => should now be contained by the new container
+ List<EObject> copyValueContainers = getContainers(copyFeature);
+ Assert.assertTrue(getErrorMessage(newEObject, originalEObject, "Copy element should be contained by the main duplicated object", feature), copyValueContainers.contains(copyMainObject));
+ } else {
+ // outside value => copy should be the same as original
+ Assert.assertTrue(getErrorMessage(newEObject, originalEObject, "Copy element should not have changed", feature), copyFeature.equals(originalFeature));
+ }
+
+ if(((EReference)feature).isContainment()) {
+ checkElements(copyFeature, originalFeature, copyMainObject, originalMainObject);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ protected static String getErrorMessage(EObject newEObject, EObject originalEObject, String shortErrorMessage, EStructuralFeature feature) {
+ String errorMessage = shortErrorMessage;
+ errorMessage += "\n- original: ";
+ errorMessage += originalEObject;
+ errorMessage += "\n- copy: ";
+ errorMessage += newEObject;
+ errorMessage += "\n- feature: ";
+ errorMessage += feature.getName();
+ if(feature instanceof EReference) {
+ errorMessage += "[EReference]";
+ } else if(feature instanceof EAttribute) {
+ errorMessage += "[EAttribute]";
+ }
+ return errorMessage;
+ }
+
+ private static List<EObject> getContainers(EObject originalFeature) {
+ EObject tmp = originalFeature;
+ List<EObject> result = new ArrayList<EObject>();
+ while(tmp.eContainer() != null) {
+ EObject container = tmp.eContainer();
+ result.add(container);
+ tmp = container;
+ }
+ return result;
+
+
+ }
+
+}
diff --git a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/suites/AllCopyPasteTests.java b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/suites/AllCopyPasteTests.java
index b52e3ac9cbc..2d2ce05ad50 100644
--- a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/suites/AllCopyPasteTests.java
+++ b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/suites/AllCopyPasteTests.java
@@ -13,6 +13,7 @@
package org.eclipse.papyrus.sysml.diagram.blockdefinition.tests.suites;
import org.eclipse.papyrus.sysml.diagram.blockdefinition.tests.copypaste.TestCopyGraphicallyPasteBlock;
+import org.eclipse.papyrus.sysml.diagram.blockdefinition.tests.copypaste.TestCopyPasteElementsWithDiagrams;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@@ -24,6 +25,7 @@ import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({
TestCopyGraphicallyPasteBlock.class,
+ TestCopyPasteElementsWithDiagrams.class,
})
public class AllCopyPasteTests {
}
diff --git a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/utils/EditorUtils.java b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/utils/EditorUtils.java
index 03a6a1e0d4c..4972e4febca 100644
--- a/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/utils/EditorUtils.java
+++ b/tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/tests/utils/EditorUtils.java
@@ -1,15 +1,22 @@
package org.eclipse.papyrus.sysml.diagram.blockdefinition.tests.utils;
+import java.util.ArrayList;
import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
import org.eclipse.emf.common.command.CommandStack;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.Tool;
import org.eclipse.gef.util.EditPartUtilities;
import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IPrimaryEditPart;
import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramCommandStack;
import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramEditDomain;
+import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.core.services.ServiceException;
@@ -32,7 +39,7 @@ public class EditorUtils {
} catch (ServiceException e) {
throw new Exception("Unable to retrieve service.", e);
} catch (ClassCastException e) {
- throw new Exception("Active diagram is not a BDD.", e);
+ throw new Exception("Active diagram is not a BDD." + e.getMessage(), e);
}
}
@@ -46,6 +53,8 @@ public class EditorUtils {
}
}
+
+
public static Diagram getDiagramView() throws Exception {
try {
@@ -82,7 +91,7 @@ public class EditorUtils {
return editPart;
}
}
-
+
throw new Exception("Unable to find edit part for the given view.");
}
@@ -98,11 +107,11 @@ public class EditorUtils {
public static DiagramCommandStack getDiagramCommandStack() throws Exception {
return getDiagramEditingDomain().getDiagramCommandStack();
}
-
+
public static CommandStack getCommandStack() throws Exception {
return getTransactionalEditingDomain().getCommandStack();
}
-
+
public static TransactionalEditingDomain getTransactionalEditingDomain() throws Exception {
ServicesRegistry serviceRegistry = (ServicesRegistry)getEditor().getAdapter(ServicesRegistry.class);
@@ -113,9 +122,130 @@ public class EditorUtils {
throw new Exception("Unable to retrieve service.", e);
}
}
-
+
public static IEditorPart getEditor() throws Exception {
return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
}
+ /**
+ * retrieves the list of edit parts of the element with given parameters and adds it to the list of results
+ *
+ * @param parent
+ * the parent edit part
+ * @param elementName
+ * the name of the element, or <code>null</code>
+ * @param semanticHint
+ * the semantic hint of the edit part to find
+ * @param deepSearch
+ * <code>true</code> if all the content should be looked, not only the direct children
+ * @param results
+ * the list of results to complete
+ * @throws Exception
+ * exception thrown in case of problem
+ */
+ public static void findEditParts(GraphicalEditPart parent, String elementName, String semanticHint, boolean deepSearch, List<GraphicalEditPart> results) throws Exception {
+ Iterator<EditPart> childrenIterator = EditPartUtilities.getAllChildren(parent).iterator();
+ while(childrenIterator.hasNext()) {
+ EditPart part = childrenIterator.next();
+ if(part instanceof GraphicalEditPart && part instanceof IPrimaryEditPart) {
+ GraphicalEditPart graphicalEditPart = (GraphicalEditPart)part;
+ Object model = graphicalEditPart.getModel();
+ if(model instanceof View) {
+ String type = ((View)model).getType();
+ if(semanticHint != null) {
+ if(semanticHint.equals(type)) {
+ // test name
+ String name = (EMFCoreUtil.getName(((View)model).getElement()));
+ if(elementName != null) {
+ if(elementName.equals(name)) {
+ results.add(graphicalEditPart);
+ }
+ } else {
+ results.add(graphicalEditPart);
+ }
+ }
+ } else { // no interest in semantic hint. Check By name, which should not be null in this case
+ String name = EMFCoreUtil.getName(((View)model).getElement());
+ if(elementName != null) {
+ if(elementName.equals(name)) {
+ results.add(graphicalEditPart);
+ }
+ } else {
+ throw new Exception("At least semantic hint or name should be given to look for an element");
+ }
+ }
+ }
+ if(deepSearch) {
+ findEditParts(graphicalEditPart, elementName, semanticHint, deepSearch, results);
+ }
+ }
+ }
+ }
+
+ /**
+ * Returns the list of edit parts of the element with given parameters
+ *
+ * @param parent
+ * the parent edit part
+ * @param elementName
+ * the name of the element, or <code>null</code>
+ * @param semanticHint
+ * the semantic hint of the edit part to find
+ * @param deepSearch
+ * <code>true</code> if all the content should be looked, not only the direct children
+ * @param zeroAccepted
+ * <code>true</code> if 0 Edit Part is a valid result. If <code>false</code>, at least one edit part should be found
+ * @param severalAccepted
+ * <code>true</code> if more than one Edit Part is a valid result. If <code>false</code>, not more than one edit part should be found
+ * @return the edit part found or <code>null</code> if none was found and zeroAccepted was <code>true</code>
+ * @throws Exception
+ * exception thrown in case of problem
+ */
+ public static GraphicalEditPart getEditPart(GraphicalEditPart parent, String elementName, String semanticHint, boolean deepSearch, boolean zeroAccepted, boolean severalAccepted) throws Exception {
+ List<GraphicalEditPart> results = new ArrayList<GraphicalEditPart>();
+ findEditParts(parent, elementName, semanticHint, deepSearch, results);
+
+ // convert into a list of unique elements
+ Set<GraphicalEditPart> set = new LinkedHashSet<GraphicalEditPart>(results);
+ List<GraphicalEditPart> uniqueResults = new ArrayList<GraphicalEditPart>(set);
+
+ if(uniqueResults.size() == 0) {
+ if(zeroAccepted) {
+ return null;
+ }
+ throw new RuntimeException("At least one element was expected for parent "+parent+"\n element name: "+elementName+"\n semantic hint: "+semanticHint+"\n deep search allowed "+deepSearch);
+ }
+
+ if(uniqueResults.size() > 1) {
+ if(!severalAccepted) {
+ throw new RuntimeException("Not more than one element was expected for parent " + parent + "\n element name: " + elementName + "\n semantic hint: " + semanticHint + "\n deep search allowed " + deepSearch);
+ } else {
+ return uniqueResults.get(0);
+ }
+ }
+
+ return uniqueResults.get(0);
+ }
+
+ /**
+ * Returns the list of edit parts of the element with given parameters
+ *
+ * @param parent
+ * the parent edit part
+ * @param elementName
+ * the name of the element, or <code>null</code>
+ * @param semanticHint
+ * the semantic hint of the edit part to find
+ * @param deepSearch
+ * <code>true</code> if all the content should be looked, not only the direct children
+ * @return the list of edit parts found
+ * @throws Exception
+ * exception thrown in case of problem
+ */
+ public static List<GraphicalEditPart> getEditParts(GraphicalEditPart parent, String elementName, String semanticHint, boolean deepSearch) throws Exception {
+ List<GraphicalEditPart> results = new ArrayList<GraphicalEditPart>();
+ findEditParts(parent, elementName, semanticHint, deepSearch, results);
+ return results;
+ }
+
}

Back to the top