diff options
| author | Steve Monnier | 2016-12-05 17:12:44 +0000 |
|---|---|---|
| committer | Steve Monnier | 2016-12-06 16:39:38 +0000 |
| commit | ff8d58acdf9a21293033b8c92617c68ee1801032 (patch) | |
| tree | 890affd68d1119de5bf5dc27a00ad7fb3a615e12 | |
| parent | 036339dd13a22190a026547ec4179176567da8ca (diff) | |
| download | org.eclipse.sirius-ff8d58acdf9a21293033b8c92617c68ee1801032.tar.gz org.eclipse.sirius-ff8d58acdf9a21293033b8c92617c68ee1801032.tar.xz org.eclipse.sirius-ff8d58acdf9a21293033b8c92617c68ee1801032.zip | |
[508613] Fix decoration display when its precondition is true
- Fix the issue where a decoration (provided by the VSM) with a
precondition becoming true would not appear without a refresh launched
by the user.
- Creation of a new SWTBot test DecoratorTest validating the fix
- Update VSM for an existing JUnit test on decorator using outdated link
to decoration image file.
Bug: 508613
Change-Id: I166b4399817a21c7b94ba8501adc4697d80115e5
Signed-off-by: Steve Monnier <steve.monnier@obeo.fr>
7 files changed, 911 insertions, 15 deletions
diff --git a/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/experimental/sync/DDiagramElementSynchronizer.java b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/experimental/sync/DDiagramElementSynchronizer.java index 58207117ab..99b8163939 100644 --- a/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/experimental/sync/DDiagramElementSynchronizer.java +++ b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/experimental/sync/DDiagramElementSynchronizer.java @@ -68,6 +68,7 @@ import org.eclipse.sirius.diagram.description.DiagramDescription; import org.eclipse.sirius.diagram.description.DiagramElementMapping; import org.eclipse.sirius.diagram.description.EdgeMapping; import org.eclipse.sirius.diagram.description.IEdgeMapping; +import org.eclipse.sirius.diagram.description.Layer; import org.eclipse.sirius.diagram.description.MappingBasedDecoration; import org.eclipse.sirius.diagram.description.NodeMapping; import org.eclipse.sirius.diagram.description.style.ContainerStyleDescription; @@ -427,8 +428,8 @@ public class DDiagramElementSynchronizer { refreshSemanticElements(edge, actualMapping.get()); } - // clean decorations - cleanDecoration(edge); + // update decorations + updateDecoration(edge); } /** @@ -547,11 +548,11 @@ public class DDiagramElementSynchronizer { } } // clean decorations - cleanDecoration(container); + updateDecoration(container); refreshSemanticElements(container, containerMapping); } - private void cleanDecoration(final DDiagramElement element) { + private void updateDecoration(final DDiagramElement element) { Iterator<Decoration> it = element.getDecorations().iterator(); while (it.hasNext()) { Decoration decoration = it.next(); @@ -561,6 +562,18 @@ public class DDiagramElementSynchronizer { it.remove(); } } + for (Layer layer : diagram.getActivatedLayers()) { + if (layer.getDecorationDescriptionsSet() != null) { + EList<DecorationDescription> decorationDescriptions = layer.getDecorationDescriptionsSet().getDecorationDescriptions(); + for (DecorationDescription decorationDescription : decorationDescriptions) { + if (decorationDescription instanceof MappingBasedDecoration && ((MappingBasedDecoration) decorationDescription).getMappings().contains(element.getDiagramElementMapping()) + || decorationDescription instanceof SemanticBasedDecoration + && accessor.eInstanceOf(element.getTarget(), ((SemanticBasedDecoration) decorationDescription).getDomainClass())) { + addDecoration(element, decorationDescription); + } + } + } + } } /** @@ -597,8 +610,8 @@ public class DDiagramElementSynchronizer { } } - // clean decorations - cleanDecoration(newNode); + // update decorations + updateDecoration(newNode); refreshSemanticElements(newNode, newNode.getDiagramElementMapping()); } diff --git a/plugins/org.eclipse.sirius.tests.junit/data/unit/decorators/sprint.odesign b/plugins/org.eclipse.sirius.tests.junit/data/unit/decorators/sprint.odesign index 1b1dc82baf..78ba52c7df 100644 --- a/plugins/org.eclipse.sirius.tests.junit/data/unit/decorators/sprint.odesign +++ b/plugins/org.eclipse.sirius.tests.junit/data/unit/decorators/sprint.odesign @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" version="10.0.0.201505222000"> +<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" version="11.1.1.201610211630"> <ownedViewpoints name="Sprint with UML2 (Modeler test for decorators)" modelFileExtension="uml"> <ownedRepresentations xsi:type="description_1:DiagramDescription" documentation="Test a simple class diagram with only a box representing a Class" name="WithoutDecorationsSet" initialisation="true" domainClass="Package" rootExpression=""> <defaultLayer name="Sprint"> @@ -48,7 +48,7 @@ <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/> </style> </subNodeMappings> - <style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1"> + <style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1"> <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/> @@ -56,9 +56,9 @@ </style> </containerMappings> <decorationDescriptionsSet> - <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="mappingBasedDecoration" position="CENTER" decoratorPath="/org.eclipse.sirius.diagram/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbd']"/> - <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="mappingBasedDecorationContainer" position="NORTH_EAST" decoratorPath="/forg.eclipse.sirius.diagram/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']"/> - <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="mappingBasedDecorationListElement" decoratorPath="/org.eclipse.sirius.diagram/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']/@subNodeMappings[name='mbdi']"/> + <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="mappingBasedDecoration" position="CENTER" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" preconditionExpression="[not(name.startsWith('false'))/]" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbd']"/> + <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="mappingBasedDecorationContainer" position="NORTH_EAST" decoratorPath="/forg.eclipse.sirius.diagram.ui/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']"/> + <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="mappingBasedDecorationListElement" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']/@subNodeMappings[name='mbdi']"/> </decorationDescriptionsSet> </defaultLayer> </ownedRepresentations> @@ -93,7 +93,7 @@ <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/> </style> </subNodeMappings> - <style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1"> + <style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1"> <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/> @@ -101,7 +101,7 @@ </style> </containerMappings> <decorationDescriptionsSet> - <decorationDescriptions xsi:type="description:SemanticBasedDecoration" name="SemanticBasedDecoration" position="NORTH" decoratorPath="/org.eclipse.sirius.diagram/icons/layer_active.gif" domainClass="Class"/> + <decorationDescriptions xsi:type="description:SemanticBasedDecoration" name="SemanticBasedDecoration" position="NORTH" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" preconditionExpression="[not(name.startsWith('false'))/]" domainClass="Class"/> </decorationDescriptionsSet> </defaultLayer> </ownedRepresentations> @@ -117,7 +117,7 @@ </defaultLayer> <additionalLayers name="Hurdles"> <decorationDescriptionsSet> - <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="MappingBasedDecorationLayer" decoratorPath="/org.eclipse.sirius.diagram/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']"/> + <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="MappingBasedDecorationLayer" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']"/> </decorationDescriptionsSet> </additionalLayers> </ownedRepresentations> @@ -147,7 +147,7 @@ </defaultLayer> <additionalLayers name="Hurdles"> <decorationDescriptionsSet> - <decorationDescriptions xsi:type="description:SemanticBasedDecoration" name="SemanticBasedDecorationLayer" decoratorPath="/org.eclipse.sirius.diagram/icons/layer_active.gif" domainClass="Interface"/> + <decorationDescriptions xsi:type="description:SemanticBasedDecoration" name="SemanticBasedDecorationLayer" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" domainClass="Interface"/> </decorationDescriptionsSet> </additionalLayers> </ownedRepresentations> diff --git a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/decorator/representations.aird b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/decorator/representations.aird new file mode 100644 index 0000000000..ff05e4e771 --- /dev/null +++ b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/decorator/representations.aird @@ -0,0 +1,568 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style"> + <viewpoint:DAnalysis xmi:id="_BfPQMLr0Eeaxv-iboWdafg" selectedViews="_MQTmELr0Eeaxv-iboWdafg" version="11.1.0.201608251200"> + <semanticResources>sprint.uml</semanticResources> + <ownedViews xmi:type="viewpoint:DView" xmi:id="_MQTmELr0Eeaxv-iboWdafg"> + <viewpoint xmi:type="description:Viewpoint" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']"/> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_-woYELr3Eeaxv-iboWdafg" name="new MappingBasedDecoration" representation="_-woYEbr3Eeaxv-iboWdafg"> + <description xmi:type="description_1:DiagramDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']"/> + <target xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + </ownedRepresentationDescriptors> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_hKQToLr4Eeaxv-iboWdafg" name="new MappingBasedDecorationLayer" representation="_hKQTobr4Eeaxv-iboWdafg"> + <description xmi:type="description_1:DiagramDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']"/> + <target xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + </ownedRepresentationDescriptors> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_UiYXsLr5Eeaxv-iboWdafg" name="new SemanticBasedDecoration" representation="_UiYXsbr5Eeaxv-iboWdafg"> + <description xmi:type="description_1:DiagramDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']"/> + <target xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + </ownedRepresentationDescriptors> + </ownedViews> + </viewpoint:DAnalysis> + <diagram:DSemanticDiagram xmi:id="_-woYEbr3Eeaxv-iboWdafg" name="new MappingBasedDecoration"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_-woYErr3Eeaxv-iboWdafg" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_-woYE7r3Eeaxv-iboWdafg"/> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_-woYK7r3Eeaxv-iboWdafg" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_-woYLLr3Eeaxv-iboWdafg" type="Sirius" element="_-woYEbr3Eeaxv-iboWdafg" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_-woYLrr3Eeaxv-iboWdafg" type="2001" element="_-woYFLr3Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_-woYMbr3Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-woYMrr3Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-wuey7r3Eeaxv-iboWdafg" type="3004" element="_-woYFrr3Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-wuezLr3Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wuezbr3Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-woYL7r3Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-woYMLr3Eeaxv-iboWdafg" x="4" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-wuesLr3Eeaxv-iboWdafg" type="2001" element="_-woYF7r3Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_-wues7r3Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-wuetLr3Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-wuezrr3Eeaxv-iboWdafg" type="3004" element="_-woYGbr3Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-wuez7r3Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wue0Lr3Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-wuesbr3Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wuesrr3Eeaxv-iboWdafg" x="92" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-wuetbr3Eeaxv-iboWdafg" type="2001" element="_-woYGrr3Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_-wueuLr3Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-wueubr3Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-wue0br3Eeaxv-iboWdafg" type="3004" element="_-woYHLr3Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-wue0rr3Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wue07r3Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-wuetrr3Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wuet7r3Eeaxv-iboWdafg" x="182" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-wueurr3Eeaxv-iboWdafg" type="2001" element="_-woYHbr3Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_-wuevbr3Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-wuevrr3Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-w0lULr3Eeaxv-iboWdafg" type="3004" element="_-woYHrr3Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-w0lUbr3Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-w0lUrr3Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-wueu7r3Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wuevLr3Eeaxv-iboWdafg" x="272" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-wuev7r3Eeaxv-iboWdafg" type="2001" element="_-woYH7r3Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_-wuewrr3Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-wuew7r3Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-w0lU7r3Eeaxv-iboWdafg" type="3004" element="_-woYILr3Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-w0lVLr3Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-w0lVbr3Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-wuewLr3Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wuewbr3Eeaxv-iboWdafg" x="362" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-wuexLr3Eeaxv-iboWdafg" type="2003" element="_-woYIbr3Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_-wuex7r3Eeaxv-iboWdafg" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_-wueyLr3Eeaxv-iboWdafg" type="7004"> + <children xmi:type="notation:Node" xmi:id="_-w0lVrr3Eeaxv-iboWdafg" type="3010" element="_-woYJLr3Eeaxv-iboWdafg"> + <styles xmi:type="notation:FontStyle" xmi:id="_-w0lV7r3Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-w0lWLr3Eeaxv-iboWdafg"/> + </children> + <children xmi:type="notation:Node" xmi:id="_-w0lWbr3Eeaxv-iboWdafg" type="3010" element="_-woYJ7r3Eeaxv-iboWdafg"> + <styles xmi:type="notation:FontStyle" xmi:id="_-w0lWrr3Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-w0lW7r3Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_-wueybr3Eeaxv-iboWdafg"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_-wueyrr3Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_-wuexbr3Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wuexrr3Eeaxv-iboWdafg" x="450"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_-woYLbr3Eeaxv-iboWdafg"/> + </data> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_-woYFLr3Eeaxv-iboWdafg" name="100m" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_Zfig0EjgEd2dA-w4B9F6fQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_Zfig0EjgEd2dA-w4B9F6fQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_SdFfILr5Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='mappingBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_-woYFrr3Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbd']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbd']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_-woYF7r3Eeaxv-iboWdafg" name="200m" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_wLR7QHg7Ed2ISLgtvgSAmQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_wLR7QHg7Ed2ISLgtvgSAmQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_SdFfIbr5Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='mappingBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_-woYGbr3Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbd']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbd']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_-woYGrr3Eeaxv-iboWdafg" name="400m" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_XFrIwHg7Ed2ISLgtvgSAmQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_XFrIwHg7Ed2ISLgtvgSAmQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_bHC-kLr5Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='mappingBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_-woYHLr3Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbd']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbd']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_-woYHbr3Eeaxv-iboWdafg" name="110m H" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_vUwcEbGYEd2FK9pHgg2YuA"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_vUwcEbGYEd2FK9pHgg2YuA"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_-woYHrr3Eeaxv-iboWdafg" color="252,233,79"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdh']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdh']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_-woYH7r3Eeaxv-iboWdafg" name="400m H" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_vZnG4LGYEd2FK9pHgg2YuA"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_vZnG4LGYEd2FK9pHgg2YuA"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_-woYILr3Eeaxv-iboWdafg" color="252,233,79"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdh']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdh']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_-woYIbr3Eeaxv-iboWdafg" name="sprint"> + <target xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + <semanticElements xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_-woYIrr3Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='mappingBasedDecorationContainer']"/> + </decorations> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_-woYI7r3Eeaxv-iboWdafg" borderSize="1" borderSizeComputationExpression="1"> + <description xmi:type="style:FlatContainerStyleDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_-woYJLr3Eeaxv-iboWdafg" name="Homme"> + <target xmi:type="uml:Interface" href="sprint.uml#_CLYKgLGeEd2tQaKZ0qu29w"/> + <semanticElements xmi:type="uml:Interface" href="sprint.uml#_CLYKgLGeEd2tQaKZ0qu29w"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_-woYJbr3Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='mappingBasedDecorationListElement']"/> + </decorations> + <ownedStyle xmi:type="diagram:Square" xmi:id="_-woYJrr3Eeaxv-iboWdafg"> + <description xmi:type="style:SquareDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']/@subNodeMappings[name='mbdi']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']/@subNodeMappings[name='mbdi']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_-woYJ7r3Eeaxv-iboWdafg" name="Femme"> + <target xmi:type="uml:Interface" href="sprint.uml#_I4BosLGeEd2tQaKZ0qu29w"/> + <semanticElements xmi:type="uml:Interface" href="sprint.uml#_I4BosLGeEd2tQaKZ0qu29w"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_-woYKLr3Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='mappingBasedDecorationListElement']"/> + </decorations> + <ownedStyle xmi:type="diagram:Square" xmi:id="_-woYKbr3Eeaxv-iboWdafg"> + <description xmi:type="style:SquareDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']/@subNodeMappings[name='mbdi']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']/@subNodeMappings[name='mbdi']"/> + </ownedElements> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_-woYKrr3Eeaxv-iboWdafg"/> + <activatedLayers xmi:type="description_1:Layer" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer"/> + <target xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + </diagram:DSemanticDiagram> + <diagram:DSemanticDiagram xmi:id="_hKQTobr4Eeaxv-iboWdafg" name="new MappingBasedDecorationLayer"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_hKQTorr4Eeaxv-iboWdafg" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_hKQTo7r4Eeaxv-iboWdafg"/> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_hKQTr7r4Eeaxv-iboWdafg" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_hKQTsLr4Eeaxv-iboWdafg" type="Sirius" element="_hKQTobr4Eeaxv-iboWdafg" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_hKQTsrr4Eeaxv-iboWdafg" type="2001" element="_hKQTpLr4Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_hKWaQLr4Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_hKWaQbr4Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hKcg57r4Eeaxv-iboWdafg" type="3004" element="_hKQTpbr4Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKcg6Lr4Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKcg6br4Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKQTs7r4Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKQTtLr4Eeaxv-iboWdafg" x="4" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hKWaQrr4Eeaxv-iboWdafg" type="2001" element="_hKQTprr4Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_hKWaRbr4Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_hKWaRrr4Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hKcg6rr4Eeaxv-iboWdafg" type="3004" element="_hKQTp7r4Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKcg67r4Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKcg7Lr4Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKWaQ7r4Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKWaRLr4Eeaxv-iboWdafg" x="92" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hKWaR7r4Eeaxv-iboWdafg" type="2001" element="_hKQTqLr4Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_hKWaSrr4Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_hKWaS7r4Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hKcg7br4Eeaxv-iboWdafg" type="3004" element="_hKQTqbr4Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKcg7rr4Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKcg77r4Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKWaSLr4Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKWaSbr4Eeaxv-iboWdafg" x="182" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hKWaTLr4Eeaxv-iboWdafg" type="2001" element="_hKQTqrr4Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_hKcg4Lr4Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_hKcg4br4Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hKcg8Lr4Eeaxv-iboWdafg" type="3004" element="_hKQTq7r4Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKcg8br4Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKcg8rr4Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKWaTbr4Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKWaTrr4Eeaxv-iboWdafg" x="272" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hKcg4rr4Eeaxv-iboWdafg" type="2001" element="_hKQTrLr4Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_hKcg5br4Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_hKcg5rr4Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hKcg87r4Eeaxv-iboWdafg" type="3004" element="_hKQTrbr4Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKcg9Lr4Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKcg9br4Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hKcg47r4Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hKcg5Lr4Eeaxv-iboWdafg" x="362" width="30" height="30"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_hKQTsbr4Eeaxv-iboWdafg"/> + </data> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_hKQTpLr4Eeaxv-iboWdafg" name="100m" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_Zfig0EjgEd2dA-w4B9F6fQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_Zfig0EjgEd2dA-w4B9F6fQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_h9tJ0Lr4Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@additionalLayers[name='Hurdles']/@decorationDescriptionsSet/@decorationDescriptions[name='MappingBasedDecorationLayer']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_hKQTpbr4Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_hKQTprr4Eeaxv-iboWdafg" name="200m" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_wLR7QHg7Ed2ISLgtvgSAmQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_wLR7QHg7Ed2ISLgtvgSAmQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_h9tJ0br4Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@additionalLayers[name='Hurdles']/@decorationDescriptionsSet/@decorationDescriptions[name='MappingBasedDecorationLayer']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_hKQTp7r4Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_hKQTqLr4Eeaxv-iboWdafg" name="400m" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_XFrIwHg7Ed2ISLgtvgSAmQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_XFrIwHg7Ed2ISLgtvgSAmQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_h9tJ0rr4Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@additionalLayers[name='Hurdles']/@decorationDescriptionsSet/@decorationDescriptions[name='MappingBasedDecorationLayer']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_hKQTqbr4Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_hKQTqrr4Eeaxv-iboWdafg" name="110m H" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_vUwcEbGYEd2FK9pHgg2YuA"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_vUwcEbGYEd2FK9pHgg2YuA"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_h9tJ07r4Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@additionalLayers[name='Hurdles']/@decorationDescriptionsSet/@decorationDescriptions[name='MappingBasedDecorationLayer']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_hKQTq7r4Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_hKQTrLr4Eeaxv-iboWdafg" name="400m H" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_vZnG4LGYEd2FK9pHgg2YuA"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_vZnG4LGYEd2FK9pHgg2YuA"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_h9tJ1Lr4Eeaxv-iboWdafg"> + <description xmi:type="description_1:MappingBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@additionalLayers[name='Hurdles']/@decorationDescriptionsSet/@decorationDescriptions[name='MappingBasedDecorationLayer']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_hKQTrbr4Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_hKQTrrr4Eeaxv-iboWdafg"/> + <activatedLayers xmi:type="description_1:Layer" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer"/> + <activatedLayers xmi:type="description_1:AdditionalLayer" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@additionalLayers[name='Hurdles']"/> + <target xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + </diagram:DSemanticDiagram> + <diagram:DSemanticDiagram xmi:id="_UiYXsbr5Eeaxv-iboWdafg" name="new SemanticBasedDecoration"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_UiYXsrr5Eeaxv-iboWdafg" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_UiYXs7r5Eeaxv-iboWdafg"/> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_UiYX2br5Eeaxv-iboWdafg" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_UiYX2rr5Eeaxv-iboWdafg" type="Sirius" element="_UiYXsbr5Eeaxv-iboWdafg" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_UiYX3Lr5Eeaxv-iboWdafg" type="2001" element="_UiYXtLr5Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_UiYX37r5Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_UiYX4Lr5Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uieecrr5Eeaxv-iboWdafg" type="3004" element="_UiYXtrr5Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_Uieec7r5Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UieedLr5Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_UiYX3br5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UiYX3rr5Eeaxv-iboWdafg" x="4" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_UiYX4br5Eeaxv-iboWdafg" type="2001" element="_UiYXt7r5Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_UieeULr5Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_UieeUbr5Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uieedbr5Eeaxv-iboWdafg" type="3004" element="_UiYXubr5Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_Uieedrr5Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Uieed7r5Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_UiYX4rr5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UiYX47r5Eeaxv-iboWdafg" x="92" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_UieeUrr5Eeaxv-iboWdafg" type="2001" element="_UiYXurr5Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_UieeVbr5Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_UieeVrr5Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_UieeeLr5Eeaxv-iboWdafg" type="3004" element="_UiYXvLr5Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_Uieeebr5Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Uieeerr5Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_UieeU7r5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UieeVLr5Eeaxv-iboWdafg" x="182" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_UieeV7r5Eeaxv-iboWdafg" type="2001" element="_UiYXvbr5Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_UieeWrr5Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_UieeW7r5Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uieee7r5Eeaxv-iboWdafg" type="3004" element="_UiYXv7r5Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_UieefLr5Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Uieefbr5Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_UieeWLr5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UieeWbr5Eeaxv-iboWdafg" x="272" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_UieeXLr5Eeaxv-iboWdafg" type="2001" element="_UiYXwLr5Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_UieeX7r5Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_UieeYLr5Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uieefrr5Eeaxv-iboWdafg" type="3004" element="_UiYXwrr5Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_Uieef7r5Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UieegLr5Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_UieeXbr5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UieeXrr5Eeaxv-iboWdafg" x="362" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_UieeYbr5Eeaxv-iboWdafg" type="2001" element="_UiYXw7r5Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_UieeZLr5Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_UieeZbr5Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uieegbr5Eeaxv-iboWdafg" type="3004" element="_UiYXxLr5Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_Uieegrr5Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Uieeg7r5Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_UieeYrr5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UieeY7r5Eeaxv-iboWdafg" x="452" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_UieeZrr5Eeaxv-iboWdafg" type="2001" element="_UiYXxbr5Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_Uieeabr5Eeaxv-iboWdafg" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_Uieearr5Eeaxv-iboWdafg" x="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_UieehLr5Eeaxv-iboWdafg" type="3004" element="_UiYXxrr5Eeaxv-iboWdafg"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_Uieehbr5Eeaxv-iboWdafg" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Uieehrr5Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_UieeZ7r5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UieeaLr5Eeaxv-iboWdafg" x="542" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uieea7r5Eeaxv-iboWdafg" type="2003" element="_UiYXx7r5Eeaxv-iboWdafg"> + <children xmi:type="notation:Node" xmi:id="_Uieebrr5Eeaxv-iboWdafg" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_Uieeb7r5Eeaxv-iboWdafg" type="7004"> + <children xmi:type="notation:Node" xmi:id="_Uieeh7r5Eeaxv-iboWdafg" type="3010" element="_UiYXybr5Eeaxv-iboWdafg"> + <styles xmi:type="notation:FontStyle" xmi:id="_UieeiLr5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_Uieeibr5Eeaxv-iboWdafg"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uikk8Lr5Eeaxv-iboWdafg" type="3010" element="_UiYXzLr5Eeaxv-iboWdafg"> + <styles xmi:type="notation:FontStyle" xmi:id="_Uikk8br5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_Uikk8rr5Eeaxv-iboWdafg"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uikk87r5Eeaxv-iboWdafg" type="3010" element="_UiYXz7r5Eeaxv-iboWdafg"> + <styles xmi:type="notation:FontStyle" xmi:id="_Uikk9Lr5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_Uikk9br5Eeaxv-iboWdafg"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uikk9rr5Eeaxv-iboWdafg" type="3010" element="_UiYX0rr5Eeaxv-iboWdafg"> + <styles xmi:type="notation:FontStyle" xmi:id="_Uikk97r5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_Uikk-Lr5Eeaxv-iboWdafg"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Uikk-br5Eeaxv-iboWdafg" type="3010" element="_UiYX1br5Eeaxv-iboWdafg"> + <styles xmi:type="notation:FontStyle" xmi:id="_Uikk-rr5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_Uikk-7r5Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_UieecLr5Eeaxv-iboWdafg"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_Uieecbr5Eeaxv-iboWdafg"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_UieebLr5Eeaxv-iboWdafg" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Uieebbr5Eeaxv-iboWdafg" x="630"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_UiYX27r5Eeaxv-iboWdafg"/> + </data> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_UiYXtLr5Eeaxv-iboWdafg" name="100m" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_Zfig0EjgEd2dA-w4B9F6fQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_Zfig0EjgEd2dA-w4B9F6fQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_UiYXtbr5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_UiYXtrr5Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbd']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbd']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_UiYXt7r5Eeaxv-iboWdafg" name="200m" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_wLR7QHg7Ed2ISLgtvgSAmQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_wLR7QHg7Ed2ISLgtvgSAmQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_UiYXuLr5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_UiYXubr5Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbd']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbd']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_UiYXurr5Eeaxv-iboWdafg" name="400m" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_XFrIwHg7Ed2ISLgtvgSAmQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_XFrIwHg7Ed2ISLgtvgSAmQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_bHC-kbr5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_UiYXvLr5Eeaxv-iboWdafg" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbd']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbd']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_UiYXvbr5Eeaxv-iboWdafg" name="110m H" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_vUwcEbGYEd2FK9pHgg2YuA"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_vUwcEbGYEd2FK9pHgg2YuA"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_UiYXvrr5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_UiYXv7r5Eeaxv-iboWdafg" color="252,233,79"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbdh']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbdh']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_UiYXwLr5Eeaxv-iboWdafg" name="400m H" width="3" height="3"> + <target xmi:type="uml:Class" href="sprint.uml#_vZnG4LGYEd2FK9pHgg2YuA"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_vZnG4LGYEd2FK9pHgg2YuA"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_UiYXwbr5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_UiYXwrr5Eeaxv-iboWdafg" color="252,233,79"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbdh']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20sbdh']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_UiYXw7r5Eeaxv-iboWdafg" name="Homme" width="3" height="3"> + <target xmi:type="uml:Interface" href="sprint.uml#_CLYKgLGeEd2tQaKZ0qu29w"/> + <semanticElements xmi:type="uml:Interface" href="sprint.uml#_CLYKgLGeEd2tQaKZ0qu29w"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_UiYXxLr5Eeaxv-iboWdafg" shape="triangle" color="246,139,139"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='interf']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='interf']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" xmi:id="_UiYXxbr5Eeaxv-iboWdafg" name="Femme" width="3" height="3"> + <target xmi:type="uml:Interface" href="sprint.uml#_I4BosLGeEd2tQaKZ0qu29w"/> + <semanticElements xmi:type="uml:Interface" href="sprint.uml#_I4BosLGeEd2tQaKZ0qu29w"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_UiYXxrr5Eeaxv-iboWdafg" shape="triangle" color="246,139,139"> + <description xmi:type="style:BundledImageDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='interf']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@nodeMappings[name='interf']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_UiYXx7r5Eeaxv-iboWdafg" name="sprint"> + <target xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + <semanticElements xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_UiYXyLr5Eeaxv-iboWdafg" borderSize="1" borderSizeComputationExpression="1"> + <description xmi:type="style:FlatContainerStyleDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_UiYXybr5Eeaxv-iboWdafg" name="100m"> + <target xmi:type="uml:Class" href="sprint.uml#_Zfig0EjgEd2dA-w4B9F6fQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_Zfig0EjgEd2dA-w4B9F6fQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_UiYXyrr5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:Square" xmi:id="_UiYXy7r5Eeaxv-iboWdafg"> + <description xmi:type="style:SquareDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_UiYXzLr5Eeaxv-iboWdafg" name="200m"> + <target xmi:type="uml:Class" href="sprint.uml#_wLR7QHg7Ed2ISLgtvgSAmQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_wLR7QHg7Ed2ISLgtvgSAmQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_UiYXzbr5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:Square" xmi:id="_UiYXzrr5Eeaxv-iboWdafg"> + <description xmi:type="style:SquareDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_UiYXz7r5Eeaxv-iboWdafg" name="400m"> + <target xmi:type="uml:Class" href="sprint.uml#_XFrIwHg7Ed2ISLgtvgSAmQ"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_XFrIwHg7Ed2ISLgtvgSAmQ"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_UiYX0Lr5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:Square" xmi:id="_UiYX0br5Eeaxv-iboWdafg"> + <description xmi:type="style:SquareDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_UiYX0rr5Eeaxv-iboWdafg" name="110m H"> + <target xmi:type="uml:Class" href="sprint.uml#_vUwcEbGYEd2FK9pHgg2YuA"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_vUwcEbGYEd2FK9pHgg2YuA"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_UiYX07r5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:Square" xmi:id="_UiYX1Lr5Eeaxv-iboWdafg"> + <description xmi:type="style:SquareDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_UiYX1br5Eeaxv-iboWdafg" name="400m H"> + <target xmi:type="uml:Class" href="sprint.uml#_vZnG4LGYEd2FK9pHgg2YuA"/> + <semanticElements xmi:type="uml:Class" href="sprint.uml#_vZnG4LGYEd2FK9pHgg2YuA"/> + <decorations xmi:type="viewpoint:Decoration" xmi:id="_UiYX1rr5Eeaxv-iboWdafg"> + <description xmi:type="description:SemanticBasedDecoration" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='SemanticBasedDecoration']"/> + </decorations> + <ownedStyle xmi:type="diagram:Square" xmi:id="_UiYX17r5Eeaxv-iboWdafg"> + <description xmi:type="style:SquareDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer/@containerMappings[name='sbdp']/@subNodeMappings[name='sbdc']"/> + </ownedElements> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_UiYX2Lr5Eeaxv-iboWdafg"/> + <activatedLayers xmi:type="description_1:Layer" href="sprint.odesign#//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='SemanticBasedDecoration']/@defaultLayer"/> + <target xmi:type="uml:Model" href="sprint.uml#_Wh_KkEjgEd2dA-w4B9F6fQ"/> + </diagram:DSemanticDiagram> +</xmi:XMI> diff --git a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/decorator/sprint.odesign b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/decorator/sprint.odesign new file mode 100644 index 0000000000..78ba52c7df --- /dev/null +++ b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/decorator/sprint.odesign @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="ASCII"?> +<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" version="11.1.1.201610211630"> + <ownedViewpoints name="Sprint with UML2 (Modeler test for decorators)" modelFileExtension="uml"> + <ownedRepresentations xsi:type="description_1:DiagramDescription" documentation="Test a simple class diagram with only a box representing a Class" name="WithoutDecorationsSet" initialisation="true" domainClass="Package" rootExpression=""> + <defaultLayer name="Sprint"> + <nodeMappings name="Class Diagram" semanticCandidatesExpression="feature:eAllContents" semanticElements="" domainClass="Class"> + <style xsi:type="style:BundledImageDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/> + </style> + </nodeMappings> + </defaultLayer> + </ownedRepresentations> + <ownedRepresentations xsi:type="description_1:DiagramDescription" documentation="Test a simple class diagram with only a box representing a Class" name="WithoutDecorationdescription" initialisation="true" domainClass="Package" rootExpression=""> + <defaultLayer name="Sprint"> + <nodeMappings name="Class Diagram" semanticCandidatesExpression="feature:eAllContents" semanticElements="" domainClass="Class"> + <style xsi:type="style:BundledImageDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/> + </style> + </nodeMappings> + <decorationDescriptionsSet/> + </defaultLayer> + </ownedRepresentations> + <ownedRepresentations xsi:type="description_1:DiagramDescription" documentation="Test a simple class diagram with only a box representing a Class" name="MappingBasedDecoration" initialisation="true" domainClass="Package" rootExpression=""> + <defaultLayer name="Sprint"> + <nodeMappings name="Class Diagram mbd" preconditionExpression="aql: not self.name.endsWith('H')" semanticCandidatesExpression="feature:eAllContents" semanticElements="" domainClass="Class"> + <style xsi:type="style:BundledImageDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/> + </style> + </nodeMappings> + <nodeMappings name="Class Diagram mbdh" preconditionExpression="aql:self.name.endsWith('H')" semanticCandidatesExpression="feature:eAllContents" semanticElements="" domainClass="Class"> + <style xsi:type="style:BundledImageDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='yellow']"/> + </style> + </nodeMappings> + <containerMappings name="mbdp" semanticCandidatesExpression="var:self" domainClass="Package" childrenPresentation="List"> + <subNodeMappings name="mbdi" semanticCandidatesExpression="feature:eAllContents" domainClass="Interface"> + <style xsi:type="style:SquareDescription" resizeKind="NSEW"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/> + </style> + </subNodeMappings> + <style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/> + <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/> + </style> + </containerMappings> + <decorationDescriptionsSet> + <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="mappingBasedDecoration" position="CENTER" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" preconditionExpression="[not(name.startsWith('false'))/]" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbd']"/> + <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="mappingBasedDecorationContainer" position="NORTH_EAST" decoratorPath="/forg.eclipse.sirius.diagram.ui/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']"/> + <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="mappingBasedDecorationListElement" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecoration']/@defaultLayer/@containerMappings[name='mbdp']/@subNodeMappings[name='mbdi']"/> + </decorationDescriptionsSet> + </defaultLayer> + </ownedRepresentations> + <ownedRepresentations xsi:type="description_1:DiagramDescription" documentation="Test a simple class diagram with only a box representing a Class" name="SemanticBasedDecoration" initialisation="true" domainClass="Package" rootExpression=""> + <defaultLayer name="Sprint"> + <nodeMappings name="Class Diagram sbd" preconditionExpression="aql: not self.name.endsWith('H')" semanticCandidatesExpression="feature:eAllContents" semanticElements="" domainClass="Class"> + <style xsi:type="style:BundledImageDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/> + </style> + </nodeMappings> + <nodeMappings name="Class Diagram sbdh" preconditionExpression="aql:self.name.endsWith('H')" semanticCandidatesExpression="feature:eAllContents" semanticElements="" domainClass="Class"> + <style xsi:type="style:BundledImageDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='yellow']"/> + </style> + </nodeMappings> + <nodeMappings name="interf" semanticCandidatesExpression="feature:eAllContents" domainClass="Interface"> + <style xsi:type="style:BundledImageDescription" shape="triangle"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_red']"/> + </style> + </nodeMappings> + <containerMappings name="sbdp" semanticCandidatesExpression="var:self" domainClass="Package" childrenPresentation="List"> + <subNodeMappings name="sbdc" semanticCandidatesExpression="feature:eAllContents" domainClass="Class"> + <style xsi:type="style:SquareDescription" resizeKind="NSEW"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/> + </style> + </subNodeMappings> + <style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/> + <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/> + </style> + </containerMappings> + <decorationDescriptionsSet> + <decorationDescriptions xsi:type="description:SemanticBasedDecoration" name="SemanticBasedDecoration" position="NORTH" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" preconditionExpression="[not(name.startsWith('false'))/]" domainClass="Class"/> + </decorationDescriptionsSet> + </defaultLayer> + </ownedRepresentations> + <ownedRepresentations xsi:type="description_1:DiagramDescription" documentation="Test a simple class diagram with only a box representing a Class" name="MappingBasedDecorationLayer" initialisation="true" domainClass="Package" rootExpression=""> + <defaultLayer name="Sprint"> + <nodeMappings name="Class Diagram mbdl" semanticCandidatesExpression="feature:eAllContents" semanticElements="" domainClass="Class"> + <style xsi:type="style:BundledImageDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/> + </style> + </nodeMappings> + </defaultLayer> + <additionalLayers name="Hurdles"> + <decorationDescriptionsSet> + <decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="MappingBasedDecorationLayer" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" mappings="//@ownedViewpoints[name='Sprint%20with%20UML2%20(Modeler%20test%20for%20decorators)']/@ownedRepresentations[name='MappingBasedDecorationLayer']/@defaultLayer/@nodeMappings[name='Class%20Diagram%20mbdl']"/> + </decorationDescriptionsSet> + </additionalLayers> + </ownedRepresentations> + <ownedRepresentations xsi:type="description_1:DiagramDescription" documentation="Test a simple class diagram with only a box representing a Class" name="SemanticBasedDecorationLayer" initialisation="true" domainClass="Package" rootExpression=""> + <defaultLayer name="Sprint"> + <nodeMappings name="Class Diagram sbd" preconditionExpression="aql: not self.name.endsWith('H')" semanticCandidatesExpression="feature:eAllContents" semanticElements="" domainClass="Class"> + <style xsi:type="style:BundledImageDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/> + </style> + </nodeMappings> + <nodeMappings name="Class Diagram sbdh" preconditionExpression="aql:self.name.endsWith('H')" semanticCandidatesExpression="feature:eAllContents" semanticElements="" domainClass="Class"> + <style xsi:type="style:BundledImageDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='yellow']"/> + </style> + </nodeMappings> + <nodeMappings name="interf2" semanticCandidatesExpression="feature:eAllContents" domainClass="Interface"> + <style xsi:type="style:BundledImageDescription" shape="triangle"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_red']"/> + </style> + </nodeMappings> + </defaultLayer> + <additionalLayers name="Hurdles"> + <decorationDescriptionsSet> + <decorationDescriptions xsi:type="description:SemanticBasedDecoration" name="SemanticBasedDecorationLayer" decoratorPath="/org.eclipse.sirius.diagram.ui/icons/layer_active.gif" domainClass="Interface"/> + </decorationDescriptionsSet> + </additionalLayers> + </ownedRepresentations> + </ownedViewpoints> +</description:Group> diff --git a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/decorator/sprint.uml b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/decorator/sprint.uml new file mode 100644 index 0000000000..eb617a3393 --- /dev/null +++ b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/decorator/sprint.uml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_Wh_KkEjgEd2dA-w4B9F6fQ" name="sprint"> + <packagedElement xmi:type="uml:Class" xmi:id="_Zfig0EjgEd2dA-w4B9F6fQ" name="100m"/> + <packagedElement xmi:type="uml:Class" xmi:id="_wLR7QHg7Ed2ISLgtvgSAmQ" name="200m"/> + <packagedElement xmi:type="uml:Class" xmi:id="_XFrIwHg7Ed2ISLgtvgSAmQ" name="400m"/> + <packagedElement xmi:type="uml:Class" xmi:id="_vUwcEbGYEd2FK9pHgg2YuA" name="110m H"/> + <packagedElement xmi:type="uml:Class" xmi:id="_vZnG4LGYEd2FK9pHgg2YuA" name="400m H"/> + <packagedElement xmi:type="uml:Interface" xmi:id="_CLYKgLGeEd2tQaKZ0qu29w" name="Homme"/> + <packagedElement xmi:type="uml:Interface" xmi:id="_I4BosLGeEd2tQaKZ0qu29w" name="Femme"/> +</uml:Model> diff --git a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/DecoratorTest.java b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/DecoratorTest.java new file mode 100644 index 0000000000..d6e614f052 --- /dev/null +++ b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/DecoratorTest.java @@ -0,0 +1,149 @@ +/******************************************************************************* + * Copyright (c) 2016 THALES GLOBAL SERVICES and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.sirius.tests.swtbot; + +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.gmf.runtime.notation.Node; +import org.eclipse.sirius.business.api.preferences.SiriusPreferencesKeys; +import org.eclipse.sirius.diagram.DDiagram; +import org.eclipse.sirius.diagram.DNode; +import org.eclipse.sirius.diagram.ui.internal.edit.parts.DNodeEditPart; +import org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase; +import org.eclipse.sirius.tests.swtbot.support.api.business.UIResource; +import org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor; +import org.eclipse.sirius.tests.swtbot.support.utils.SWTBotUtils; +import org.junit.Assert; + +/** + * Tests dedicated to decorators provided by the VSM. + * + * @author <a href="mailto:steve.monnier@obeo.fr">Steve Monnier</a> + */ +public class DecoratorTest extends AbstractSiriusSwtBotGefTestCase { + + private static final String MAPPING_BASED_DECORATOR_REPRESENTATION_DESCRIPTION_NAME = "MappingBasedDecoration"; + + private static final String MAPPING_BASED_DECORATOR_REPRESENTATION_NAME = "new MappingBasedDecoration"; + + private static final String SEMANTIC_BASED_DECORATOR_REPRESENTATION_DESCRIPTION_NAME = "MappingBasedDecoration"; + + private static final String SEMANTIC_BASED_DECORATOR_REPRESENTATION_NAME = "new MappingBasedDecoration"; + + private static final String AIRD = "representations.aird"; + + private static final String PATH = "/data/unit/decorator/"; + + private static final String ODESIGN = "sprint.odesign"; + + private static final String SEMANTIC = "sprint.uml"; + + private static final String FILE_DIR = "/"; + + @Override + protected void onSetUpBeforeClosingWelcomePage() throws Exception { + copyFileToTestProject(Activator.PLUGIN_ID, PATH, SEMANTIC, AIRD, ODESIGN); + } + + @Override + protected void onSetUpAfterOpeningDesignerPerspective() throws Exception { + sessionAirdResource = new UIResource(designerProject, FILE_DIR, AIRD); + + localSession = designerPerspective.openSessionFromFile(sessionAirdResource); + SWTBotUtils.waitAllUiEvents(); + } + + /** + * Test that a mapping based decorator with a precondition disappears and + * reappears correctly when its precondition gets false and then true. + */ + public void testMappingBasedDecoratorManualRefresh() { + changeSiriusPreference(SiriusPreferencesKeys.PREF_AUTO_REFRESH.name(), false); + editor = (SWTBotSiriusDiagramEditor) openRepresentation(localSession.getOpenedSession(), MAPPING_BASED_DECORATOR_REPRESENTATION_DESCRIPTION_NAME, MAPPING_BASED_DECORATOR_REPRESENTATION_NAME, + DDiagram.class, false); + doTestDecorator(); + } + + /** + * Test that a semantic based decorator with a precondition disappears and + * reappears correctly when its precondition gets false and then true. + */ + public void testSemanticBasedDecoratorAutoRefresh() { + changeSiriusPreference(SiriusPreferencesKeys.PREF_AUTO_REFRESH.name(), true); + editor = (SWTBotSiriusDiagramEditor) openRepresentation(localSession.getOpenedSession(), SEMANTIC_BASED_DECORATOR_REPRESENTATION_DESCRIPTION_NAME, SEMANTIC_BASED_DECORATOR_REPRESENTATION_NAME, + DDiagram.class, false); + doTestDecorator(); + } + + /** + * Test that a mapping based decorator with a precondition disappears and + * reappears correctly when its precondition gets false and then true. + */ + public void testMappingBasedDecoratorAutoRefresh() { + changeSiriusPreference(SiriusPreferencesKeys.PREF_AUTO_REFRESH.name(), true); + editor = (SWTBotSiriusDiagramEditor) openRepresentation(localSession.getOpenedSession(), MAPPING_BASED_DECORATOR_REPRESENTATION_DESCRIPTION_NAME, MAPPING_BASED_DECORATOR_REPRESENTATION_NAME, + DDiagram.class, false); + doTestDecorator(); + } + + /** + * Test that a semantic based decorator with a precondition disappears and + * reappears correctly when its precondition gets false and then true. + */ + public void testSemanticBasedDecoratorManualRefresh() { + changeSiriusPreference(SiriusPreferencesKeys.PREF_AUTO_REFRESH.name(), false); + editor = (SWTBotSiriusDiagramEditor) openRepresentation(localSession.getOpenedSession(), SEMANTIC_BASED_DECORATOR_REPRESENTATION_DESCRIPTION_NAME, SEMANTIC_BASED_DECORATOR_REPRESENTATION_NAME, + DDiagram.class, false); + doTestDecorator(); + } + + /** + * Test that a decorator with a precondition disappears and reappears + * correctly when its precondition gets false and then true. + */ + private void doTestDecorator() { + DNode dNode = (DNode) ((Node) editor.getEditPart("400m", DNodeEditPart.class).part().getModel()).getElement(); + Assert.assertEquals("Unexpected number of decoration", 1, dNode.getDecorations().size()); + TransactionalEditingDomain transactionalEditingDomain = localSession.getOpenedSession().getTransactionalEditingDomain(); + // Rename an element displayed with a decorator to a value making the + // decorator precondition wrong + if (dNode.getTarget() instanceof org.eclipse.uml2.uml.Class) { + final org.eclipse.uml2.uml.Class umlClass = (org.eclipse.uml2.uml.Class) dNode.getTarget(); + transactionalEditingDomain.getCommandStack().execute(new RecordingCommand(transactionalEditingDomain) { + @Override + protected void doExecute() { + umlClass.setName("false_" + umlClass.getName()); + } + }); + } + Assert.assertEquals("Unexpected number of decoration", 0, dNode.getDecorations().size()); + + // Rename an element displayed with a decorator to a value making the + // decorator precondition true + if (dNode.getTarget() instanceof org.eclipse.uml2.uml.Class) { + final org.eclipse.uml2.uml.Class umlClass = (org.eclipse.uml2.uml.Class) dNode.getTarget(); + transactionalEditingDomain.getCommandStack().execute(new RecordingCommand(transactionalEditingDomain) { + @Override + protected void doExecute() { + umlClass.setName(umlClass.getName().replaceFirst("false_", "")); + } + }); + } + Assert.assertEquals("Unexpected number of decoration", 1, dNode.getDecorations().size()); + } + + @Override + protected void tearDown() throws Exception { + editor.close(); + editor = null; + super.tearDown(); + } +} diff --git a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java index 712cc571c1..8b7ca3c9d7 100644 --- a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java +++ b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java @@ -414,6 +414,7 @@ public class AllTestSuite extends TestCase { suite.addTestSuite(ValidationEmptyNameTest.class); suite.addTestSuite(ControlUncontrolWithOpenedRepresentationTest.class); suite.addTestSuite(SiriusInternationalizationTest.class); + suite.addTestSuite(DecoratorTest.class); } /** |
