blob: 362ba11760f4f48e868f0b42faac08fcdfa38877 [file]
<?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:description_2="http://www.eclipse.org/sirius/table/description/1.1.0" xmlns:description_3="http://www.eclipse.org/sirius/tree/description/1.0.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" xmlns:tool_1="http://www.eclipse.org/sirius/description/tool/1.1.0" name="component" version="12.0.0.2017041100">
<ownedViewpoints name="Component" modelFileExtension="component">
<ownedRepresentations xsi:type="description_1:DiagramDescription" dropDescriptions="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Drop%20Component']" name="Diagram" domainClass="component.Component">
<defaultLayer name="Default">
<edgeMappings name="Single Reference" deletionDescription="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Delete%20Single%20Reference']" sourceMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']" targetMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']" targetFinderExpression="[reference/]" reconnections="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Reconnect%20Single%20Reference']">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<endLabelStyleDescription showIcon="false" labelExpression="r">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</endLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="Bi-Directional Reference" deletionDescription="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Delete%20Bi-Directional%20Reference']" sourceMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']" targetMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']" targetFinderExpression="[references/]" reconnections="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Reconnect%20Bi-Directional%20Reference']">
<style lineStyle="dash" targetArrow="NoDecoration" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<beginLabelStyleDescription showIcon="false" labelExpression="O">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</beginLabelStyleDescription>
<endLabelStyleDescription showIcon="false" labelExpression="R">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</endLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="Reference" deletionDescription="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Delete%20Reference']" sourceMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']" targetMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']" targetFinderExpression="[references2/]" reconnections="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Reconnect%20%20Reference']">
<style lineStyle="dot" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<endLabelStyleDescription showIcon="false" labelExpression="R2">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</endLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="Component" deletionDescription="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Delete%20Component']" labelDirectEdit="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Edit%20Name']" semanticCandidatesExpression="[self.children->select(not payload)/]" domainClass="component.Component" dropDescriptions="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Drop%20Component']" reusedContainerMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
<conditionnalStyles predicateExpression="[self.children->exists(c | c.payload)/]">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</conditionnalStyles>
</containerMappings>
<toolSections name="Tools">
<ownedTools xsi:type="tool:ContainerCreationDescription" name="ComponentCreation" label="Component" containerMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:CreateInstance" typeName="component.Component" referenceName="children" variableName="">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[eContainer(component::Component).name + '.' + eContainer(component::Component).children->size()/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DirectEditLabel" name="Edit Name">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:EdgeCreationDescription" name="Create Single Reference" label="Single Reference" edgeMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@edgeMappings[name='Single%20Reference']">
<sourceVariable name="sourceObj"/>
<targetVariable name="targetObj"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sourceObj">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="var:targetObj"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:EdgeCreationDescription" name="Create Bi-Directional Reference" label="Bi-Directional Reference" edgeMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@edgeMappings[name='Bi-Directional%20Reference']">
<sourceVariable name="sourceObj"/>
<targetVariable name="targetObj"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sourceObj">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="var:targetObj"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:EdgeCreationDescription" name="Create Reference" label="Reference" edgeMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@edgeMappings[name='Reference']">
<sourceVariable name="sourceObj"/>
<targetVariable name="targetObj"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sourceObj">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="var:targetObj"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Delete Single Reference">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[elementView.sourceNode.oclAsType(viewpoint::DSemanticDecorator).target/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="reference" elementExpression="[elementView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Delete Bi-Directional Reference">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[elementView.sourceNode.oclAsType(viewpoint::DSemanticDecorator).target/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="[elementView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Delete Reference">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[elementView.sourceNode.oclAsType(viewpoint::DSemanticDecorator).target/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="[elementView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Delete Component">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:PopupMenu" name="Component Actions" precondition="[self.oclIsKindOf(component::Component)/]">
<menuItemDescription xsi:type="tool_1:OperationAction" name="Enable All Content Payload" precondition="[self.eAllContents()->filter(component::Component)->exists(c | not c.payload)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="[self.eAllContents()->filter(component::Component)/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="true"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Disable All Content Payload" precondition="[self.eAllContents()->filter(component::Component)->exists(c | c.payload)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="[self.eAllContents()->filter(component::Component)/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="false"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Enable Children Payload" precondition="[self.oclIsKindOf(component::Component) and self.oclAsType(component::Component).children->exists(c | not c.payload)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="feature:children">
<subModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="true"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Disable Children Payload" label="Disable Children Payload" precondition="[self.oclIsKindOf(component::Component) and self.oclAsType(component::Component).children->exists(c | c.payload)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="feature:children">
<subModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="false"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Enable Payload" precondition="[self.oclIsKindOf(component::Component) and not self.oclAsType(component::Component).payload/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="true"/>
</initialOperation>
</menuItemDescription>
</ownedTools>
<ownedTools xsi:type="tool:ReconnectEdgeDescription" name="Reconnect Single Reference" reconnectionKind="RECONNECT_BOTH">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source &lt;> element/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="var:target"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source = element/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = sourceView/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:Unset" featureName="reference" elementExpression="var:element"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="reference" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> sourceView/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:Unset" featureName="reference" elementExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool:ReconnectEdgeDescription" name="Reconnect Bi-Directional Reference" reconnectionKind="RECONNECT_BOTH">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source &lt;> element/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source = element/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = sourceView/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="var:element"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> sourceView/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool:ReconnectEdgeDescription" name="Reconnect Reference" reconnectionKind="RECONNECT_BOTH">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source &lt;> element/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source = element/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = sourceView/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="var:element"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> sourceView/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool:ContainerDropDescription" name="Drop Component" precondition="[self.oclIsKindOf(component::Component)/]" forceRefresh="true" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newSemanticContainer">
<subModelOperations xsi:type="tool_1:SetValue" featureName="children" valueExpression="var:element"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
</defaultLayer>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_2:CrossTableDescription" name="References" domainClass="component.Component">
<ownedLineMappings name="References Component Lines" reusedSubLines="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='References']/@ownedLineMappings[name='References%20Component%20Lines']" reusedInMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='References']/@ownedLineMappings[name='References%20Component%20Lines']" domainClass="component.Component" semanticCandidatesExpression="[self.children->select(not payload)/]" headerLabelExpression="feature:name">
<defaultBackground>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</defaultBackground>
<backgroundConditionalStyle predicateExpression="[self.children->exists(c | c.payload)/]">
<style>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
</style>
</backgroundConditionalStyle>
<create name="Create Child Component" elementsToSelect="service:stdEmptyCollection" mapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='References']/@ownedLineMappings[name='References%20Component%20Lines']">
<variables name="root" documentation="The semantic element of the table."/>
<variables name="element" documentation="The semantic currently edited element."/>
<variables name="container" documentation="The semantic element corresponding to the view container."/>
<firstModelOperation xsi:type="tool_1:CreateInstance" typeName="component.Component" referenceName="children" variableName="">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[eContainer(component::Component).name + '.' + eContainer(component::Component).children->size()/]"/>
</firstModelOperation>
</create>
</ownedLineMappings>
<ownedCreateLine name="Create Global Component" elementsToSelect="service:stdEmptyCollection" mapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='References']/@ownedLineMappings[name='References%20Component%20Lines']">
<variables name="root" documentation="The semantic element of the table."/>
<variables name="element" documentation="The semantic currently edited element."/>
<variables name="container" documentation="The semantic element corresponding to the view container."/>
<firstModelOperation xsi:type="tool_1:CreateInstance" typeName="component.Component" referenceName="children" variableName="">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[eContainer(component::Component).name + '.' + eContainer(component::Component).children->size()/]"/>
</firstModelOperation>
</ownedCreateLine>
<ownedColumnMappings name="Component Columns" headerLabelExpression="feature:name" domainClass="component.Component" semanticCandidatesExpression="service:getAllChildren"/>
<intersection name="Intersection" lineMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='References']/@ownedLineMappings[name='References%20Component%20Lines']" columnMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='References']/@ownedColumnMappings.0" labelExpression="service:getIntersectionLabel(columnSemantic)" columnFinderExpression="service:getIntersectionColumms"/>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_2:EditionTableDescription" name="Statistics" domainClass="component.Component">
<ownedLineMappings name="Statistics Component Lines" reusedSubLines="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Statistics']/@ownedLineMappings[name='Statistics%20Component%20Lines']" reusedInMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Statistics']/@ownedLineMappings[name='Statistics%20Component%20Lines']" domainClass="component.Component" semanticCandidatesExpression="[self.children->select(not payload)/]" headerLabelExpression="feature:name">
<defaultBackground>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</defaultBackground>
<backgroundConditionalStyle predicateExpression="[self.children->exists(c | c.payload)/]">
<style>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
</style>
</backgroundConditionalStyle>
<create name="Create Child Component" elementsToSelect="service:stdEmptyCollection" mapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Statistics']/@ownedLineMappings[name='Statistics%20Component%20Lines']">
<variables name="root" documentation="The semantic element of the table."/>
<variables name="element" documentation="The semantic currently edited element."/>
<variables name="container" documentation="The semantic element corresponding to the view container."/>
<firstModelOperation xsi:type="tool_1:CreateInstance" typeName="component.Component" referenceName="children" variableName="">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[eContainer(component::Component).name + '.' + eContainer(component::Component).children->size()/]"/>
</firstModelOperation>
</create>
</ownedLineMappings>
<ownedCreateLine name="Create Global Component" elementsToSelect="service:stdEmptyCollection" mapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Statistics']/@ownedLineMappings[name='Statistics%20Component%20Lines']">
<variables name="root" documentation="The semantic element of the table."/>
<variables name="element" documentation="The semantic currently edited element."/>
<variables name="container" documentation="The semantic element corresponding to the view container."/>
<firstModelOperation xsi:type="tool_1:CreateInstance" typeName="component.Component" referenceName="children" variableName="">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[eContainer(component::Component).name + '.' + eContainer(component::Component).children->size()/]"/>
</firstModelOperation>
</ownedCreateLine>
<ownedColumnMappings name="References" headerLabelExpression="References" featureName="references" labelExpression="[self.references->size()/]"/>
<ownedColumnMappings name="Opposites" headerLabelExpression="Opposites" featureName="opposites" labelExpression="[self.opposites->size()/]"/>
<ownedColumnMappings name="Reference" headerLabelExpression="Reference" featureName="reference"/>
<ownedColumnMappings name="References2" headerLabelExpression="References" featureName="references2" labelExpression="[self.references->size()/]"/>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_3:TreeDescription" name="Tree" domainClass="component.Component">
<subItemMappings name="Component" domainClass="component.Component" semanticCandidatesExpression="[self.children->select(not payload)/]" reusedTreeItemMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Tree']/@subItemMappings[name='Component']">
<defaultStyle>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</defaultStyle>
<conditionalStyles predicateExpression="[self.children->exists(c | c.payload)/]">
<style>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
</style>
</conditionalStyles>
<create name="Create Child Component" elementsToSelect="service:stdEmptyCollection" mapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Tree']/@subItemMappings[name='Component']">
<firstModelOperation xsi:type="tool_1:CreateInstance" typeName="component.Component" referenceName="children" variableName="">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[eContainer(component::Component).name + '.' + eContainer(component::Component).children->size()/]"/>
</firstModelOperation>
<variables name="root" documentation="The semantic element of the tree."/>
<variables name="element" documentation="The semantic currently edited element."/>
<variables name="container" documentation="The semantic element corresponding to the view container."/>
</create>
</subItemMappings>
<createTreeItem name="Create Global Component" elementsToSelect="service:stdEmptyCollection" mapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Tree']/@subItemMappings[name='Component']">
<firstModelOperation xsi:type="tool_1:CreateInstance" typeName="component.Component" referenceName="children" variableName="">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[eContainer(component::Component).name + '.' + eContainer(component::Component).children->size()/]"/>
</firstModelOperation>
<variables name="root" documentation="The semantic element of the tree."/>
<variables name="element" documentation="The semantic currently edited element."/>
<variables name="container" documentation="The semantic element corresponding to the view container."/>
</createTreeItem>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_2:EditionTableDescription" name="Aliases" domainClass="Component">
<ownedLineMappings name="Aliases_Component" domainClass="Component" semanticCandidatesExpression="feature:children"/>
<ownedColumnMappings name="Aliases_Component_Name" headerLabelExpression="Name" featureName="name"/>
<ownedColumnMappings name="Aliases_Component_Description" headerLabelExpression="Aliases" featureName="aliases"/>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_1:DiagramDescription" dropDescriptions="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@toolSections.0/@ownedTools[name='Drop%20Component']" name="DiagramWithDecoration" domainClass="component.Component">
<metamodel href="http://www.eclipse.org/sirius/sample/component#/"/>
<defaultLayer name="Default">
<nodeMappings name="SelfNode" semanticCandidatesExpression="aql:self" domainClass="component.Component">
<style xsi:type="style:DotDescription" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_red']"/>
</style>
</nodeMappings>
<edgeMappings name="Single Reference" deletionDescription="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@toolSections.0/@ownedTools[name='Delete%20Single%20Reference']" sourceMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']" targetMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']" targetFinderExpression="[reference/]" reconnections="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@toolSections.0/@ownedTools[name='Reconnect%20Single%20Reference']">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<endLabelStyleDescription showIcon="false" labelExpression="r">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</endLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="Reference" deletionDescription="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Delete%20Reference']" sourceMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']" targetMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@containerMappings[name='Component']" targetFinderExpression="[references2/]" reconnections="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Reconnect%20%20Reference']">
<style lineStyle="dot" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<endLabelStyleDescription showIcon="false" labelExpression="R2">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</endLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="Component" deletionDescription="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@toolSections.0/@ownedTools[name='Delete%20Component']" labelDirectEdit="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@toolSections.0/@ownedTools[name='Edit%20Name']" semanticCandidatesExpression="[self.children->select(not payload)/]" domainClass="component.Component" dropDescriptions="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@toolSections.0/@ownedTools[name='Drop%20Component']" reusedContainerMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
<conditionnalStyles predicateExpression="[self.children->exists(c | c.payload)/]">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</conditionnalStyles>
</containerMappings>
<toolSections name="Tools">
<ownedTools xsi:type="tool:ContainerCreationDescription" name="ComponentCreation" label="Component" containerMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:CreateInstance" typeName="component.Component" referenceName="children" variableName="">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[eContainer(component::Component).name + '.' + eContainer(component::Component).children->size()/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DirectEditLabel" name="Edit Name">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:EdgeCreationDescription" name="Create Single Reference" label="Single Reference" edgeMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@edgeMappings[name='Single%20Reference']">
<sourceVariable name="sourceObj"/>
<targetVariable name="targetObj"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sourceObj">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="var:targetObj"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:EdgeCreationDescription" name="Create Bi-Directional Reference" label="Bi-Directional Reference">
<sourceVariable name="sourceObj"/>
<targetVariable name="targetObj"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sourceObj">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="var:targetObj"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:EdgeCreationDescription" name="Create Reference" label="Reference">
<sourceVariable name="sourceObj"/>
<targetVariable name="targetObj"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sourceObj">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="var:targetObj"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Delete Single Reference">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[elementView.sourceNode.oclAsType(viewpoint::DSemanticDecorator).target/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="reference" elementExpression="[elementView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Delete Bi-Directional Reference">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[elementView.sourceNode.oclAsType(viewpoint::DSemanticDecorator).target/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="[elementView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Delete Reference">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[elementView.sourceNode.oclAsType(viewpoint::DSemanticDecorator).target/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="[elementView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Delete Component">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:PopupMenu" name="Component Actions" precondition="[self.oclIsKindOf(component::Component)/]">
<menuItemDescription xsi:type="tool_1:OperationAction" name="Enable All Content Payload" precondition="[self.eAllContents()->filter(component::Component)->exists(c | not c.payload)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="[self.eAllContents()->filter(component::Component)/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="true"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Disable All Content Payload" precondition="[self.eAllContents()->filter(component::Component)->exists(c | c.payload)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="[self.eAllContents()->filter(component::Component)/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="false"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Enable Children Payload" precondition="[self.oclIsKindOf(component::Component) and self.oclAsType(component::Component).children->exists(c | not c.payload)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="feature:children">
<subModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="true"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Disable Children Payload" label="Disable Children Payload" precondition="[self.oclIsKindOf(component::Component) and self.oclAsType(component::Component).children->exists(c | c.payload)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="feature:children">
<subModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="false"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Enable Payload" precondition="[self.oclIsKindOf(component::Component) and not self.oclAsType(component::Component).payload/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="payload" valueExpression="true"/>
</initialOperation>
</menuItemDescription>
</ownedTools>
<ownedTools xsi:type="tool:ReconnectEdgeDescription" name="Reconnect Single Reference" reconnectionKind="RECONNECT_BOTH">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source &lt;> element/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="var:target"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source = element/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = sourceView/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:Unset" featureName="reference" elementExpression="var:element"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="reference" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> sourceView/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="reference" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:Unset" featureName="reference" elementExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool:ReconnectEdgeDescription" name="Reconnect Bi-Directional Reference" reconnectionKind="RECONNECT_BOTH">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source &lt;> element/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source = element/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = sourceView/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="var:element"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> sourceView/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:Unset" featureName="references" elementExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool:ReconnectEdgeDescription" name="Reconnect Reference" reconnectionKind="RECONNECT_BOTH">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source &lt;> element/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[source = element/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = sourceView/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd = edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="var:element"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> edgeView.targetNode/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="var:target"/>
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="var:source"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[otherEnd &lt;> sourceView/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool_1:SetValue" featureName="references2" valueExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:Unset" featureName="references2" elementExpression="[edgeView.targetNode.oclAsType(viewpoint::DSemanticDecorator).target/]"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool:ContainerDropDescription" name="Drop Component" precondition="[self.oclIsKindOf(component::Component)/]" forceRefresh="true" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newSemanticContainer">
<subModelOperations xsi:type="tool_1:SetValue" featureName="children" valueExpression="var:element"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<decorationDescriptionsSet>
<decorationDescriptions xsi:type="description:GenericDecorationDescription" name="SW_BeginsWithUpperCase" preconditionExpression="aql:element.name.toUpperFirst().equals(element.name)" imageExpression="/org.eclipse.sirius.tests.sample.component.design/images/square16x16.png" tooltipExpression="aql:'BeginsWithUpperCase'"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="NW_1" position="NORTH_WEST" distributionDirection="HORIZONTAL" preconditionExpression="aql:self = element and view.target = self" imageExpression="/org.eclipse.sirius.tests.sample.component.design/images/square16x16.png" tooltipExpression="NW_1" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@edgeMappings[name='Single%20Reference'] //@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="NW_2" position="NORTH_WEST" distributionDirection="HORIZONTAL" preconditionExpression="aql:true" imageExpression="/org.eclipse.sirius.tests.sample.component.design/images/square32x32.png" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@edgeMappings[name='Single%20Reference'] //@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="NW_3" position="NORTH_WEST" preconditionExpression="aql:true" imageExpression="/org.eclipse.sirius.tests.sample.component.design/images/square32x32.png" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@edgeMappings[name='Single%20Reference'] //@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="SE_1" position="SOUTH_EAST" distributionDirection="HORIZONTAL" imageExpression="/org.eclipse.sirius.tests.sample.component.design/images/square10x10.png" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="SE_2" position="SOUTH_EAST" distributionDirection="HORIZONTAL" imageExpression="/org.eclipse.sirius.tests.sample.component.design/images/rectangle16x60.png" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="SE_3" position="SOUTH_EAST" imageExpression="/org.eclipse.sirius.tests.sample.component.design/images/rectangle60x16.png" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="SE_4" position="SOUTH_EAST" distributionDirection="HORIZONTAL" imageExpression="/org.eclipse.sirius.tests.sample.component.design/images/square16x16.png" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="E_1" position="EAST" imageExpression="/org.eclipse.sirius.tests.sample.component.design/images/square10x10.png" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@containerMappings[name='Component']"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="N_1" position="NORTH" distributionDirection="HORIZONTAL" imageExpression="aql:self.getDecorationFigure()" tooltipExpression="aql:self.getDecorationTooltipFigure()" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@nodeMappings[name='SelfNode']"/>
<decorationDescriptions xsi:type="description_1:MappingBasedDecoration" name="C_1" position="CENTER" distributionDirection="HORIZONTAL" imageExpression="aql:self.getDecorationImage()" tooltipExpression="aql:self.getDecorationTooltipFigure()" mappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithDecoration']/@defaultLayer/@nodeMappings[name='SelfNode']"/>
</decorationDescriptionsSet>
</defaultLayer>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_1:DiagramDescription" name="DiagramWithRegionAndEdges" domainClass="component.Component" enablePopupBars="true">
<defaultLayer name="Default">
<edgeMappings name="Reference" preconditionExpression="service:isReferenceToDisplay(sourceView, targetView)" deletionDescription="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Delete%20Reference']" labelDirectEdit="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithRegionAndEdges']/@defaultLayer/@toolSections.0/@ownedTools[name='RenameAlias']" sourceMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithRegionAndEdges']/@defaultLayer/@containerMappings[name='Component']" targetMapping="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithRegionAndEdges']/@defaultLayer/@containerMappings[name='Component']" targetFinderExpression="aql:self.getReference2Hierarchy()" reconnections="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='Diagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Reconnect%20%20Reference']">
<style lineStyle="dot" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="aql:self.getReference2HierarchyOrigin().aliases->first()">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="Component" semanticCandidatesExpression="aql:self.children" domainClass="component.Component" childrenPresentation="HorizontalStack">
<subContainerMappings name="ComponentRegion" semanticCandidatesExpression="aql:self" domainClass="component.Component" reusedContainerMappings="//@ownedViewpoints[name='Component']/@ownedRepresentations[name='DiagramWithRegionAndEdges']/@defaultLayer/@containerMappings[name='Component']"/>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelSize="12">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_blue']"/>
</style>
</containerMappings>
<toolSections name="tools">
<ownedTools xsi:type="tool_1:ToolDescription" name="considerCollapseStateForAutomaticRefresh" label="Register collapse for Refresh">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:considerCollapseStateForAutomaticRefresh"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ToolDescription" name="doNotConsiderCollapseStateForAutomaticRefresh" label="Unregister collapse for Refresh">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:doNotConsiderCollapseStateForAutomaticRefresh"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DirectEditLabel" name="RenameAlias" forceRefresh="true">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.getReference2HierarchyOrigin()->first().renameFirstAlias(arg0)"/>
</initialOperation>
</ownedTools>
</toolSections>
</defaultLayer>
</ownedRepresentations>
<ownedJavaExtensions qualifiedClassName="org.eclipse.sirius.tests.sample.component.service.ComponentServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.sirius.common.tools.api.interpreter.StandardServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.sirius.tests.sample.component.service.DecorationServices"/>
</ownedViewpoints>
</description:Group>