Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Porhel2015-06-12 12:44:46 +0000
committerMaxime Porhel2015-06-16 07:21:18 +0000
commit87e3ed66c60d4d30cad4e88567a0f19cf4099fd1 (patch)
tree8dccfa6a4fec97da3b9a3bb7900f359aee46d6b2
parentd785f7cfa96e16b46f1aaea6c6e2723abdf534e6 (diff)
downloadorg.eclipse.sirius-87e3ed66c60d4d30cad4e88567a0f19cf4099fd1.tar.gz
org.eclipse.sirius-87e3ed66c60d4d30cad4e88567a0f19cf4099fd1.tar.xz
org.eclipse.sirius-87e3ed66c60d4d30cad4e88567a0f19cf4099fd1.zip
[470083] Test
Bug: 470083 Change-Id: I07a9d43d2e154bc0f4697ee288119722bfe440a9 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/main.aird73
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/main.ecore6
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/rmain.aird73
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/fragment.aird19
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/fragment.ecore3
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/main.aird75
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/main.ecore6
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/rmain.aird75
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/suite/diagram/AllDiagramPluginsTests.java12
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/control/ExternalControlTests.java159
10 files changed, 496 insertions, 5 deletions
diff --git a/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/main.aird b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/main.aird
new file mode 100644
index 0000000000..7c212f1814
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/main.aird
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<viewpoint:DAnalysis 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:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" 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" xmi:id="_naM4MBA8EeWKW7kWidfmTg" selectedViews="_qirsEBA8EeWKW7kWidfmTg" version="8.1.1">
+ <models xmi:type="ecore:EPackage" href="main.ecore#/"/>
+ <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_qirsEBA8EeWKW7kWidfmTg" initialized="true">
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_qzDqYBA8EeWKW7kWidfmTg" name="test package entities">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_qzmc8BA8EeWKW7kWidfmTg" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_qzmc8RA8EeWKW7kWidfmTg" type="Sirius" element="_qzDqYBA8EeWKW7kWidfmTg" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_q0DI4BA8EeWKW7kWidfmTg" type="2002" element="_qzDqYRA8EeWKW7kWidfmTg">
+ <children xmi:type="notation:Node" xmi:id="_q0qM4BA8EeWKW7kWidfmTg" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_q0spIBA8EeWKW7kWidfmTg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q0spIRA8EeWKW7kWidfmTg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q0spIhA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_q0DI4RA8EeWKW7kWidfmTg" fontName=".Helvetica Neue DeskInterface" fontHeight="10"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q0DI4hA8EeWKW7kWidfmTg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_q00k8BA8EeWKW7kWidfmTg" type="2003" element="_qzDqZxA8EeWKW7kWidfmTg">
+ <children xmi:type="notation:Node" xmi:id="_q02aIBA8EeWKW7kWidfmTg" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_q03oQBA8EeWKW7kWidfmTg" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q03oQRA8EeWKW7kWidfmTg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q03oQhA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_q00k8RA8EeWKW7kWidfmTg" fontName=".Helvetica Neue DeskInterface" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q00k8hA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qzmc8hA8EeWKW7kWidfmTg"/>
+ </data>
+ </ownedAnnotationEntries>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_qzDqYRA8EeWKW7kWidfmTg" name="subpkg">
+ <target xmi:type="ecore:EPackage" href="main.ecore#//subpkg"/>
+ <semanticElements xmi:type="ecore:EPackage" href="main.ecore#//subpkg"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_qzDqYhA8EeWKW7kWidfmTg" labelSize="10" backgroundStyle="GradientTopToBottom">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqYxA8EeWKW7kWidfmTg"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Design%20Package']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZBA8EeWKW7kWidfmTg"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZRA8EeWKW7kWidfmTg" red="255" green="245" blue="181"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZhA8EeWKW7kWidfmTg" red="255" green="255" blue="255"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Design%20Package']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_qzDqZxA8EeWKW7kWidfmTg" name="NewEClass1" tooltipText="test.NewEClass1">
+ <target xmi:type="ecore:EClass" href="main.ecore#//NewEClass1"/>
+ <semanticElements xmi:type="ecore:EClass" href="main.ecore#//NewEClass1"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_qzERcBA8EeWKW7kWidfmTg" backgroundStyle="GradientTopToBottom">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERcRA8EeWKW7kWidfmTg"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERchA8EeWKW7kWidfmTg"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERcxA8EeWKW7kWidfmTg" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERdBA8EeWKW7kWidfmTg" red="209" green="209" blue="209"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ </ownedDiagramElements>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_qzERdRA8EeWKW7kWidfmTg"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <target xmi:type="ecore:EPackage" href="main.ecore#/"/>
+ </ownedRepresentations>
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_q1ZMsBA8EeWKW7kWidfmTg" name="subpkg package entities">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_q1ZzwBA8EeWKW7kWidfmTg" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_q1ZzwRA8EeWKW7kWidfmTg" type="Sirius" element="_q1ZMsBA8EeWKW7kWidfmTg" measurementUnit="Pixel">
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_q1ZzwhA8EeWKW7kWidfmTg"/>
+ </data>
+ </ownedAnnotationEntries>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_q1ZMsRA8EeWKW7kWidfmTg"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <target xmi:type="ecore:EPackage" href="main.ecore#//subpkg"/>
+ </ownedRepresentations>
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
+ </ownedViews>
+</viewpoint:DAnalysis>
diff --git a/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/main.ecore b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/main.ecore
new file mode 100644
index 0000000000..f11e8c73c6
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/main.ecore
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="test">
+ <eClassifiers xsi:type="ecore:EClass" name="NewEClass1"/>
+ <eSubpackages name="subpkg"/>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/rmain.aird b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/rmain.aird
new file mode 100644
index 0000000000..7c212f1814
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/base/rmain.aird
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<viewpoint:DAnalysis 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:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" 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" xmi:id="_naM4MBA8EeWKW7kWidfmTg" selectedViews="_qirsEBA8EeWKW7kWidfmTg" version="8.1.1">
+ <models xmi:type="ecore:EPackage" href="main.ecore#/"/>
+ <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_qirsEBA8EeWKW7kWidfmTg" initialized="true">
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_qzDqYBA8EeWKW7kWidfmTg" name="test package entities">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_qzmc8BA8EeWKW7kWidfmTg" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_qzmc8RA8EeWKW7kWidfmTg" type="Sirius" element="_qzDqYBA8EeWKW7kWidfmTg" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_q0DI4BA8EeWKW7kWidfmTg" type="2002" element="_qzDqYRA8EeWKW7kWidfmTg">
+ <children xmi:type="notation:Node" xmi:id="_q0qM4BA8EeWKW7kWidfmTg" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_q0spIBA8EeWKW7kWidfmTg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q0spIRA8EeWKW7kWidfmTg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q0spIhA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_q0DI4RA8EeWKW7kWidfmTg" fontName=".Helvetica Neue DeskInterface" fontHeight="10"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q0DI4hA8EeWKW7kWidfmTg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_q00k8BA8EeWKW7kWidfmTg" type="2003" element="_qzDqZxA8EeWKW7kWidfmTg">
+ <children xmi:type="notation:Node" xmi:id="_q02aIBA8EeWKW7kWidfmTg" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_q03oQBA8EeWKW7kWidfmTg" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q03oQRA8EeWKW7kWidfmTg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q03oQhA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_q00k8RA8EeWKW7kWidfmTg" fontName=".Helvetica Neue DeskInterface" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q00k8hA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qzmc8hA8EeWKW7kWidfmTg"/>
+ </data>
+ </ownedAnnotationEntries>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_qzDqYRA8EeWKW7kWidfmTg" name="subpkg">
+ <target xmi:type="ecore:EPackage" href="main.ecore#//subpkg"/>
+ <semanticElements xmi:type="ecore:EPackage" href="main.ecore#//subpkg"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_qzDqYhA8EeWKW7kWidfmTg" labelSize="10" backgroundStyle="GradientTopToBottom">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqYxA8EeWKW7kWidfmTg"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Design%20Package']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZBA8EeWKW7kWidfmTg"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZRA8EeWKW7kWidfmTg" red="255" green="245" blue="181"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZhA8EeWKW7kWidfmTg" red="255" green="255" blue="255"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Design%20Package']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_qzDqZxA8EeWKW7kWidfmTg" name="NewEClass1" tooltipText="test.NewEClass1">
+ <target xmi:type="ecore:EClass" href="main.ecore#//NewEClass1"/>
+ <semanticElements xmi:type="ecore:EClass" href="main.ecore#//NewEClass1"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_qzERcBA8EeWKW7kWidfmTg" backgroundStyle="GradientTopToBottom">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERcRA8EeWKW7kWidfmTg"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERchA8EeWKW7kWidfmTg"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERcxA8EeWKW7kWidfmTg" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERdBA8EeWKW7kWidfmTg" red="209" green="209" blue="209"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ </ownedDiagramElements>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_qzERdRA8EeWKW7kWidfmTg"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <target xmi:type="ecore:EPackage" href="main.ecore#/"/>
+ </ownedRepresentations>
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_q1ZMsBA8EeWKW7kWidfmTg" name="subpkg package entities">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_q1ZzwBA8EeWKW7kWidfmTg" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_q1ZzwRA8EeWKW7kWidfmTg" type="Sirius" element="_q1ZMsBA8EeWKW7kWidfmTg" measurementUnit="Pixel">
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_q1ZzwhA8EeWKW7kWidfmTg"/>
+ </data>
+ </ownedAnnotationEntries>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_q1ZMsRA8EeWKW7kWidfmTg"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <target xmi:type="ecore:EPackage" href="main.ecore#//subpkg"/>
+ </ownedRepresentations>
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
+ </ownedViews>
+</viewpoint:DAnalysis>
diff --git a/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/fragment.aird b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/fragment.aird
new file mode 100644
index 0000000000..3183d2c701
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/fragment.aird
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<viewpoint:DAnalysis 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:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" 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" xmi:id="_FgyRQBA9EeWKW7kWidfmTg" selectedViews="_FhD-EBA9EeWKW7kWidfmTg" version="8.1.1">
+ <models xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_FhD-EBA9EeWKW7kWidfmTg" initialized="true">
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_IYOYcBA9EeWKW7kWidfmTg" name="diagram in fragment">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_IYPmkBA9EeWKW7kWidfmTg" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_IYPmkRA9EeWKW7kWidfmTg" type="Sirius" element="_IYOYcBA9EeWKW7kWidfmTg" measurementUnit="Pixel">
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_IYPmkhA9EeWKW7kWidfmTg"/>
+ </data>
+ </ownedAnnotationEntries>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_IYO_gBA9EeWKW7kWidfmTg"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <target xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ </ownedRepresentations>
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
+ </ownedViews>
+</viewpoint:DAnalysis>
diff --git a/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/fragment.ecore b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/fragment.ecore
new file mode 100644
index 0000000000..aa18ba0f76
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/fragment.ecore
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ name="subpkg"/>
diff --git a/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/main.aird b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/main.aird
new file mode 100644
index 0000000000..a8296d2bde
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/main.aird
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<viewpoint:DAnalysis 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:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" 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" xmi:id="_naM4MBA8EeWKW7kWidfmTg" selectedViews="_qirsEBA8EeWKW7kWidfmTg" version="8.1.1">
+ <referencedAnalysis xmi:type="viewpoint:DAnalysis" href="fragment.aird#_FgyRQBA9EeWKW7kWidfmTg"/>
+ <models xmi:type="ecore:EPackage" href="main.ecore#/"/>
+ <models xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_qirsEBA8EeWKW7kWidfmTg" initialized="true">
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_qzDqYBA8EeWKW7kWidfmTg" name="test package entities">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_qzmc8BA8EeWKW7kWidfmTg" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_qzmc8RA8EeWKW7kWidfmTg" type="Sirius" element="_qzDqYBA8EeWKW7kWidfmTg" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_q0DI4BA8EeWKW7kWidfmTg" type="2002" element="_qzDqYRA8EeWKW7kWidfmTg">
+ <children xmi:type="notation:Node" xmi:id="_q0qM4BA8EeWKW7kWidfmTg" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_q0spIBA8EeWKW7kWidfmTg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q0spIRA8EeWKW7kWidfmTg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q0spIhA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_q0DI4RA8EeWKW7kWidfmTg" fontName=".Helvetica Neue DeskInterface" fontHeight="10"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q0DI4hA8EeWKW7kWidfmTg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_q00k8BA8EeWKW7kWidfmTg" type="2003" element="_qzDqZxA8EeWKW7kWidfmTg">
+ <children xmi:type="notation:Node" xmi:id="_q02aIBA8EeWKW7kWidfmTg" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_q03oQBA8EeWKW7kWidfmTg" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q03oQRA8EeWKW7kWidfmTg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q03oQhA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_q00k8RA8EeWKW7kWidfmTg" fontName=".Helvetica Neue DeskInterface" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q00k8hA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qzmc8hA8EeWKW7kWidfmTg"/>
+ </data>
+ </ownedAnnotationEntries>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_qzDqYRA8EeWKW7kWidfmTg" name="subpkg">
+ <target xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ <semanticElements xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_qzDqYhA8EeWKW7kWidfmTg" labelSize="10" backgroundStyle="GradientTopToBottom">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqYxA8EeWKW7kWidfmTg"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Design%20Package']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZBA8EeWKW7kWidfmTg"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZRA8EeWKW7kWidfmTg" red="255" green="245" blue="181"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZhA8EeWKW7kWidfmTg" red="255" green="255" blue="255"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Design%20Package']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_qzDqZxA8EeWKW7kWidfmTg" name="NewEClass1" tooltipText="test.NewEClass1">
+ <target xmi:type="ecore:EClass" href="main.ecore#//NewEClass1"/>
+ <semanticElements xmi:type="ecore:EClass" href="main.ecore#//NewEClass1"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_qzERcBA8EeWKW7kWidfmTg" backgroundStyle="GradientTopToBottom">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERcRA8EeWKW7kWidfmTg"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERchA8EeWKW7kWidfmTg"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERcxA8EeWKW7kWidfmTg" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERdBA8EeWKW7kWidfmTg" red="209" green="209" blue="209"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ </ownedDiagramElements>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_qzERdRA8EeWKW7kWidfmTg"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <target xmi:type="ecore:EPackage" href="main.ecore#/"/>
+ </ownedRepresentations>
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_q1ZMsBA8EeWKW7kWidfmTg" name="subpkg package entities">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_q1ZzwBA8EeWKW7kWidfmTg" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_q1ZzwRA8EeWKW7kWidfmTg" type="Sirius" element="_q1ZMsBA8EeWKW7kWidfmTg" measurementUnit="Pixel">
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_q1ZzwhA8EeWKW7kWidfmTg"/>
+ </data>
+ </ownedAnnotationEntries>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_q1ZMsRA8EeWKW7kWidfmTg"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <target xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ </ownedRepresentations>
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
+ </ownedViews>
+</viewpoint:DAnalysis>
diff --git a/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/main.ecore b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/main.ecore
new file mode 100644
index 0000000000..ef1bccef14
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/main.ecore
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="test">
+ <eClassifiers xsi:type="ecore:EClass" name="NewEClass1"/>
+ <eSubpackages href="fragment.ecore#/"/>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/rmain.aird b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/rmain.aird
new file mode 100644
index 0000000000..a8296d2bde
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.junit/data/unit/control/external/controlled/rmain.aird
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<viewpoint:DAnalysis 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:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" 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" xmi:id="_naM4MBA8EeWKW7kWidfmTg" selectedViews="_qirsEBA8EeWKW7kWidfmTg" version="8.1.1">
+ <referencedAnalysis xmi:type="viewpoint:DAnalysis" href="fragment.aird#_FgyRQBA9EeWKW7kWidfmTg"/>
+ <models xmi:type="ecore:EPackage" href="main.ecore#/"/>
+ <models xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_qirsEBA8EeWKW7kWidfmTg" initialized="true">
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_qzDqYBA8EeWKW7kWidfmTg" name="test package entities">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_qzmc8BA8EeWKW7kWidfmTg" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_qzmc8RA8EeWKW7kWidfmTg" type="Sirius" element="_qzDqYBA8EeWKW7kWidfmTg" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_q0DI4BA8EeWKW7kWidfmTg" type="2002" element="_qzDqYRA8EeWKW7kWidfmTg">
+ <children xmi:type="notation:Node" xmi:id="_q0qM4BA8EeWKW7kWidfmTg" type="5006"/>
+ <children xmi:type="notation:Node" xmi:id="_q0spIBA8EeWKW7kWidfmTg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q0spIRA8EeWKW7kWidfmTg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q0spIhA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_q0DI4RA8EeWKW7kWidfmTg" fontName=".Helvetica Neue DeskInterface" fontHeight="10"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q0DI4hA8EeWKW7kWidfmTg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_q00k8BA8EeWKW7kWidfmTg" type="2003" element="_qzDqZxA8EeWKW7kWidfmTg">
+ <children xmi:type="notation:Node" xmi:id="_q02aIBA8EeWKW7kWidfmTg" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_q03oQBA8EeWKW7kWidfmTg" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q03oQRA8EeWKW7kWidfmTg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q03oQhA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_q00k8RA8EeWKW7kWidfmTg" fontName=".Helvetica Neue DeskInterface" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q00k8hA8EeWKW7kWidfmTg"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qzmc8hA8EeWKW7kWidfmTg"/>
+ </data>
+ </ownedAnnotationEntries>
+ <ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_qzDqYRA8EeWKW7kWidfmTg" name="subpkg">
+ <target xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ <semanticElements xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_qzDqYhA8EeWKW7kWidfmTg" labelSize="10" backgroundStyle="GradientTopToBottom">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqYxA8EeWKW7kWidfmTg"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Design%20Package']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZBA8EeWKW7kWidfmTg"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZRA8EeWKW7kWidfmTg" red="255" green="245" blue="181"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzDqZhA8EeWKW7kWidfmTg" red="255" green="255" blue="255"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Design%20Package']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_qzDqZxA8EeWKW7kWidfmTg" name="NewEClass1" tooltipText="test.NewEClass1">
+ <target xmi:type="ecore:EClass" href="main.ecore#//NewEClass1"/>
+ <semanticElements xmi:type="ecore:EClass" href="main.ecore#//NewEClass1"/>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_qzERcBA8EeWKW7kWidfmTg" backgroundStyle="GradientTopToBottom">
+ <labelColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERcRA8EeWKW7kWidfmTg"/>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ <borderColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERchA8EeWKW7kWidfmTg"/>
+ <backgroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERcxA8EeWKW7kWidfmTg" red="255" green="255" blue="255"/>
+ <foregroundColor xmi:type="viewpoint:RGBValues" xmi:id="_qzERdBA8EeWKW7kWidfmTg" red="209" green="209" blue="209"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ </ownedDiagramElements>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_qzERdRA8EeWKW7kWidfmTg"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <target xmi:type="ecore:EPackage" href="main.ecore#/"/>
+ </ownedRepresentations>
+ <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_q1ZMsBA8EeWKW7kWidfmTg" name="subpkg package entities">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_q1ZzwBA8EeWKW7kWidfmTg" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_q1ZzwRA8EeWKW7kWidfmTg" type="Sirius" element="_q1ZMsBA8EeWKW7kWidfmTg" measurementUnit="Pixel">
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_q1ZzwhA8EeWKW7kWidfmTg"/>
+ </data>
+ </ownedAnnotationEntries>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_q1ZMsRA8EeWKW7kWidfmTg"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <target xmi:type="ecore:EPackage" href="fragment.ecore#/"/>
+ </ownedRepresentations>
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.sirius.sample.ecore.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
+ </ownedViews>
+</viewpoint:DAnalysis>
diff --git a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/suite/diagram/AllDiagramPluginsTests.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/suite/diagram/AllDiagramPluginsTests.java
index c79cc5ed2b..453e00ebec 100644
--- a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/suite/diagram/AllDiagramPluginsTests.java
+++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/suite/diagram/AllDiagramPluginsTests.java
@@ -10,6 +10,11 @@
*******************************************************************************/
package org.eclipse.sirius.tests.suite.diagram;
+import junit.framework.JUnit4TestAdapter;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
import org.eclipse.core.runtime.Platform;
import org.eclipse.sirius.tests.suite.diagram.sequence.AllSequenceDiagramsPluginTests;
import org.eclipse.sirius.tests.support.api.TestsUtil;
@@ -90,6 +95,7 @@ import org.eclipse.sirius.tests.unit.diagram.command.DeleteViewCommandTest;
import org.eclipse.sirius.tests.unit.diagram.compute.variable.ComputeAvailableVariableLabelTest;
import org.eclipse.sirius.tests.unit.diagram.control.ControlDetectorTest;
import org.eclipse.sirius.tests.unit.diagram.control.ControlTest;
+import org.eclipse.sirius.tests.unit.diagram.control.ExternalControlTests;
import org.eclipse.sirius.tests.unit.diagram.control.HierarchicalControlTest;
import org.eclipse.sirius.tests.unit.diagram.control.HierarchicalControlWithRootElementReadOnlyTest;
import org.eclipse.sirius.tests.unit.diagram.copier.RepresentationCopierTest;
@@ -225,11 +231,6 @@ import org.eclipse.sirius.tests.unit.diagram.vsm.VSMVariableTypesValidationTest;
import org.eclipse.sirius.tests.unit.diagram.vsm.VSMWithCustomizationValidationTests;
import org.eclipse.sirius.tests.unit.perf.diagram.refresh.connections.DCompartmentConnectionRefreshMgrTest;
-import junit.framework.JUnit4TestAdapter;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-
public class AllDiagramPluginsTests {
/**
@@ -329,6 +330,7 @@ public class AllDiagramPluginsTests {
suite.addTestSuite(DeleteFromDiagramActionTests.class);
suite.addTestSuite(ControlTest.class);
suite.addTestSuite(ControlDetectorTest.class);
+ suite.addTestSuite(ExternalControlTests.class);
suite.addTestSuite(EntitiesDiagramHideRevealTests.class);
suite.addTestSuite(LabelHideRevealTests.class);
suite.addTestSuite(DiagramElementSelectionDialogTest.class);
diff --git a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/control/ExternalControlTests.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/control/ExternalControlTests.java
new file mode 100644
index 0000000000..559f7cacc5
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/control/ExternalControlTests.java
@@ -0,0 +1,159 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.tests.unit.diagram.control;
+
+import java.io.File;
+import java.text.Collator;
+import java.util.Collections;
+
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.sirius.business.api.dialect.DialectManager;
+import org.eclipse.sirius.business.api.session.SessionStatus;
+import org.eclipse.sirius.business.internal.session.danalysis.DAnalysisSessionImpl;
+import org.eclipse.sirius.common.tools.internal.resource.ResourceSyncClientNotifier;
+import org.eclipse.sirius.tests.SiriusTestsPlugin;
+import org.eclipse.sirius.tests.support.api.ICondition;
+import org.eclipse.sirius.tests.support.api.SiriusDiagramTestCase;
+import org.eclipse.sirius.tests.support.api.TestsUtil;
+import org.eclipse.ui.ide.undo.CopyResourcesOperation;
+
+/**
+ * Tests behaviors when model (semantic and session) is controlled outside the
+ * current Eclipse.
+ *
+ * @author mporhel
+ */
+public class ExternalControlTests extends SiriusDiagramTestCase {
+
+ private static final String PATH = "/data/unit/control/external/";
+
+ private static final String BASE = "base/";
+
+ private static final String CONTROLLED = "controlled/";
+
+ private static final String MAIN_SEMANTIC_MODEL_FILENAME = "main.ecore";
+
+ private static final String MAIN_SESSION_MODEL_FILENAME = "main.aird";
+
+ private static final String MAIN_SESSION_MODEL_FILENAME_2 = "rmain.aird";
+
+ private static final String FRAGMENT_SEMANTIC_MODEL_FILENAME = "fragment.ecore";
+
+ private static final String FRAGMENT_SESSION_MODEL_FILENAME = "fragment.aird";
+
+ private boolean autoBuild;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ autoBuild = ResourcesPlugin.getPlugin().getPluginPreferences().getBoolean(ResourcesPlugin.PREF_AUTO_BUILDING);
+
+ ResourcesPlugin.getPlugin().getPluginPreferences().setValue(ResourcesPlugin.PREF_AUTO_BUILDING, false);
+ copyFilesToTestProject(SiriusTestsPlugin.PLUGIN_ID, PATH + BASE, MAIN_SEMANTIC_MODEL_FILENAME, MAIN_SESSION_MODEL_FILENAME, MAIN_SESSION_MODEL_FILENAME_2);
+ copyFiles(SiriusTestsPlugin.PLUGIN_ID, PATH + CONTROLLED, TEMPORARY_PROJECT_NAME + File.separator + CONTROLLED, FRAGMENT_SEMANTIC_MODEL_FILENAME, FRAGMENT_SESSION_MODEL_FILENAME,
+ MAIN_SEMANTIC_MODEL_FILENAME, MAIN_SESSION_MODEL_FILENAME, MAIN_SESSION_MODEL_FILENAME_2);
+
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ ResourcesPlugin.getPlugin().getPluginPreferences().setValue(ResourcesPlugin.PREF_AUTO_BUILDING, autoBuild);
+ super.tearDown();
+ }
+
+ /**
+ * This test check that the reload is properly done when a representations
+ * file is modified outside the session when the session file is located
+ * after the semantic file. After an external control followed by a
+ * representation creation in the referenced aird, the new representation
+ * should be displayed in the model explorer view and the adapters must be
+ * added on the new referenced analysis.
+ *
+ * @throws Exception
+ * Test error.
+ */
+ public void testReloadAfterExternalControlAndNewRepresentationCreation() throws Exception {
+ String sessionFileName = MAIN_SESSION_MODEL_FILENAME_2;
+ String semanticFileName = MAIN_SEMANTIC_MODEL_FILENAME;
+ assertTrue("Session file name should be after the semantic model in the project children list.", Collator.getInstance().compare(sessionFileName, semanticFileName) > 0);
+
+ doTestReloadAfterExternalControlAndNewRepresentationCreation(sessionFileName, semanticFileName);
+ }
+
+ /**
+ * This test check that the reload is properly done when a representations
+ * file is modified outside the session when the session file is located
+ * after the semantic file. After an external control followed by a
+ * representation creation in the referenced aird, the new representation
+ * should be displayed in the model explorer view and the adapters must be
+ * added on the new referenced analysis.
+ *
+ * @throws Exception
+ * Test error.
+ */
+ public void testReloadAfterExternalControlAndNewRepresentationCreation2() throws Exception {
+ String sessionFileName = MAIN_SESSION_MODEL_FILENAME;
+ String semanticFileName = MAIN_SEMANTIC_MODEL_FILENAME;
+ assertTrue("Session file name should be before the semantic model in the project children list.", Collator.getInstance().compare(sessionFileName, semanticFileName) < 0);
+ doTestReloadAfterExternalControlAndNewRepresentationCreation(sessionFileName, semanticFileName);
+ }
+
+ private void doTestReloadAfterExternalControlAndNewRepresentationCreation(String sessionFileName, String semanticFileName) throws Exception, CoreException, InterruptedException {
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+ root.refreshLocal(IResource.DEPTH_INFINITE, null);
+ genericSetUp(Collections.singletonList(TEMPORARY_PROJECT_NAME + "/" + semanticFileName), Collections.<String> emptyList(), TEMPORARY_PROJECT_NAME + "/" + sessionFileName);
+
+ assertEquals("The session should not be dirty before the external modification.", SessionStatus.SYNC, session.getStatus());
+ assertEquals("The session should contains 2 representations before the external modification.", 2, DialectManager.INSTANCE.getAllRepresentations(session).size());
+ assertEquals("There should be only 1 session resource before the external modification.", 1, ((DAnalysisSessionImpl) session).getAllSessionResources().size());
+ assertEquals("There should be only 1 semantic resource before the external modification.", 1, session.getSemanticResources().size());
+ assertEquals("There should not be any controlled resource before the external modification.", 0, ((DAnalysisSessionImpl) session).getControlledResources().size());
+
+ final DAnalysisSessionImpl analysisSession = (DAnalysisSessionImpl) session;
+ ICondition done = new ICondition() {
+
+ @Override
+ public boolean test() throws Exception {
+ return 2 == analysisSession.allAnalyses().size();
+ }
+
+ @Override
+ public String getFailureMessage() {
+ return "We should get 2 session resources after the copy";
+ }
+ };
+
+ // Replace files per externally modified files and refresh once ater the
+ // copy.
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(TEMPORARY_PROJECT_NAME);
+ IFolder folder = project.getFolder(CONTROLLED);
+ CopyResourcesOperation copy = new CopyResourcesOperation(folder.members(), project.getFullPath(), "copy");
+ copy.execute(new NullProgressMonitor(), null);
+ Job.getJobManager().join(ResourceSyncClientNotifier.FAMILY, new NullProgressMonitor());
+ TestsUtil.waitUntil(done);
+
+ assertEquals("The session should not be dirty after external modification.", SessionStatus.SYNC, session.getStatus());
+ assertEquals("The session should contains 3 representations after the external modification, check the adapters on the session resources", 3,
+ DialectManager.INSTANCE.getAllRepresentations(session).size());
+ assertEquals("There should be 2 session files after the external modifications", 2, ((DAnalysisSessionImpl) session).getAllSessionResources().size());
+ assertEquals("There should be 1 session resource after the external modification, the second semantic resource is a fragment, check the controlled resources detection.", 1, session
+ .getSemanticResources().size());
+ assertEquals("There should be 1 controlled resource after the external modification, check the controlled resources detection.", 1, ((DAnalysisSessionImpl) session).getControlledResources()
+ .size());
+ }
+}

Back to the top