blob: 3691e76f6d062a03a3d0add052f0c41d7707fade [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<gmfmap:Mapping xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:gmfgraph="http://www.eclipse.org/gmf/2006/GraphicalDefinition"
xmlns:gmfmap="http://www.eclipse.org/gmf/2008/mappings"
xmlns:gmftool="http://www.eclipse.org/gmf/2005/ToolDefinition">
<nodes>
<containmentFeature
href="toe.ecore#//AllHolder/all"/>
<ownedChild>
<domainMetaElement
href="toe.ecore#//Employee"/>
<domainSpecialization
body="not self.oclIsKindOf(toe::Manager)"/>
<labelMappings
xsi:type="gmfmap:FeatureLabelMapping">
<diagramLabel
href="toe.gmfgraph#Employee_name"/>
<features
href="toe.ecore#//Employee/name"/>
<editableFeatures
href="toe.ecore#//Employee/name"/>
</labelMappings>
<visualEffects
oclExpression="self.projects->size()">
<diagramPin
xsi:type="gmfgraph:CustomPin"
href="toe.gmfgraph#EmployeePinCounter"/>
</visualEffects>
<visualEffects
oclExpression="self.projects->size() &lt;> 0">
<diagramPin
xsi:type="gmfgraph:VisiblePin"
href="toe.gmfgraph#EmployeePinVisible"/>
</visualEffects>
<tool
xsi:type="gmftool:CreationTool"
href="toe.gmftool#//@palette/@tools.0"/>
<diagramNode
href="toe.gmfgraph#Employee"/>
</ownedChild>
</nodes>
<nodes>
<containmentFeature
href="toe.ecore#//AllHolder/all"/>
<ownedChild>
<domainMetaElement
href="toe.ecore#//Department"/>
<labelMappings
xsi:type="gmfmap:FeatureLabelMapping">
<diagramLabel
href="toe.gmfgraph#Department_name"/>
<features
href="toe.ecore#//Department/name"/>
<editableFeatures
href="toe.ecore#//Department/name"/>
</labelMappings>
<labelMappings
xsi:type="gmfmap:ExpressionLabelMapping"
readOnly="true">
<diagramLabel
href="toe.gmfgraph#Department_ocl_gmf"/>
<viewExpression
body="self.employees->iterate(&#xD;&#xA;&#x9;e: Employee; sum : Integer = 0 | &#xD;&#xA;&#x9;sum + e.salary&#xD;&#xA;)"/>
</labelMappings>
<labelMappings
xsi:type="gmfmap:ExpressionLabelMapping"
readOnly="true">
<diagramLabel
href="toe.gmfgraph#Department_ocl_ia"/>
<viewExpression
body="--IA&#xD;&#xA;self.employees->iterate(&#xD;&#xA;&#x9;e: Employee; sum : Integer = 0 | &#xD;&#xA;&#x9;sum + e.salary&#xD;&#xA;)"/>
</labelMappings>
<visualEffects
oclExpression="--IA&#xD;&#xA;let totalSalary : Integer = self.employees->iterate(&#xD;&#xA;e: Employee; sum : Integer = 0 | &#xD;&#xA;sum + e.salary&#xD;&#xA;) in &#xD;&#xA;if totalSalary > 10000 &#xD;&#xA;then Tuple {red: Integer = 255, green: Integer = 0, blue: Integer = 0} &#xD;&#xA;else Tuple {red: Integer = 0, green: Integer = 255, blue: Integer = 0} &#xD;&#xA;endif">
<diagramPin
xsi:type="gmfgraph:ColorPin"
href="toe.gmfgraph#DepartmentPinForeground"/>
</visualEffects>
<tool
xsi:type="gmftool:CreationTool"
href="toe.gmftool#//@palette/@tools.1"/>
<diagramNode
href="toe.gmfgraph#Department"/>
<children
compartment="//@nodes.1/@ownedChild/@compartments.0"
referencedChild="//@nodes.0/@ownedChild">
<containmentFeature
href="toe.ecore#//Department/employees"/>
</children>
<children
compartment="//@nodes.1/@ownedChild/@compartments.0"
referencedChild="//@nodes.1/@ownedChild">
<containmentFeature
href="toe.ecore#//Department/subDepartments"/>
</children>
<compartments
children="//@nodes.1/@ownedChild/@children.0 //@nodes.1/@ownedChild/@children.1">
<compartment
href="toe.gmfgraph#Department_staff"/>
</compartments>
</ownedChild>
</nodes>
<nodes>
<containmentFeature
href="toe.ecore#//AllHolder/all"/>
<ownedChild>
<domainMetaElement
href="toe.ecore#//Project"/>
<labelMappings
xsi:type="gmfmap:FeatureLabelMapping">
<diagramLabel
href="toe.gmfgraph#Project_name"/>
<features
href="toe.ecore#//Project/name"/>
<editableFeatures
href="toe.ecore#//Project/name"/>
</labelMappings>
<labelMappings
xsi:type="gmfmap:ExpressionLabelMapping"
readOnly="true">
<diagramLabel
href="toe.gmfgraph#Project_ocl_gmf"/>
<viewExpression
body="if self.departmentWide &#xD;&#xA;then &#xD;&#xA;&#x9;self.lead.managedDepartment.employees.name&#xD;&#xA;else &#xD;&#xA;&#x9;self.projectTeam.name&#xD;&#xA;endif"/>
</labelMappings>
<labelMappings
xsi:type="gmfmap:ExpressionLabelMapping"
readOnly="true">
<diagramLabel
href="toe.gmfgraph#Project_ocl_ia"/>
<viewExpression
body="--IA&#xD;&#xA;if self.departmentWide &#xD;&#xA;then &#xD;&#xA;&#x9;self.lead.managedDepartment.employees.name&#xD;&#xA;else &#xD;&#xA;&#x9;self.projectTeam.name&#xD;&#xA;endif"/>
</labelMappings>
<tool
xsi:type="gmftool:CreationTool"
href="toe.gmftool#//@palette/@tools.2"/>
<diagramNode
href="toe.gmfgraph#Project"/>
</ownedChild>
</nodes>
<nodes>
<containmentFeature
href="toe.ecore#//AllHolder/all"/>
<ownedChild>
<domainMetaElement
href="toe.ecore#//Manager"/>
<labelMappings
xsi:type="gmfmap:FeatureLabelMapping">
<diagramLabel
href="toe.gmfgraph#Manager_name"/>
<features
href="toe.ecore#//Employee/name"/>
<editableFeatures
href="toe.ecore#//Employee/name"/>
</labelMappings>
<visualEffects
oclExpression="if self.leads->size() = 0 &#xD;&#xA;then Tuple {red: Integer = 0, green: Integer = 0, blue: Integer = 255} &#xD;&#xA;else Tuple {red: Integer = 255, green: Integer = 255, blue: Integer = 0} &#xD;&#xA;endif">
<diagramPin
xsi:type="gmfgraph:CustomPin"
href="toe.gmfgraph#ManagerPinBackgroundRGB"/>
</visualEffects>
<tool
xsi:type="gmftool:CreationTool"
href="toe.gmftool#//@palette/@tools.3"/>
<diagramNode
href="toe.gmfgraph#Manager"/>
</ownedChild>
</nodes>
<links>
<tool
xsi:type="gmftool:CreationTool"
href="toe.gmftool#//@palette/@tools.4"/>
<diagramLink
href="toe.gmfgraph#ManagesDepartment"/>
<linkMetaFeature
xsi:type="ecore:EReference"
href="toe.ecore#//Manager/managedDepartment"/>
</links>
<links>
<visualEffects
oclExpression="if _src.leads->size() > 2&#xD;&#xA;then Tuple {red: Integer = 255, green: Integer = 128, blue: Integer = 0} &#xD;&#xA;else Tuple {red: Integer = 255, green: Integer =0, blue: Integer = 0} &#xD;&#xA;endif">
<diagramPin
xsi:type="gmfgraph:ColorPin"
href="toe.gmfgraph#LeadsProjectConnectionPinForeground"/>
</visualEffects>
<visualEffects
oclExpression="--IA&#xD;&#xA;if _src.leads->size() > 2&#xD;&#xA;then 3&#xD;&#xA;else 1&#xD;&#xA;endif">
<diagramPin
xsi:type="gmfgraph:CustomPin"
href="toe.gmfgraph#LeadsProjectConnectionPinLineWidth"/>
</visualEffects>
<tool
xsi:type="gmftool:CreationTool"
href="toe.gmftool#//@palette/@tools.4"/>
<diagramLink
href="toe.gmfgraph#LeadsProject"/>
<linkMetaFeature
xsi:type="ecore:EReference"
href="toe.ecore#//Manager/leads"/>
</links>
<links>
<domainMetaElement
href="toe.ecore#//Contribution"/>
<visualEffects
oclExpression="if _src.contributions->size() > _dst.contributions->size()&#xD;&#xA;then Tuple {red: Integer = 0, green: Integer = 255, blue: Integer = 0} &#xD;&#xA;else Tuple {red: Integer = 0, green: Integer =0, blue: Integer = 255} &#xD;&#xA;endif">
<diagramPin
xsi:type="gmfgraph:ColorPin"
href="toe.gmfgraph#ContributionConnectionPinForeground"/>
</visualEffects>
<containmentFeature
href="toe.ecore#//AllHolder/all"/>
<tool
xsi:type="gmftool:CreationTool"
href="toe.gmftool#//@palette/@tools.5"/>
<diagramLink
href="toe.gmfgraph#Contribution"/>
<sourceMetaFeature
xsi:type="ecore:EReference"
href="toe.ecore#//Contribution/employee"/>
<linkMetaFeature
xsi:type="ecore:EReference"
href="toe.ecore#//Contribution/project"/>
</links>
<diagram>
<diagramCanvas
href="toe.gmfgraph#ocl-labels"/>
<domainModel
href="toe.ecore#/"/>
<domainMetaElement
href="toe.ecore#//AllHolder"/>
<palette
href="toe.gmftool#//@palette"/>
</diagram>
</gmfmap:Mapping>