Bug 578826: [Sirius][ClassDiagram] Papyrus must provide JUnit tests for the Graphical Drop tools
- commplete some SemanticDropMapping
- contribute JUnit Tests for Semantic Drops of Top Nodes
- group all top nodes tests in the same java class and delete the concerned test classes
- start to develop an API for SubNode JUnit Tests
Signed-off-by: Vincent Lorenzo <vincent.lorenzo@cea.fr>
Change-Id: If9a6450ed3123eec00d2856b70bfa992d2a8ab99
diff --git a/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/description/papyrus_class.odesign b/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/description/papyrus_class.odesign
index 89d0efc..895659e 100755
--- a/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/description/papyrus_class.odesign
+++ b/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/description/papyrus_class.odesign
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<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:filter="http://www.eclipse.org/sirius/diagram/description/filter/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/description/tool/1.1.0" xmlns:tool_1="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" documentation="Copyright (c) 2009, 2014, 2021-2022 Obeo, CEA LIST, Artal Technologies

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/

SPDX-License-Identifier: EPL-2.0

Contributors:
 Obeo - initial API and implementation
 Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - adaptation to integrate in Papyrus
 Vincent Lorenzo (CEA LIST) - vincent.lorenzo@cea.fr - adaptation to integrate in Papyrus" name="papyrus" version="12.0.0.2017041100">
<ownedViewpoints name="ClassDiagram" modelFileExtension="uml">
- <ownedRepresentations xsi:type="description_1:DiagramDescription" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Attributes%20or%20Operations'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticPackageDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Interface%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='InstanceSpecification%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='InformationItem%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Constraint%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Comment%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Signal%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Class%20Primitive%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Interface%20Primitive%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticClassDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='to%20Package%20%26%26%20Diagram'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticModelDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticComponentDrop']" documentation="Representation to edit class diagrams" name="ClassDiagram" titleExpression="aql:self.name +' Class Diagram'" domainClass="uml::Package" preconditionExpression="" enablePopupBars="true">
+ <ownedRepresentations xsi:type="description_1:DiagramDescription" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Attributes%20or%20Operations'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticPackageDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Constraint%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Comment%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticClassDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='to%20Package%20%26%26%20Diagram'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticModelDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticComponentDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticInterfaceDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticSignalDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticInstanceSpecificationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticInformationItemDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticPrimitiveTypeDrop']" documentation="Representation to edit class diagrams" name="ClassDiagram" titleExpression="aql:self.name +' Class Diagram'" domainClass="uml::Package" preconditionExpression="" enablePopupBars="true">
<metamodel href="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#/"/>
<filters xsi:type="filter:CompositeFilterDescription" name="Show Stereotypes"/>
<filters xsi:type="filter:CompositeFilterDescription" name="Show Bendpoint"/>
@@ -346,7 +346,7 @@
<labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.2"/>
</style>
</subContainerMappings>
- <subContainerMappings name="CD_ClassNestedClassifiersCompartment" semanticCandidatesExpression="aql:self" synchronizationLock="true" domainClass="uml.Class" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Class%20Primitive%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop']" reusedNodeMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_ClassLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_DataTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_EnumerationLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InterfaceLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PrimitiveTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_SignalLabelNode']" childrenPresentation="List">
+ <subContainerMappings name="CD_ClassNestedClassifiersCompartment" semanticCandidatesExpression="aql:self" synchronizationLock="true" domainClass="uml.Class" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop']" reusedNodeMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_ClassLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_DataTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_EnumerationLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InterfaceLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PrimitiveTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_SignalLabelNode']" childrenPresentation="List">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelSize="9" showIcon="false" labelExpression="nested classifiers" hideLabelByDefault="true" backgroundStyle="GradientTopToBottom" foregroundColor="//@userColorsPalettes[name='CD_ColorPalette']/@entries[name='CustomBlue']">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
@@ -377,7 +377,7 @@
<labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.2"/>
</style>
</subContainerMappings>
- <subContainerMappings name="CD_ComponentNestedClassifiersCompartment" semanticCandidatesExpression="aql:self" synchronizationLock="true" domainClass="uml.Component" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Class%20Primitive%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop']" reusedNodeMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_ClassLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_DataTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_EnumerationLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InterfaceLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PrimitiveTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_SignalLabelNode']" childrenPresentation="List">
+ <subContainerMappings name="CD_ComponentNestedClassifiersCompartment" semanticCandidatesExpression="aql:self" synchronizationLock="true" domainClass="uml.Component" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop']" reusedNodeMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_ClassLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_DataTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_EnumerationLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InterfaceLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PrimitiveTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_SignalLabelNode']" childrenPresentation="List">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelSize="9" hideLabelByDefault="true" backgroundStyle="GradientTopToBottom" foregroundColor="//@userColorsPalettes[name='CD_ColorPalette']/@entries[name='CustomBlue']">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
@@ -461,7 +461,7 @@
<labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.2"/>
</style>
</subContainerMappings>
- <subContainerMappings name="CD_InterfaceNestedClassifiersCompartment" semanticCandidatesExpression="aql:self" synchronizationLock="true" domainClass="uml.Interface" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Interface%20Primitive%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop']" reusedNodeMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_ClassLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_DataTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_EnumerationLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InterfaceLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PrimitiveTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_SignalLabelNode']" childrenPresentation="List">
+ <subContainerMappings name="CD_InterfaceNestedClassifiersCompartment" semanticCandidatesExpression="aql:self" synchronizationLock="true" domainClass="uml.Interface" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop']" reusedNodeMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_ClassLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_DataTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_EnumerationLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InterfaceLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PrimitiveTypeLabelNode'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_SignalLabelNode']" childrenPresentation="List">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelSize="9" showIcon="false" labelExpression="nested classifiers" hideLabelByDefault="true" backgroundStyle="GradientTopToBottom" foregroundColor="//@userColorsPalettes[name='CD_ColorPalette']/@entries[name='CustomBlue']">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
@@ -475,7 +475,7 @@
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</containerMappings>
- <containerMappings name="CD_Model" deletionDescription="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Element%20Name']" semanticCandidatesExpression="feature:eAllContents" createElements="false" semanticElements="service:getSemanticElements" domainClass="uml.Model" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticClassDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='to%20Package%20%26%26%20Diagram'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticComponentDrop']" childrenPresentation="VerticalStack">
+ <containerMappings name="CD_Model" deletionDescription="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Element%20Name']" semanticCandidatesExpression="feature:eAllContents" createElements="false" semanticElements="service:getSemanticElements" domainClass="uml.Model" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticClassDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='to%20Package%20%26%26%20Diagram'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticComponentDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticInterfaceDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticSignalDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticInstanceSpecificationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticInformationItemDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticConstraintDrop']" childrenPresentation="VerticalStack">
<subContainerMappings name="CD_ModelPackagedElementsCompartment" semanticCandidatesExpression="aql:self" synchronizationLock="true" domainClass="uml.Model" reusedNodeMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Comment']/@nodeMappings[name='CD_Comment'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_Constraint'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InformationItem']" reusedContainerMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_AssociationClass'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Class'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Component'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Enumeration'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_InstanceSpecification_Node'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Interface'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Package'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Signal']">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelSize="9" showIcon="false" labelExpression="packaged elements" hideLabelByDefault="true" backgroundStyle="GradientTopToBottom" foregroundColor="//@userColorsPalettes[name='CD_ColorPalette']/@entries[name='CustomBlue']">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
@@ -491,7 +491,7 @@
<labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.0"/>
</style>
</containerMappings>
- <containerMappings name="CD_Package" deletionDescription="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Element%20Name']" semanticCandidatesExpression="feature:eAllContents" createElements="false" semanticElements="service:getSemanticElements" domainClass="uml.Package" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticPackageDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Interface%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='InstanceSpecification%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='InformationItem%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Constraint%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Comment%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Signal%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Class%20Primitive%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Interface%20Primitive%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticClassDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='to%20Package%20%26%26%20Diagram'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticComponentDrop']" childrenPresentation="VerticalStack">
+ <containerMappings name="CD_Package" deletionDescription="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Element%20Name']" semanticCandidatesExpression="feature:eAllContents" createElements="false" semanticElements="service:getSemanticElements" domainClass="uml.Package" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticPackageDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Constraint%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Comment%20from%20Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticClassDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='to%20Package%20%26%26%20Diagram'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticDataTypeDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.5/@ownedTools[name='GraphicalEnumerationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticComponentDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticInterfaceDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticSignalDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticInstanceSpecificationDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticInformationItemDrop'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticConstraintDrop']" childrenPresentation="VerticalStack">
<subContainerMappings name="CD_PackagePackagedElementsCompartment" semanticCandidatesExpression="aql:self" synchronizationLock="true" domainClass="uml.Package" reusedNodeMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Comment']/@nodeMappings[name='CD_Comment'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_Constraint'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InformationItem']" reusedContainerMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_AssociationClass'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Class'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Component'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Enumeration'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_InstanceSpecification_Node'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Interface'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Package'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Signal']">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelSize="9" showIcon="false" labelExpression="packaged elements" hideLabelByDefault="true" backgroundStyle="GradientTopToBottom">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
@@ -509,7 +509,7 @@
<labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.0"/>
</style>
</containerMappings>
- <containerMappings name="CD_PrimitiveType" deletionDescription="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Element%20Name']" createElements="false" semanticElements="service:getSemanticElements" domainClass="uml.PrimitiveType" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Class%20Primitive%20from%20Model']" childrenPresentation="VerticalStack">
+ <containerMappings name="CD_PrimitiveType" deletionDescription="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.2/@ownedTools[name='Element%20Name']" createElements="false" semanticElements="service:getSemanticElements" domainClass="uml.PrimitiveType" childrenPresentation="VerticalStack">
<subContainerMappings name="CD_PrimitiveTypeAttributesCompartment" semanticCandidatesExpression="aql:self" synchronizationLock="true" domainClass="uml.PrimitiveType" dropDescriptions="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@toolSections.4/@ownedTools[name='SemanticPropertyDrop']" reusedNodeMappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PropertyLabelNode']" childrenPresentation="List">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelSize="9" showIcon="false" labelExpression="attributes" hideLabelByDefault="true" backgroundStyle="GradientTopToBottom" foregroundColor="//@userColorsPalettes[name='CD_ColorPalette']/@entries[name='CustomBlue']">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
@@ -1171,40 +1171,6 @@
</firstModelOperations>
</initialOperation>
</ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="Interface from Model" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Interface']" dragSource="PROJECT_EXPLORER">
- <oldContainer name="oldSemanticContainer"/>
- <newContainer name="newSemanticContainer"/>
- <element name="element"/>
- <newViewContainer name="newContainerView"/>
- <initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
- <subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Interface']" containerViewExpression="aql:newContainerView"/>
- <subModelOperations xsi:type="tool:If"/>
- </firstModelOperations>
- </initialOperation>
- </ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="InstanceSpecification from Model" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_InstanceSpecification_Node']" dragSource="PROJECT_EXPLORER">
- <oldContainer name="oldSemanticContainer"/>
- <newContainer name="newSemanticContainer"/>
- <element name="element"/>
- <newViewContainer name="newContainerView"/>
- <initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
- <subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_InstanceSpecification_Node']" containerViewExpression="aql:newContainerView"/>
- </firstModelOperations>
- </initialOperation>
- </ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="InformationItem from Model" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InformationItem']" dragSource="PROJECT_EXPLORER">
- <oldContainer name="oldSemanticContainer"/>
- <newContainer name="newSemanticContainer"/>
- <element name="element"/>
- <newViewContainer name="newContainerView"/>
- <initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
- <subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InformationItem']" containerViewExpression="aql:newContainerView"/>
- </firstModelOperations>
- </initialOperation>
- </ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="to Package && Diagram" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Class'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Interface'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Package'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@additionalLayers[name='Comment']/@nodeMappings[name='CD_Comment'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_InstanceSpecification_Node'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InformationItem'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_PrimitiveType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Model'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Signal']">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
@@ -1216,39 +1182,6 @@
</firstModelOperations>
</initialOperation>
</ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="Signal from Model" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Signal']" dragSource="PROJECT_EXPLORER">
- <oldContainer name="oldSemanticContainer"/>
- <newContainer name="newSemanticContainer"/>
- <element name="element"/>
- <newViewContainer name="newContainerView"/>
- <initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
- <subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Signal']" containerViewExpression="aql:newContainerView"/>
- </firstModelOperations>
- </initialOperation>
- </ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="Class Primitive from Model" precondition="aql:self.oclIsTypeOf(uml::PrimitiveType)" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_DataType']" dragSource="PROJECT_EXPLORER">
- <oldContainer name="oldSemanticContainer"/>
- <newContainer name="newSemanticContainer"/>
- <element name="element"/>
- <newViewContainer name="newContainerView"/>
- <initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
- <subModelOperations xsi:type="tool_1:CreateView" containerViewExpression="aql:newContainerView"/>
- </firstModelOperations>
- </initialOperation>
- </ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="Interface Primitive from Model" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_PrimitiveType']" dragSource="PROJECT_EXPLORER">
- <oldContainer name="oldSemanticContainer"/>
- <newContainer name="newSemanticContainer"/>
- <element name="element"/>
- <newViewContainer name="newContainerView"/>
- <initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
- <subModelOperations xsi:type="tool_1:CreateView" containerViewExpression="aql:newContainerView"/>
- </firstModelOperations>
- </initialOperation>
- </ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="DataType" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_DataType']">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
@@ -1848,7 +1781,7 @@
</firstModelOperations>
</initialOperation>
</ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticComponentDrop" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Component']" dragSource="PROJECT_EXPLORER">
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticComponentDrop" precondition="aql:self.oclIsTypeOf(uml::Component)" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Component']" dragSource="PROJECT_EXPLORER">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
@@ -1868,13 +1801,24 @@
</firstModelOperations>
</initialOperation>
</ownedTools>
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticConstraintDrop" precondition="aql:self.oclIsTypeOf(uml::Constraint)" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_Constraint']" dragSource="PROJECT_EXPLORER">
+ <oldContainer name="oldSemanticContainer"/>
+ <newContainer name="newSemanticContainer"/>
+ <element name="element"/>
+ <newViewContainer name="newContainerView"/>
+ <initialOperation>
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
+ <subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_Constraint']" containerViewExpression="aql:newContainerView"/>
+ </firstModelOperations>
+ </initialOperation>
+ </ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticDataTypeDrop" precondition="aql:self.oclIsTypeOf(uml::DataType)" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_DataType'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_DataTypeLabelNode']" dragSource="PROJECT_EXPLORER">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:elementView">
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newContainerView">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.oclIsKindOf(diagram::DDiagram)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_DataType']" containerViewExpression="aql:newContainerView"/>
@@ -1899,7 +1843,7 @@
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:elementView">
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newContainerView">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.oclIsKindOf(diagram::DDiagram)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Enumeration']" containerViewExpression="aql:newContainerView"/>
@@ -1918,7 +1862,40 @@
</firstModelOperations>
</initialOperation>
</ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticModelDrop" precondition="service:isValidContainer(newViewContainer)" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Model']" dragSource="PROJECT_EXPLORER">
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticInstanceSpecificationDrop" precondition="aql:self.oclIsTypeOf(uml::InstanceSpecification)" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_InstanceSpecification_Node']" dragSource="PROJECT_EXPLORER">
+ <oldContainer name="oldSemanticContainer"/>
+ <newContainer name="newSemanticContainer"/>
+ <element name="element"/>
+ <newViewContainer name="newContainerView"/>
+ <initialOperation>
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
+ <subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_InstanceSpecification_Node']" containerViewExpression="aql:newContainerView"/>
+ </firstModelOperations>
+ </initialOperation>
+ </ownedTools>
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticInformationItemDrop" precondition="aql:self.oclIsTypeOf(uml::InformationItem)" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InformationItem']" dragSource="PROJECT_EXPLORER">
+ <oldContainer name="oldSemanticContainer"/>
+ <newContainer name="newSemanticContainer"/>
+ <element name="element"/>
+ <newViewContainer name="newContainerView"/>
+ <initialOperation>
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
+ <subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_InformationItem']" containerViewExpression="aql:newContainerView"/>
+ </firstModelOperations>
+ </initialOperation>
+ </ownedTools>
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticInterfaceDrop" precondition="aql:self.oclIsTypeOf(uml::Interface)" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Interface']" dragSource="PROJECT_EXPLORER">
+ <oldContainer name="oldSemanticContainer"/>
+ <newContainer name="newSemanticContainer"/>
+ <element name="element"/>
+ <newViewContainer name="newContainerView"/>
+ <initialOperation>
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
+ <subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Interface']" containerViewExpression="aql:newContainerView"/>
+ </firstModelOperations>
+ </initialOperation>
+ </ownedTools>
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticModelDrop" precondition="aql:self.oclIsTypeOf(uml::Model)" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Model']" dragSource="PROJECT_EXPLORER">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
@@ -1929,13 +1906,13 @@
</firstModelOperations>
</initialOperation>
</ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticOperationDrop" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_OperationLabelNode']" dragSource="PROJECT_EXPLORER">
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticOperationDrop" precondition="aql:self.oclIsTypeOf(uml::Operation)" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_OperationLabelNode']" dragSource="PROJECT_EXPLORER">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:elementView">
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newContainerView">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.oclIsKindOf(diagram::DNodeList)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_OperationLabelNode']" containerViewExpression="aql:newContainerView"/>
@@ -1944,7 +1921,7 @@
</firstModelOperations>
</initialOperation>
</ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticPackageDrop" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Package']" dragSource="PROJECT_EXPLORER">
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticPackageDrop" precondition="aql:self.oclIsTypeOf(uml::Package)" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Package']" dragSource="PROJECT_EXPLORER">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
@@ -1955,13 +1932,13 @@
</firstModelOperations>
</initialOperation>
</ownedTools>
- <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticPropertyDrop" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PropertyLabelNode']" dragSource="PROJECT_EXPLORER">
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticPropertyDrop" precondition="aql:self.oclIsTypeOf(uml::Property)" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PropertyLabelNode']" dragSource="PROJECT_EXPLORER">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:elementView">
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newContainerView">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.oclIsKindOf(diagram::DNodeList)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_PropertyLabelNode']" containerViewExpression="aql:newContainerView"/>
@@ -1976,7 +1953,7 @@
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
- <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:elementView">
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newContainerView">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.oclIsKindOf(diagram::DDiagram)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_PrimitiveType']" containerViewExpression="aql:newContainerView"/>
@@ -1995,6 +1972,17 @@
</firstModelOperations>
</initialOperation>
</ownedTools>
+ <ownedTools xsi:type="tool_1:ContainerDropDescription" name="SemanticSignalDrop" precondition="aql:self.oclIsTypeOf(uml::Signal)" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Signal']" dragSource="PROJECT_EXPLORER">
+ <oldContainer name="oldSemanticContainer"/>
+ <newContainer name="newSemanticContainer"/>
+ <element name="element"/>
+ <newViewContainer name="newContainerView"/>
+ <initialOperation>
+ <firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
+ <subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Signal']" containerViewExpression="aql:newContainerView"/>
+ </firstModelOperations>
+ </initialOperation>
+ </ownedTools>
</toolSections>
<toolSections name="GraphicalDrop">
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="GraphicalEnumerationDrop" forceRefresh="true" mappings="//@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@containerMappings[name='CD_Enumeration'] //@ownedViewpoints[name='ClassDiagram']/@ownedRepresentations[name='ClassDiagram']/@defaultLayer/@nodeMappings[name='CD_EnumerationLabelNode']">
diff --git a/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/src/org/eclipse/papyrus/uml/sirius/clazz/diagram/internal/constants/SemanticDropToolsIds.java b/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/src/org/eclipse/papyrus/uml/sirius/clazz/diagram/internal/constants/SemanticDropToolsIds.java
index c4695e3..96b336b 100755
--- a/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/src/org/eclipse/papyrus/uml/sirius/clazz/diagram/internal/constants/SemanticDropToolsIds.java
+++ b/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/src/org/eclipse/papyrus/uml/sirius/clazz/diagram/internal/constants/SemanticDropToolsIds.java
@@ -22,22 +22,33 @@
// to prevent instantiation
}
- public static final String DROP_CLASS_TOOL = "SemanticClassDrop"; //$NON-NLS-1$
+ public static final String DROP__CLASS__TOOL = "SemanticClassDrop"; //$NON-NLS-1$
- public static final String DROP_COMPONENT_TOOL = "SemanticComponentDrop"; //$NON-NLS-1$
+ public static final String DROP__COMPONENT__TOOL = "SemanticComponentDrop"; //$NON-NLS-1$
- public static final String DROP_DATATYPE_TOOL = "SemanticDataTypeDrop"; //$NON-NLS-1$
+ public static final String DROP__CONSTRAINT__TOOL = "SemanticConstraintDrop"; //$NON-NLS-1$
- public static final String DROP_ENUMERATION_TOOL = "SemanticEnumerationDrop"; //$NON-NLS-1$
+ public static final String DROP__DATATYPE__TOOL = "SemanticDataTypeDrop"; //$NON-NLS-1$
- public static final String DROP_MODEL_TOOL = "SemanticModelDrop"; //$NON-NLS-1$
+ public static final String DROP__ENUMERATION__TOOL = "SemanticEnumerationDrop"; //$NON-NLS-1$
- public static final String DROP_OPERATION_TOOL = "SemanticOperationDrop"; //$NON-NLS-1$
+ public static final String DROP__INFORMATION_ITEM__TOOL = "SemanticInformationItemDrop"; //$NON-NLS-1$
- public static final String DROP_PACKAGE_TOOL = "SemanticPackageDrop"; //$NON-NLS-1$
+ public static final String DROP__INSTANCE_SPECIFICATION__TOOL = "SemanticInstanceSpecificationDrop"; //$NON-NLS-1$
- public static final String DROP_PROPERTY_TOOL = "SemanticPropertyDrop"; //$NON-NLS-1$
+ public static final String DROP__INTERFACE__TOOL = "SemanticInterfaceDrop"; //$NON-NLS-1$
- public static final String DROP_PRIMITIVETYPE_TOOL = "SemanticPrimitiveTypeDrop"; //$NON-NLS-1$
+ public static final String DROP__MODEL__TOOL = "SemanticModelDrop"; //$NON-NLS-1$
+
+ public static final String DROP__OPERATION__TOOL = "SemanticOperationDrop"; //$NON-NLS-1$
+
+ public static final String DROP__PACKAGE__TOOL = "SemanticPackageDrop"; //$NON-NLS-1$
+
+ public static final String DROP__PROPERTY__TOOL = "SemanticPropertyDrop"; //$NON-NLS-1$
+
+ public static final String DROP__PRIMITIVETYPE__TOOL = "SemanticPrimitiveTypeDrop"; //$NON-NLS-1$
+
+ public static final String DROP__SIGNAL__TOOL = "SemanticSignalDrop"; //$NON-NLS-1$
+
}
diff --git a/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/src/org/eclipse/papyrus/uml/sirius/clazz/diagram/services/ClassDiagramServices.java b/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/src/org/eclipse/papyrus/uml/sirius/clazz/diagram/services/ClassDiagramServices.java
index 0925cb3..b05e4cb 100755
--- a/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/src/org/eclipse/papyrus/uml/sirius/clazz/diagram/services/ClassDiagramServices.java
+++ b/plugins/uml/sirius/org.eclipse.papyrus.uml.sirius.clazz.diagram/src/org/eclipse/papyrus/uml/sirius/clazz/diagram/services/ClassDiagramServices.java
@@ -60,7 +60,6 @@
import org.eclipse.sirius.diagram.EdgeTarget;
import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeContainerSpec;
import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeListSpec;
-import org.eclipse.sirius.diagram.model.business.internal.spec.DSemanticDiagramSpec;
import org.eclipse.sirius.viewpoint.DSemanticDecorator;
import org.eclipse.sirius.viewpoint.FontFormat;
import org.eclipse.swt.widgets.Display;
@@ -358,24 +357,6 @@
}
/**
- * Check if the container is valid or not
- *
- * @param context
- * the current context
- * @param newContainerView
- * the new container view
- * @return true if the container can contain the element to create
- */
- public boolean isValidContainer(EObject context, EObject newContainerView) {
- if (newContainerView instanceof DSemanticDiagramSpec) {
- return context.eContainer().equals(((DSemanticDiagramSpec) newContainerView).getTarget());
- } else if (newContainerView instanceof DNodeContainerSpec) {
- return context.eContainer().equals(((DNodeContainerSpec) newContainerView).getTarget());
- }
- return false;
- }
-
- /**
* Create a new Dependency Link.
*
* @param sourceView
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/delete/nodes/durationObservation/TopNode_DurationObservation_DeleteSemanticTest.di b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/delete/nodes/durationObservation/TopNode_DurationObservation_DeleteSemanticTest.di
new file mode 100755
index 0000000..bf9abab
--- /dev/null
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/delete/nodes/durationObservation/TopNode_DurationObservation_DeleteSemanticTest.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoModel.aird b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoModel.aird
index fd68276..656a401 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoModel.aird
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoModel.aird
@@ -1,6 +1,6 @@
<?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:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/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 uid="_2XmYAJ76EeyF49nN-xvxfg" selectedViews="_2YmdkJ76EeyF49nN-xvxfg _2ZQk4J76EeyF49nN-xvxfg _2arhMJ76EeyF49nN-xvxfg" version="15.0.0.202201261500">
+ <viewpoint:DAnalysis uid="_2XmYAJ76EeyF49nN-xvxfg" selectedViews="_dCvwQK6rEeyceYKOdTWcvQ _dCTrYK6rEeyceYKOdTWcvQ _dCl_QK6rEeyceYKOdTWcvQ" version="15.0.0.202201261500">
<semanticResources>dropIntoModel.uml</semanticResources>
<semanticResources>pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml</semanticResources>
<semanticResources>pathmap://UML_PROFILES/Ecore.profile.uml</semanticResources>
@@ -21,6 +21,15 @@
<ownedViews xmi:type="viewpoint:DView" uid="_2arhMJ76EeyF49nN-xvxfg">
<viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.uml.sirius.statemachine.diagram/description/papyrus_statemachine.odesign#//@ownedViewpoints[name='StateMachineDiagram']"/>
</ownedViews>
+ <ownedViews xmi:type="viewpoint:DView" uid="_dCTrYK6rEeyceYKOdTWcvQ">
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/resource/org.eclipse.papyrus.uml.sirius.clazz.diagram/description/papyrus_class.odesign#//@ownedViewpoints[name='ClassDiagram']"/>
+ </ownedViews>
+ <ownedViews xmi:type="viewpoint:DView" uid="_dCl_QK6rEeyceYKOdTWcvQ">
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/resource/org.eclipse.papyrus.uml.sirius.sequence.diagram/description/papyrus_sequence.odesign#//@ownedViewpoints[name='SequenceDiagram']"/>
+ </ownedViews>
+ <ownedViews xmi:type="viewpoint:DView" uid="_dCvwQK6rEeyceYKOdTWcvQ">
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/resource/org.eclipse.papyrus.uml.sirius.statemachine.diagram/description/papyrus_statemachine.odesign#//@ownedViewpoints[name='StateMachineDiagram']"/>
+ </ownedViews>
</viewpoint:DAnalysis>
<diagram:DSemanticDiagram uid="_2bMekJ76EeyF49nN-xvxfg">
<eAnnotations xmi:type="description:DAnnotation" uid="_2czoIp76EeyF49nN-xvxfg" source="Papyrus-SiriusDiagram">
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoModel.uml b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoModel.uml
index e544c1d..472e2b9 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoModel.uml
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoModel.uml
@@ -5,5 +5,6 @@
</packageImport>
<packagedElement xmi:type="uml:Model" xmi:id="_39QuQJ76EeyF49nN-xvxfg" name="Model">
<packagedElement xmi:type="uml:Package" xmi:id="_6t1_gJ76EeyF49nN-xvxfg" name="PackageToDrop"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_gVbpAK6rEeyceYKOdTWcvQ" name="ClassToDrop"/>
</packagedElement>
</uml:Model>
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoPackage.uml b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoPackage.uml
index cc84145..6220509 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoPackage.uml
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/subNode/dropIntoPackage.uml
@@ -5,5 +5,6 @@
</packageImport>
<packagedElement xmi:type="uml:Package" xmi:id="_Ltk40J-EEeyF49nN-xvxfg" name="Package">
<packagedElement xmi:type="uml:Class" xmi:id="_OgxZMJ-EEeyF49nN-xvxfg" name="ClassToDrop"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_vbLqoK9wEeygIIt21k9Vcw" name="PackageToDrop"/>
</packagedElement>
</uml:Model>
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/topNode/TopNode_DropTest.uml b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/topNode/TopNode_DropTest.uml
index 9faa63f..b46cb28 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/topNode/TopNode_DropTest.uml
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/resources/drop/topNode/TopNode_DropTest.uml
@@ -13,6 +13,4 @@
<packagedElement xmi:type="uml:PrimitiveType" xmi:id="_Rs5D4B1DEeyMqqMrfth9Gw" name="PrimitiveTypeToDrop"/>
<packagedElement xmi:type="uml:Model" xmi:id="_VYkEYB1DEeyMqqMrfth9Gw" name="ModelToDrop"/>
<packagedElement xmi:type="uml:InformationItem" xmi:id="_erkg0B1DEeyMqqMrfth9Gw" name="InformationItemToDrop"/>
- <packagedElement xmi:type="uml:DurationObservation" xmi:id="_xmmncB1DEeyMqqMrfth9Gw" name="DurationObservationToDrop"/>
- <packagedElement xmi:type="uml:TimeObservation" xmi:id="_3RUHgB1DEeyMqqMrfth9Gw" name="TimeObservationToDrop"/>
</uml:Model>
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/checkers/internal/api/SemanticDropChecker.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/checkers/internal/api/SemanticDropChecker.java
new file mode 100755
index 0000000..aa7ace1
--- /dev/null
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/checkers/internal/api/SemanticDropChecker.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2022 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.internal.api;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.sirius.viewpoint.DRepresentationElement;
+import org.junit.Assert;
+
+/**
+ *
+ */
+public class SemanticDropChecker implements ISemanticNodeChecker {
+
+ private final EObject droppedEObject;
+
+ private final EObject semanticContainer;
+
+ public SemanticDropChecker(final EObject droppedEObject) {
+ this.droppedEObject = droppedEObject;
+ this.semanticContainer = this.droppedEObject.eContainer();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.internal.api.ISemanticNodeChecker#validateNode(org.eclipse.sirius.viewpoint.DRepresentationElement)
+ *
+ * @param createdElementRepresentation
+ */
+
+ @Override
+ public void validateNode(final DRepresentationElement createdElementRepresentation) {
+ final List<EObject> semanticElements = createdElementRepresentation.getSemanticElements();
+ Assert.assertEquals("The created element representation must have 1 associated semantic element", 1, semanticElements.size()); //$NON-NLS-1$
+
+ final EObject element = semanticElements.get(0);
+ Assert.assertTrue("The dropped element is not associated to the created view.", element==this.droppedEObject); //$NON-NLS-1$
+ Assert.assertTrue("The semantic owner of the dropped element changed.", this.semanticContainer==element.eContainer()); //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.internal.api.ISemanticNodeChecker#validateAfterUndo()
+ *
+ */
+ @Override
+ public void validateAfterUndo() {
+ // nothing to do
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.internal.api.ISemanticNodeChecker#validateAfterRedo()
+ *
+ */
+
+ @Override
+ public void validateAfterRedo() {
+ // nothing to do
+ }
+
+}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/AbstractSemanticDropSubNodeTests.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/AbstractSemanticDropSubNodeTests.java
index 0354de3..c67afb3 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/AbstractSemanticDropSubNodeTests.java
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/AbstractSemanticDropSubNodeTests.java
@@ -56,7 +56,8 @@
public void setUp() {
this.root = this.fixture.getModel();
this.semanticOwner = getSemanticOwner();
- Assert.assertEquals(1, semanticOwner.getOwnedElements().size());
+ // Assert.assertEquals(1, semanticOwner.getOwnedElements().size()); //depends on the initial model
+ // TODO : to be upddated later
}
protected abstract T getSemanticOwner();
@@ -72,7 +73,7 @@
* @return
* the created NodeListElement
*/
- protected final DDiagramElement dropNodeInDNodeContainer(final String compartmentMappingType, final String dropToolId, final String expectedMappingType,final Element elementToBeDropped) {
+ protected final DDiagramElement dropNodeInDNodeContainer(final String compartmentMappingType, final String dropToolId, final String expectedMappingType, final Element elementToBeDropped) {
final Diagram diagram = getClassDiagram();
Assert.assertEquals("The root model must have only one node element before dropping the sub node", 1, diagram.getChildren().size()); //$NON-NLS-1$
final Object firstView = diagram.getChildren().get(0);
@@ -95,15 +96,15 @@
Assert.assertEquals("The diagram children size does not change on adding a sub node", 1, diagram.getChildren().size()); //$NON-NLS-1$
Assert.assertEquals(1, subNodeContainer.getElements().size());
-
- Collection<DDiagramElement> subElements= subNodeContainer.getElements();
+
+ Collection<DDiagramElement> subElements = subNodeContainer.getElements();
Assert.assertEquals(1, subElements.size());
DDiagramElement createdElementRepresentation = subNodeContainer.getElements().get(0);
Assert.assertEquals("The mapping is not the expected one", expectedMappingType, createdElementRepresentation.getMapping().getName()); //$NON-NLS-1$
Assert.assertEquals("The created element representation must have 1 associated semantic element", 1, createdElementRepresentation.getSemanticElements().size()); //$NON-NLS-1$
final EObject createdSemanticElement = createdElementRepresentation.getSemanticElements().get(0);
- Assert.assertEquals(1, this.semanticOwner.getOwnedElements().size());
+ Assert.assertEquals(2, this.semanticOwner.getOwnedElements().size());
Assert.assertEquals(createdSemanticElement, this.semanticOwner.getOwnedElements().get(0));
// undo
@@ -117,7 +118,7 @@
Assert.assertEquals(1, subNodeContainer.getElements().size());
return (DDiagramElement) subNodeContainer.getElements().get(0);
}
-
+
/**
*
* @return
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/AbstractSubNodeSemanticDropTests.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/AbstractSubNodeSemanticDropTests.java
new file mode 100755
index 0000000..d31ee9f
--- /dev/null
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/AbstractSubNodeSemanticDropTests.java
@@ -0,0 +1,23 @@
+/*****************************************************************************
+ * Copyright (c) 2022 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.subNodes;
+
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes.AbstractTopNodeDropTests;
+
+/**
+ *
+ */
+public abstract class AbstractSubNodeSemanticDropTests extends AbstractTopNodeDropTests{
+
+}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoModelTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoModelTest.java
index 75b773d..4a2beca 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoModelTest.java
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoModelTest.java
@@ -49,7 +49,7 @@
@ActiveDiagram(DIAGRAM_NAME)
public void dropPackageIntoModel() {
final NamedElement toDrop = getSemanticOwner().getMember("PackageToDrop"); //$NON-NLS-1$
- final DDiagramElement createdElement = dropNodeInDNodeContainer(MappingTypes.MODEL_NODE_PACKAGEDELEMENTS_COMPARTMENTS_TYPE, SemanticDropToolsIds.DROP_PACKAGE_TOOL, MappingTypes.PACKAGE_NODE_TYPE, toDrop);
+ final DDiagramElement createdElement = dropNodeInDNodeContainer(MappingTypes.MODEL_NODE_PACKAGEDELEMENTS_COMPARTMENTS_TYPE, SemanticDropToolsIds.DROP__PACKAGE__TOOL, MappingTypes.PACKAGE_NODE_TYPE, toDrop);
final EObject semantic = createdElement.getSemanticElements().get(0);
Assert.assertEquals("The dropped element is not the expected one", toDrop, semantic); //$NON-NLS-1$
}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoModel_2_Test.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoModel_2_Test.java
new file mode 100755
index 0000000..308d249
--- /dev/null
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoModel_2_Test.java
@@ -0,0 +1,120 @@
+/*****************************************************************************
+ * Copyright (c) 2022 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.subNodes;
+
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.siriusdiag.representation.SiriusDiagramConstants;
+import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.MappingTypes;
+import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.SemanticDropToolsIds;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_ClassCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_PackageCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.internal.api.SemanticDropChecker;
+import org.eclipse.sirius.diagram.DDiagramElement;
+import org.eclipse.sirius.diagram.DNodeContainer;
+import org.eclipse.sirius.diagram.DSemanticDiagram;
+import org.eclipse.sirius.diagram.DragAndDropTarget;
+import org.eclipse.sirius.viewpoint.description.DAnnotation;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class tests the semantic drop into a CD_Package
+ */
+@PluginResource("resources/drop/subNode/dropIntoModel.di")
+public class SemanticDropIntoModel_2_Test extends AbstractSubNodeSemanticDropTests {
+
+ private static final String DIAGRAM_NAME = "ClassDiagram"; //$NON-NLS-1$
+
+ private static final String SEMANTIC_OWNER_NAME = "Model";//$NON-NLS-1$
+
+ /**
+ * @see org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.subNodes.AbstractSemanticDropSubNodeTests#getSemanticOwner()
+ *
+ * @return
+ */
+
+ // @Override
+ protected Model getSemanticOwner() {
+ return (org.eclipse.uml2.uml.Model) this.root.getMember(SEMANTIC_OWNER_NAME);
+ }
+
+ @Test
+ @ActiveDiagram(DIAGRAM_NAME)
+ public void dropPackageIntoModel() {
+ final NamedElement toDrop = getSemanticOwner().getMember("PackageToDrop"); //$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__PACKAGE__TOOL, new CD_PackageCreationChecker(diagram, getTopNodeGraphicalContainer()), new SemanticDropChecker(toDrop), toDrop);
+ }
+
+ @Test
+ @ActiveDiagram(DIAGRAM_NAME)
+ public void dropClassIntoModel() {
+ final NamedElement toDrop = getSemanticOwner().getMember("ClassToDrop"); //$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__CLASS__TOOL, new CD_ClassCreationChecker(diagram, getTopNodeGraphicalContainer()), new SemanticDropChecker(toDrop), toDrop);
+ }
+
+ /**
+ * @return
+ *
+ */
+ protected DragAndDropTarget getTopNodeGraphicalContainer() {
+ final Diagram diagram = getClassDiagram();
+ Assert.assertEquals("The root model must have only one node element before dropping the sub node", 1, diagram.getChildren().size()); //$NON-NLS-1$
+ final Object firstView = diagram.getChildren().get(0);
+
+ Assert.assertTrue(((View) firstView).getElement() instanceof DNodeContainer);
+ final DNodeContainer classNode = (DNodeContainer) ((View) firstView).getElement();
+ // only one semantic element must be associated to the classNodeContainer
+ Assert.assertEquals(1, classNode.getSemanticElements().size());
+ Assert.assertEquals(getSemanticOwner(), classNode.getSemanticElements().get(0));
+ for (final DDiagramElement diagramElement : classNode.getOwnedDiagramElements()) {
+ if (diagramElement instanceof DragAndDropTarget && MappingTypes.MODEL_NODE_PACKAGEDELEMENTS_COMPARTMENTS_TYPE.equals(diagramElement.getMapping().getName())) {
+ return (DragAndDropTarget) diagramElement;
+ }
+ }
+ return classNode;
+ }
+
+ protected DragAndDropTarget getRealGraphicalContainer() {
+ return null;// TODO : not yet used
+ }
+
+
+ /**
+ *
+ * @return
+ * the active Sirius Class Diagram
+ */
+ protected final Diagram getClassDiagram() {
+ final DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
+ Assert.assertNotNull("The diagram edit part has not been found", diagramEditpart); //$NON-NLS-1$
+ final Diagram diagram = diagramEditpart.getDiagramView();
+
+ Assert.assertTrue(diagram.getElement() instanceof DSemanticDiagram);
+
+ // check diagram type
+ final DSemanticDiagram ddiagram = (DSemanticDiagram) diagram.getElement();
+ DAnnotation dAnnotation = ddiagram.getDAnnotation(SiriusDiagramConstants.PAPYRUS_SIRIUS_DIAGRAM_IMPLEMENTATION_DANNOTATION_SOURCE);
+ String detail = dAnnotation.getDetails().get(SiriusDiagramConstants.PAPYRUS_SIRIUS_DIAGRAM_IMPLEMENTATION_DANNOTATION_KEY);
+ Assert.assertEquals("org.eclipse.papyrus.infra.siriusdiag.class", detail); // TODO : create a constant for this field when the code will be refactored
+
+ return diagram;
+ }
+
+}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoPackageTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoPackageTest.java
index 451451a..c5ff6e8 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoPackageTest.java
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SemanticDropIntoPackageTest.java
@@ -48,7 +48,7 @@
@ActiveDiagram(DIAGRAM_NAME)
public void dropClassIntoPackage() {
final NamedElement toDrop = getSemanticOwner().getMember("ClassToDrop"); //$NON-NLS-1$
- final DDiagramElement createdElement = dropNodeInDNodeContainer(MappingTypes.PACKAGE_NODE_PACKAGEDELEMENTS_COMPARTMENTS_TYPE, SemanticDropToolsIds.DROP_CLASS_TOOL, MappingTypes.CLASS_NODE_TYPE, toDrop);
+ final DDiagramElement createdElement = dropNodeInDNodeContainer(MappingTypes.PACKAGE_NODE_PACKAGEDELEMENTS_COMPARTMENTS_TYPE, SemanticDropToolsIds.DROP__CLASS__TOOL, MappingTypes.CLASS_NODE_TYPE, toDrop);
final EObject semantic = createdElement.getSemanticElements().get(0);
Assert.assertEquals("The dropped element is not the expected one", toDrop, semantic); //$NON-NLS-1$
}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SubNode_OperationToClass_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SubNode_OperationToClass_DropTest.java
index a81f2ef..a1fbb2a 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SubNode_OperationToClass_DropTest.java
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SubNode_OperationToClass_DropTest.java
@@ -26,9 +26,9 @@
import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeContainerSpec;
import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeListElementSpec;
import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeListSpec;
+import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Model;
import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Class;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
@@ -61,7 +61,7 @@
DNodeListSpec operationContainer = (DNodeListSpec) classRepresentation.getOwnedDiagramElements().get(0);
NamedElement elementToBeDropped = ((Class) classRepresentation.getTarget()).getOwnedOperations().get(0);
DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, SemanticDropToolsIds.DROP_OPERATION_TOOL, operationContainer, elementToBeDropped);
+ fixture.applyContainerDropDescriptionTool(diagramRepresentation, SemanticDropToolsIds.DROP__OPERATION__TOOL, operationContainer, elementToBeDropped);
fixture.flushDisplayEvents();
classElement = diagram.getChildren().get(0);
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SubNode_PropertyToClass_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SubNode_PropertyToClass_DropTest.java
index b0392a3..90ba541 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SubNode_PropertyToClass_DropTest.java
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/subNodes/SubNode_PropertyToClass_DropTest.java
@@ -26,9 +26,9 @@
import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeContainerSpec;
import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeListElementSpec;
import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeListSpec;
+import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Model;
import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Class;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
@@ -61,7 +61,7 @@
DNodeListSpec propertyContainer = (DNodeListSpec) classRepresentation.getOwnedDiagramElements().get(1);
NamedElement elementToBeDropped = ((Class) classRepresentation.getTarget()).getOwnedAttributes().get(0);
DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, SemanticDropToolsIds.DROP_PROPERTY_TOOL, propertyContainer, elementToBeDropped);
+ fixture.applyContainerDropDescriptionTool(diagramRepresentation, SemanticDropToolsIds.DROP__PROPERTY__TOOL, propertyContainer, elementToBeDropped);
fixture.flushDisplayEvents();
classElement = diagram.getChildren().get(0);
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/AbstractTopNodeDropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/AbstractTopNodeDropTest.java
deleted file mode 100755
index 9501cab..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/AbstractTopNodeDropTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2022 CEA LIST
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.DDiagramElement;
-import org.eclipse.sirius.diagram.DNodeContainer;
-import org.eclipse.sirius.diagram.DNodeList;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Package;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-
-/**
- * Abstract Class for Drop Top Node tests
- */
-public abstract class AbstractTopNodeDropTest {
-
- /**
- * this fixture is used to access to Papyrus environment (editor/diagram/commandstack/editingdomain/...)
- */
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture();
-
- /**
- * The root of the model
- */
- protected Package root;
-
- /**
- * Init the test field
- */
- @Before
- public void setUp() {
- this.root = (Package) this.fixture.getModel();
- Assert.assertNotNull(this.root);
- }
-
- /**
- *
- * @param elementToBeDropped
- * the element to drop
- * @param dropToolId
- * the id of the drop tool to use
- * @param elementMappingType
- * the expected mapping type of the created view
- */
- protected void dropDNodeListElement(final Element elementToBeDropped, final String dropToolId, final String elementMappingType) {
- final DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- final Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children.", 0, diagram.getChildren().size()); //$NON-NLS-1$
-
- final DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- Assert.assertEquals("The diagram representation must not yet have children.", 0, diagramRepresentation.getDiagramElements().size());//$NON-NLS-1$
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, dropToolId, diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action.", 1, diagram.getChildren().size()); //$NON-NLS-1$
- Assert.assertEquals("The diagram representation must have one child after the Drop action.", 1, diagramRepresentation.getOwnedRepresentationElements().size());//$NON-NLS-1$
- final DDiagramElement elementRepresentation = diagramRepresentation.getDiagramElements().get(0);
- Assert.assertEquals("The mapping type of the created representation is not the expected one.", elementMappingType, elementRepresentation.getMapping().getName());//$NON-NLS-1$
- Assert.assertTrue("The created sirus node must be a DNodeList", elementRepresentation instanceof DNodeList);//$NON-NLS-1$
- Assert.assertEquals("Only one semantic element must be associated to the representation.", 1, ((DNodeList) elementRepresentation).getSemanticElements().size());//$NON-NLS-1$
- Assert.assertTrue("The semantic element associated to the view must be the dropped element.", elementToBeDropped == ((DNodeList) elementRepresentation).getSemanticElements().get(0));//$NON-NLS-1$
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram must contain any children after undoig the Drop action", 0, diagram.getChildren().size()); //$NON-NLS-1$
- Assert.assertEquals("The diagram representation must contain any children after undoig the Drop action", 0, diagramRepresentation.getDiagramElements().size()); //$NON-NLS-1$
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram must have one child after redoing of the Drop action.", 1, diagram.getChildren().size()); //$NON-NLS-1$
- Assert.assertEquals("The diagram representation must have one child after redoing of the Drop action.", 1, diagramRepresentation.getOwnedDiagramElements().size());//$NON-NLS-1$
- }
-
- /**
- *
- * @param elementToBeDropped
- * the element to drop
- * @param dropToolId
- * the id of the drop tool to use
- * @param elementMappingType
- * the expected mapping type of the created view
- */
- protected void dropDNodeContainer(final Element elementToBeDropped, final String dropToolId, final String elementMappingType) {
- final DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- final Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children.", 0, diagram.getChildren().size()); //$NON-NLS-1$
-
- final DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- Assert.assertEquals("The diagram representation must not yet have children.", 0, diagramRepresentation.getDiagramElements().size());//$NON-NLS-1$
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, dropToolId, diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action.", 1, diagram.getChildren().size()); //$NON-NLS-1$
- Assert.assertEquals("The diagram representation must have one child after the Drop action.", 1, diagramRepresentation.getOwnedRepresentationElements().size());//$NON-NLS-1$
- final DDiagramElement elementRepresentation = diagramRepresentation.getDiagramElements().get(0);
- Assert.assertEquals("The mapping type of the created representation is not the expected one.", elementMappingType, elementRepresentation.getMapping().getName());//$NON-NLS-1$
- Assert.assertTrue("The created sirus node must be a DNodeContainer", elementRepresentation instanceof DNodeContainer);//$NON-NLS-1$
- Assert.assertEquals("Only one semantic element must be associated to the representation.", 1, ((DNodeContainer) elementRepresentation).getSemanticElements().size());//$NON-NLS-1$
- Assert.assertTrue("The semantic element associated to the view must be the dropped element.", elementToBeDropped == ((DNodeContainer) elementRepresentation).getSemanticElements().get(0));//$NON-NLS-1$
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram must contain any children after undoig the Drop action", 0, diagram.getChildren().size()); //$NON-NLS-1$
- Assert.assertEquals("The diagram representation must contain any children after undoig the Drop action", 0, diagramRepresentation.getDiagramElements().size()); //$NON-NLS-1$
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram must have one child after redoing of the Drop action.", 1, diagram.getChildren().size()); //$NON-NLS-1$
- Assert.assertEquals("The diagram representation must have one child after redoing of the Drop action.", 1, diagramRepresentation.getOwnedDiagramElements().size());//$NON-NLS-1$
- }
-
- /**
- * Release resources
- */
- @After
- public void tearDown() {
- this.root = null;
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/AbstractTopNodeDropTests.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/AbstractTopNodeDropTests.java
new file mode 100755
index 0000000..96c22ca
--- /dev/null
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/AbstractTopNodeDropTests.java
@@ -0,0 +1,120 @@
+/*****************************************************************************
+ * Copyright (c) 2022 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.internal.api.IGraphicalNodeChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.internal.api.ISemanticNodeChecker;
+import org.eclipse.sirius.diagram.DDiagram;
+import org.eclipse.sirius.diagram.DNodeContainer;
+import org.eclipse.sirius.diagram.DSemanticDiagram;
+import org.eclipse.sirius.diagram.DragAndDropTarget;
+import org.eclipse.sirius.viewpoint.DRepresentationElement;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+
+/**
+ * Abstract Class for Drop Top Node tests
+ */
+public abstract class AbstractTopNodeDropTests {
+
+ /**
+ * this fixture is used to access to Papyrus environment (editor/diagram/commandstack/editingdomain/...)
+ */
+ @Rule
+ public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture();
+
+ /**
+ * The root of the model
+ */
+ protected Package root;
+
+ protected Diagram diagram;
+
+ protected DDiagram diagramRepresentation;
+
+ /**
+ * Init the test field
+ */
+ @Before
+ public void setUp() {
+ this.root = (Package) this.fixture.getModel();
+ Assert.assertNotNull(this.root);
+ final DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
+ diagram = diagramEditpart.getDiagramView();
+
+ diagramRepresentation = (DDiagram) diagram.getElement();
+ }
+
+ /**
+ *
+ * @param dropToolId
+ * the id of the drop tool to use
+ * @param elementMappingType
+ * the expected mapping type of the created view
+ * @param elementToBeDropped
+ * the element to drop
+ */
+ protected void dropNode(final String dropToolId, final IGraphicalNodeChecker graphicalChecker, final ISemanticNodeChecker semanticChecker, final Element elementToBeDropped) {
+ DragAndDropTarget dropTarget = getTopNodeGraphicalContainer();
+ Assert.assertNotNull(dropTarget);
+
+ boolean result = fixture.applyContainerDropDescriptionTool(diagramRepresentation, dropToolId, dropTarget, elementToBeDropped);
+ Assert.assertTrue("The drop of element failed", result); //$NON-NLS-1$
+ fixture.flushDisplayEvents();
+
+ EObject createdElementRepresentation = null;
+ if (dropTarget instanceof DNodeContainer) {
+ createdElementRepresentation = ((DNodeContainer) dropTarget).getOwnedDiagramElements().get(0);
+ }
+ if (dropTarget instanceof DSemanticDiagram) {
+ createdElementRepresentation = ((DSemanticDiagram) dropTarget).getOwnedDiagramElements().get(0);
+ }
+
+ Assert.assertTrue(createdElementRepresentation instanceof DRepresentationElement);
+
+ graphicalChecker.validateNode((DRepresentationElement) createdElementRepresentation);
+ semanticChecker.validateNode((DRepresentationElement) createdElementRepresentation);
+
+ // undo
+ fixture.getEditingDomain().getCommandStack().undo();
+ fixture.flushDisplayEvents();
+ graphicalChecker.validateAfterUndo();
+ semanticChecker.validateAfterUndo();
+
+ // redo
+ fixture.getEditingDomain().getCommandStack().redo();
+ fixture.flushDisplayEvents();
+
+ graphicalChecker.validateAfterRedo();
+ semanticChecker.validateAfterRedo();
+ }
+
+ protected abstract DragAndDropTarget getTopNodeGraphicalContainer();
+
+ /**
+ * Release resources
+ */
+ @After
+ public void tearDown() {
+ this.root = null;
+ }
+}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Class_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Class_TopNode_DropTest.java
deleted file mode 100755
index 2136164..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Class_TopNode_DropTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationRunner;
-import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.SemanticDropToolsIds;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.DNodeContainer;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-@SuppressWarnings("nls")
-public class Class_TopNode_DropTest extends AbstractPapyrusTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram";
-
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture(/* Collections.singletonList("aird") */);
-
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void Class_DropTest() {
-
- Assert.assertTrue(fixture.getModel() instanceof Model);
- Model rootModel = (Model) fixture.getModel();
- NamedElement elementToBeDropped = rootModel.getMember("ClassToDrop");
- Assert.assertTrue("The element to be dropped is an instance of UML Class", elementToBeDropped instanceof org.eclipse.uml2.uml.Class);
-
- DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children", 0, diagram.getChildren().size());
-
- DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, SemanticDropToolsIds.DROP_CLASS_TOOL, diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action", 1, diagram.getChildren().size());
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram does not contain any children after undoing the Drop action", 0, diagram.getChildren().size());
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram contains one child after redoing the Drop action", 1, diagram.getChildren().size());
- Object element = diagram.getChildren().get(0);
- Assert.assertTrue("The created element must be a View", element instanceof View);
- EObject siriusNewRepresentation = ((View) element).getElement();
- Assert.assertTrue("The created sirus node must be a DNode", siriusNewRepresentation instanceof DNodeContainer);
- EObject semanticElement = ((DNodeContainer) siriusNewRepresentation).getSemanticElements().iterator().next();
- Assert.assertTrue("The created element must be a UML Class", semanticElement instanceof org.eclipse.uml2.uml.Class);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Comment_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Comment_TopNode_DropTest.java
index bde2956..11ab1e1 100755
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Comment_TopNode_DropTest.java
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Comment_TopNode_DropTest.java
@@ -17,7 +17,6 @@
import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationRunner;
import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
import org.eclipse.papyrus.junit.utils.rules.PluginResource;
@@ -28,10 +27,11 @@
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.runner.RunWith;
/**
* Drop Class test
+ *
+ * TODO : move the test into {@link DropTopNodeOnClassDiagram_ModelOwner_Test} when the comment will be included in the common viewpoint in the VSL
*/
@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
@SuppressWarnings("nls")
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Component_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Component_TopNode_DropTest.java
deleted file mode 100755
index af97034..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Component_TopNode_DropTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationRunner;
-import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.DNodeContainer;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-@SuppressWarnings("nls")
-public class Component_TopNode_DropTest extends AbstractPapyrusTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram";
-
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture(/* Collections.singletonList("aird") */);
-
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void component_DropTest() {
-
- Assert.assertTrue(fixture.getModel() instanceof Model);
- Model rootModel = (Model) fixture.getModel();
- NamedElement elementToBeDropped = rootModel.getMember("ComponentToDrop");
- Assert.assertTrue("The element to be dropped is an instance of UML Component", elementToBeDropped instanceof org.eclipse.uml2.uml.Component);
-
- DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children", 0, diagram.getChildren().size());
-
- DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, "SemanticComponentDrop", diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action", 1, diagram.getChildren().size());
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram does not contain any children after undoing the Drop action", 0, diagram.getChildren().size());
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram contains one child after redoing the Drop action", 1, diagram.getChildren().size());
- Object element = diagram.getChildren().get(0);
- Assert.assertTrue("The created element must be a View", element instanceof View);
- EObject siriusNewRepresentation = ((View) element).getElement();
- Assert.assertTrue("The created sirus node must be a DNode", siriusNewRepresentation instanceof DNodeContainer);
- EObject semanticElement = ((DNodeContainer) siriusNewRepresentation).getSemanticElements().iterator().next();
- Assert.assertTrue("The created element must be a UML Component", semanticElement instanceof org.eclipse.uml2.uml.Component);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Constraint_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Constraint_TopNode_DropTest.java
deleted file mode 100755
index 68eaa27..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Constraint_TopNode_DropTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationRunner;
-import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeSpec;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-@SuppressWarnings("nls")
-public class Constraint_TopNode_DropTest extends AbstractPapyrusTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram";
-
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture(/* Collections.singletonList("aird") */);
-
- @SuppressWarnings("restriction")
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void Constraint_DropTest() {
-
- Assert.assertTrue(fixture.getModel() instanceof Model);
- Model rootModel = (Model) fixture.getModel();
- NamedElement elementToBeDropped = rootModel.getMember("ConstraintToDrop");
- Assert.assertTrue("The element to be dropped is an instance of UML Constraint", elementToBeDropped instanceof org.eclipse.uml2.uml.Constraint);
-
- DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children", 0, diagram.getChildren().size());
-
- DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, "Constraint from Model", diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action", 1, diagram.getChildren().size());
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram does not contain any children after undoing the Drop action", 0, diagram.getChildren().size());
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram contains one child after redoing the Drop action", 1, diagram.getChildren().size());
- Object element = diagram.getChildren().get(0);
- Assert.assertTrue("The created element must be a View", element instanceof View);
- EObject siriusNewRepresentation = ((View) element).getElement();
- Assert.assertTrue("The created sirus node must be a DNode", siriusNewRepresentation instanceof DNodeSpec);
- EObject semanticElement = ((DNodeSpec) siriusNewRepresentation).getSemanticElements().iterator().next();
- Assert.assertTrue("The created element must be a UML Constraint", semanticElement instanceof org.eclipse.uml2.uml.Constraint);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/DataType_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/DataType_TopNode_DropTest.java
deleted file mode 100755
index f0ef298..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/DataType_TopNode_DropTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.MappingTypes;
-import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.SemanticDropToolsIds;
-import org.eclipse.uml2.uml.DataType;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * DataType Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-public class DataType_TopNode_DropTest extends AbstractTopNodeDropTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram"; //$NON-NLS-1$
-
-
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void dataType_DropTest() {
- final NamedElement elementToBeDropped = this.root.getMember("DataTypeToDrop"); //$NON-NLS-1$
- Assert.assertTrue("The element to be dropped must be an instance of DataType", elementToBeDropped instanceof DataType);//$NON-NLS-1$
- dropDNodeContainer(elementToBeDropped, SemanticDropToolsIds.DROP_DATATYPE_TOOL, MappingTypes.DATATYPE_NODE_TYPE);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/DropTopNodeOnClassDiagram_ModelOwner_Test.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/DropTopNodeOnClassDiagram_ModelOwner_Test.java
new file mode 100755
index 0000000..7ef35a9
--- /dev/null
+++ b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/DropTopNodeOnClassDiagram_ModelOwner_Test.java
@@ -0,0 +1,172 @@
+/*****************************************************************************
+ * Copyright (c) 2022 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
+
+import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.SemanticDropToolsIds;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_ClassCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_ComponentCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_ConstraintCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_DataTypeCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_EnumerationCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_InformationItemCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_InstanceSpecificationCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_InterfaceCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_ModelCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_PackageCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_PrimitiveTypeCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.creation.graphical.CD_SignalCreationChecker;
+import org.eclipse.papyrus.uml.siriusdiag.clazz.tests.checkers.internal.api.SemanticDropChecker;
+import org.eclipse.sirius.diagram.DragAndDropTarget;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Signal;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * This class tests the drop of semantic element into the Diagram. The diagram background is a UML model
+ */
+@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
+public class DropTopNodeOnClassDiagram_ModelOwner_Test extends AbstractTopNodeDropTests {
+
+
+ private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram"; //$NON-NLS-1$
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropComment() {
+ // TODO : firstly we need to create the tool and to move the Comment in the expected layer
+ // final Comment elementToBeDropped = this.root.getOwnedComments().get(0);
+ // Assert.assertTrue("The element to be dropped must be an instance of Class", elementToBeDropped instanceof org.eclipse.uml2.uml.Comment);//$NON-NLS-1$
+ // dropNode(SemanticDropToolsIds.DROP__COMMENT__TOOL, new CD_CommentCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropClass() {
+ final NamedElement elementToBeDropped = this.root.getMember("ClassToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of Class", elementToBeDropped instanceof org.eclipse.uml2.uml.Class);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__CLASS__TOOL, new CD_ClassCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropComponent() {
+ final NamedElement elementToBeDropped = this.root.getMember("ComponentToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of Component", elementToBeDropped instanceof Component);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__COMPONENT__TOOL, new CD_ComponentCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropConstraint() {
+ final Constraint elementToBeDropped = this.root.getOwnedElements().stream().filter(Constraint.class::isInstance).map(Constraint.class::cast).findFirst().get();
+ Assert.assertTrue("The element to be dropped must be an instance of Constraint", elementToBeDropped instanceof org.eclipse.uml2.uml.Constraint);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__CONSTRAINT__TOOL, new CD_ConstraintCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropDatatype() {
+ final NamedElement elementToBeDropped = this.root.getMember("DataTypeToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of DataType", elementToBeDropped instanceof DataType);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__DATATYPE__TOOL, new CD_DataTypeCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropEnumeration() {
+ final NamedElement elementToBeDropped = this.root.getMember("EnumerationToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of Enumeration", elementToBeDropped instanceof Enumeration);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__ENUMERATION__TOOL, new CD_EnumerationCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropInformationItem() {
+ final NamedElement elementToBeDropped = this.root.getMember("InformationItemToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of InformationItem", elementToBeDropped instanceof InformationItem);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__INFORMATION_ITEM__TOOL, new CD_InformationItemCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropInstanceSpecification() {
+ final NamedElement elementToBeDropped = this.root.getMember("InstanceSpecificationToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of InstanceSpecification", elementToBeDropped instanceof InstanceSpecification);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__INSTANCE_SPECIFICATION__TOOL, new CD_InstanceSpecificationCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropInterface() {
+ final NamedElement elementToBeDropped = this.root.getMember("InterfaceToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of Interface", elementToBeDropped instanceof Interface);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__INTERFACE__TOOL, new CD_InterfaceCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropModel() {
+ final NamedElement elementToBeDropped = this.root.getMember("ModelToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of Model", elementToBeDropped instanceof Model);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__MODEL__TOOL, new CD_ModelCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropPackage() {
+ final NamedElement elementToBeDropped = this.root.getMember("PackageToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of Package", elementToBeDropped instanceof Package);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__PACKAGE__TOOL, new CD_PackageCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropPrimitiveType() {
+ final NamedElement elementToBeDropped = this.root.getMember("PrimitiveTypeToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of PrimitiveType", elementToBeDropped instanceof PrimitiveType);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__PRIMITIVETYPE__TOOL, new CD_PrimitiveTypeCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ @Test
+ @ActiveDiagram(CLASS_DIAGRAM_NAME)
+ public void dropSignal() {
+ final NamedElement elementToBeDropped = this.root.getMember("SignalToDrop"); //$NON-NLS-1$
+ Assert.assertTrue("The element to be dropped must be an instance of Signal", elementToBeDropped instanceof Signal);//$NON-NLS-1$
+ dropNode(SemanticDropToolsIds.DROP__SIGNAL__TOOL, new CD_SignalCreationChecker(this.diagram, this.diagramRepresentation), new SemanticDropChecker(elementToBeDropped), elementToBeDropped);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes.AbstractTopNodeDropTests#getTopNodeGraphicalContainer()
+ *
+ * @return
+ */
+
+ @Override
+ protected DragAndDropTarget getTopNodeGraphicalContainer() {
+ return this.diagramRepresentation;
+ }
+}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Enumeration_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Enumeration_TopNode_DropTest.java
deleted file mode 100755
index 707142a..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Enumeration_TopNode_DropTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.MappingTypes;
-import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.SemanticDropToolsIds;
-import org.eclipse.uml2.uml.Enumeration;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Enumeration Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-public class Enumeration_TopNode_DropTest extends AbstractTopNodeDropTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram"; //$NON-NLS-1$
-
-
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void enumeration_DropTest() {
- final NamedElement elementToBeDropped = this.root.getMember("EnumerationToDrop"); //$NON-NLS-1$
- Assert.assertTrue("The element to be dropped must be an instance of Enumeration", elementToBeDropped instanceof Enumeration);//$NON-NLS-1$
- dropDNodeContainer(elementToBeDropped, SemanticDropToolsIds.DROP_ENUMERATION_TOOL, MappingTypes.ENUMERATION_NODE_TYPE);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/InformationItem_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/InformationItem_TopNode_DropTest.java
deleted file mode 100755
index e8516e0..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/InformationItem_TopNode_DropTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationRunner;
-import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeSpec;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-@SuppressWarnings("nls")
-public class InformationItem_TopNode_DropTest extends AbstractPapyrusTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram";
-
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture(/* Collections.singletonList("aird") */);
-
- @SuppressWarnings("restriction")
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void InformationItem_DropTest() {
-
- Assert.assertTrue(fixture.getModel() instanceof Model);
- Model rootModel = (Model) fixture.getModel();
- NamedElement elementToBeDropped = rootModel.getMember("InformationItemToDrop");
- Assert.assertTrue("The element to be dropped is an instance of UML InformationItem", elementToBeDropped instanceof org.eclipse.uml2.uml.InformationItem);
-
- DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children", 0, diagram.getChildren().size());
-
- DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, "InformationItem from Model", diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action", 1, diagram.getChildren().size());
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram does not contain any children after undoing the Drop action", 0, diagram.getChildren().size());
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram contains one child after redoing the Drop action", 1, diagram.getChildren().size());
- Object element = diagram.getChildren().get(0);
- Assert.assertTrue("The created element must be a View", element instanceof View);
- EObject siriusNewRepresentation = ((View) element).getElement();
- Assert.assertTrue("The created sirus node must be a DNode", siriusNewRepresentation instanceof DNodeSpec);
- EObject semanticElement = ((DNodeSpec) siriusNewRepresentation).getSemanticElements().iterator().next();
- Assert.assertTrue("The created element must be a UML InformationItem", semanticElement instanceof org.eclipse.uml2.uml.InformationItem);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/InstanceSpecification_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/InstanceSpecification_TopNode_DropTest.java
deleted file mode 100755
index aae9226..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/InstanceSpecification_TopNode_DropTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationRunner;
-import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.DNodeContainer;
-import org.eclipse.sirius.diagram.DNodeList;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-@SuppressWarnings("nls")
-public class InstanceSpecification_TopNode_DropTest extends AbstractPapyrusTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram";
-
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture(/* Collections.singletonList("aird") */);
-
- @SuppressWarnings("restriction")
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void InstanceSpecification_DropTest() {
-
- Assert.assertTrue(fixture.getModel() instanceof Model);
- Model rootModel = (Model) fixture.getModel();
- NamedElement elementToBeDropped = rootModel.getMember("InstanceSpecificationToDrop");
- Assert.assertTrue("The element to be dropped is an instance of UML InstanceSpecification", elementToBeDropped instanceof org.eclipse.uml2.uml.InstanceSpecification);
-
- DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children", 0, diagram.getChildren().size());
-
- DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, "InstanceSpecification from Model", diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action", 1, diagram.getChildren().size());
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram does not contain any children after undoing the Drop action", 0, diagram.getChildren().size());
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram contains one child after redoing the Drop action", 1, diagram.getChildren().size());
- Object element = diagram.getChildren().get(0);
- Assert.assertTrue("The created element must be a View", element instanceof View);
- EObject siriusNewRepresentation = ((View) element).getElement();
- Assert.assertTrue("The created sirus node must be a DNodeContainer", siriusNewRepresentation instanceof DNodeContainer);
- EObject semanticElement = ((DNodeContainer) siriusNewRepresentation).getSemanticElements().iterator().next();
- Assert.assertTrue("The created element must be a UML InstanceSpecification", semanticElement instanceof org.eclipse.uml2.uml.InstanceSpecification);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Interface_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Interface_TopNode_DropTest.java
deleted file mode 100755
index 84bfa14..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Interface_TopNode_DropTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationRunner;
-import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.DNodeContainer;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-@SuppressWarnings("nls")
-public class Interface_TopNode_DropTest extends AbstractPapyrusTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram";
-
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture(/* Collections.singletonList("aird") */);
-
- @SuppressWarnings("restriction")
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void Interface_DropTest() {
-
- Assert.assertTrue(fixture.getModel() instanceof Model);
- Model rootModel = (Model) fixture.getModel();
- NamedElement elementToBeDropped = rootModel.getMember("InterfaceToDrop");
- Assert.assertTrue("The element to be dropped is an instance of UML Interface", elementToBeDropped instanceof org.eclipse.uml2.uml.Interface);
-
- DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children", 0, diagram.getChildren().size());
-
- DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, "Interface from Model", diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action", 1, diagram.getChildren().size());
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram does not contain any children after undoing the Drop action", 0, diagram.getChildren().size());
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram contains one child after redoing the Drop action", 1, diagram.getChildren().size());
- Object element = diagram.getChildren().get(0);
- Assert.assertTrue("The created element must be a View", element instanceof View);
- EObject siriusNewRepresentation = ((View) element).getElement();
- Assert.assertTrue("The created sirus node must be a DNode", siriusNewRepresentation instanceof DNodeContainer);
- EObject semanticElement = ((DNodeContainer) siriusNewRepresentation).getSemanticElements().iterator().next();
- Assert.assertTrue("The created element must be a UML Interface", semanticElement instanceof org.eclipse.uml2.uml.Interface);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Model_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Model_TopNode_DropTest.java
deleted file mode 100755
index a16864f..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Model_TopNode_DropTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationRunner;
-import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.SemanticDropToolsIds;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.DNodeContainer;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-@SuppressWarnings("nls")
-public class Model_TopNode_DropTest extends AbstractPapyrusTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram";
-
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture(/* Collections.singletonList("aird") */);
-
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void Model_DropTest() {
-
- Assert.assertTrue(fixture.getModel() instanceof Model);
- Model rootModel = (Model) fixture.getModel();
- NamedElement elementToBeDropped = rootModel.getMember("ModelToDrop");
- Assert.assertTrue("The element to be dropped is an instance of UML Model", elementToBeDropped instanceof org.eclipse.uml2.uml.Model);
-
- DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children", 0, diagram.getChildren().size());
-
- DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, SemanticDropToolsIds.DROP_MODEL_TOOL, diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action", 1, diagram.getChildren().size());
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram does not contain any children after undoing the Drop action", 0, diagram.getChildren().size());
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram contains one child after redoing the Drop action", 1, diagram.getChildren().size());
- Object element = diagram.getChildren().get(0);
- Assert.assertTrue("The created element must be a View", element instanceof View);
- EObject siriusNewRepresentation = ((View) element).getElement();
- Assert.assertTrue("The created sirus node must be a DNode", siriusNewRepresentation instanceof DNodeContainer);
- EObject semanticElement = ((DNodeContainer) siriusNewRepresentation).getSemanticElements().iterator().next();
- Assert.assertTrue("The created element must be a UML Model", semanticElement instanceof org.eclipse.uml2.uml.Model);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Package_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Package_TopNode_DropTest.java
deleted file mode 100755
index 8874c1c..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Package_TopNode_DropTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationRunner;
-import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.SemanticDropToolsIds;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.DNodeContainer;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-@SuppressWarnings("nls")
-public class Package_TopNode_DropTest extends AbstractPapyrusTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram";
-
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture(/* Collections.singletonList("aird") */);
-
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void Package_DropTest() {
-
- Assert.assertTrue(fixture.getModel() instanceof Model);
- Model rootModel = (Model) fixture.getModel();
- NamedElement elementToBeDropped = rootModel.getMember("PackageToDrop");
- Assert.assertTrue("The element to be dropped is an instance of UML Package", elementToBeDropped instanceof org.eclipse.uml2.uml.Package);
-
- DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children", 0, diagram.getChildren().size());
-
- DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, SemanticDropToolsIds.DROP_PACKAGE_TOOL, diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action", 1, diagram.getChildren().size());
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram does not contain any children after undoing the Drop action", 0, diagram.getChildren().size());
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram contains one child after redoing the Drop action", 1, diagram.getChildren().size());
- Object element = diagram.getChildren().get(0);
- Assert.assertTrue("The created element must be a View", element instanceof View);
- EObject siriusNewRepresentation = ((View) element).getElement();
- Assert.assertTrue("The created sirus node must be a DNode", siriusNewRepresentation instanceof DNodeContainer);
- EObject semanticElement = ((DNodeContainer) siriusNewRepresentation).getSemanticElements().iterator().next();
- Assert.assertTrue("The created element must be a UML Package", semanticElement instanceof org.eclipse.uml2.uml.Package);
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/PrimitiveType_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/PrimitiveType_TopNode_DropTest.java
deleted file mode 100755
index d4b5ccf..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/PrimitiveType_TopNode_DropTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.MappingTypes;
-import org.eclipse.papyrus.uml.sirius.clazz.diagram.internal.constants.SemanticDropToolsIds;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.PrimitiveType;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-public class PrimitiveType_TopNode_DropTest extends AbstractTopNodeDropTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram"; //$NON-NLS-1$
-
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void primitiveType_DropTest() {
- final NamedElement elementToBeDropped = this.root.getMember("PrimitiveTypeToDrop"); //$NON-NLS-1$
- Assert.assertTrue("The element to be dropped must be an instance of PrimitiveType", elementToBeDropped instanceof PrimitiveType);//$NON-NLS-1$
- dropDNodeContainer(elementToBeDropped, SemanticDropToolsIds.DROP_PRIMITIVETYPE_TOOL, MappingTypes.PRIMITIVETYPE_NODE_TYPE);
-
- }
-}
diff --git a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Signal_TopNode_DropTest.java b/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Signal_TopNode_DropTest.java
deleted file mode 100755
index 93842f0..0000000
--- a/tests/junit/plugins/uml/siriusdiag/org.eclipse.papyrus.uml.siriusdiag.clazz.tests/src/org/eclipse/papyrus/uml/siriusdiag/clazz/tests/drop/topNodes/Signal_TopNode_DropTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Rengin Battal (ARTAL) - rengin.battal@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.uml.siriusdiag.clazz.tests.drop.topNodes;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
-import org.eclipse.papyrus.junit.utils.rules.ActiveDiagram;
-import org.eclipse.papyrus.junit.utils.rules.PluginResource;
-import org.eclipse.papyrus.sirusdiag.junit.utils.rules.SiriusDiagramEditorFixture;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.DNodeContainer;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-
-/**
- * Drop Class test
- */
-@PluginResource("resources/drop/topNode/TopNode_DropTest.di")
-@SuppressWarnings("nls")
-public class Signal_TopNode_DropTest extends AbstractPapyrusTest {
-
- private static final String CLASS_DIAGRAM_NAME = "TopNode_Drop_ClassDiagram";
-
- @Rule
- public final SiriusDiagramEditorFixture fixture = new SiriusDiagramEditorFixture(/* Collections.singletonList("aird") */);
-
- @SuppressWarnings("restriction")
- @Test
- @ActiveDiagram(CLASS_DIAGRAM_NAME)
- public void Signal_DropTest() {
-
- Assert.assertTrue(fixture.getModel() instanceof Model);
- Model rootModel = (Model) fixture.getModel();
- NamedElement elementToBeDropped = rootModel.getMember("SignalToDrop");
- Assert.assertTrue("The element to be dropped is an instance of UML Signal", elementToBeDropped instanceof org.eclipse.uml2.uml.Signal);
-
- DiagramEditPart diagramEditpart = fixture.getActiveDiagram();
- Diagram diagram = diagramEditpart.getDiagramView();
- Assert.assertEquals("The diagram must not yet have children", 0, diagram.getChildren().size());
-
- DDiagram diagramRepresentation = (DDiagram) diagram.getElement();
- fixture.applyContainerDropDescriptionTool(diagramRepresentation, "Signal from Model", diagramRepresentation, elementToBeDropped);
- fixture.flushDisplayEvents();
-
- Assert.assertEquals("The diagram must have one child after the Drop action", 1, diagram.getChildren().size());
-
- // undo
- fixture.getEditingDomain().getCommandStack().undo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram does not contain any children after undoing the Drop action", 0, diagram.getChildren().size());
-
- // redo
- fixture.getEditingDomain().getCommandStack().redo();
- fixture.flushDisplayEvents();
- Assert.assertEquals("The diagram contains one child after redoing the Drop action", 1, diagram.getChildren().size());
- Object element = diagram.getChildren().get(0);
- Assert.assertTrue("The created element must be a View", element instanceof View);
- EObject siriusNewRepresentation = ((View) element).getElement();
- Assert.assertTrue("The created sirus node must be a DNodeContainer", siriusNewRepresentation instanceof DNodeContainer);
- EObject semanticElement = ((DNodeContainer) siriusNewRepresentation).getSemanticElements().iterator().next();
- Assert.assertTrue("The created element must be a UML Signal", semanticElement instanceof org.eclipse.uml2.uml.Signal);
- }
-}