| <?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() <> 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(
	e: Employee; sum : Integer = 0 | 
	sum + e.salary
)"/> | |
| </labelMappings> | |
| <labelMappings | |
| xsi:type="gmfmap:ExpressionLabelMapping" | |
| readOnly="true"> | |
| <diagramLabel | |
| href="toe.gmfgraph#Department_ocl_ia"/> | |
| <viewExpression | |
| body="--IA
self.employees->iterate(
	e: Employee; sum : Integer = 0 | 
	sum + e.salary
)"/> | |
| </labelMappings> | |
| <visualEffects | |
| oclExpression="--IA
let totalSalary : Integer = self.employees->iterate(
e: Employee; sum : Integer = 0 | 
sum + e.salary
) in 
if totalSalary > 10000 
then Tuple {red: Integer = 255, green: Integer = 0, blue: Integer = 0} 
else Tuple {red: Integer = 0, green: Integer = 255, blue: Integer = 0} 
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 
then 
	self.lead.managedDepartment.employees.name
else 
	self.projectTeam.name
endif"/> | |
| </labelMappings> | |
| <labelMappings | |
| xsi:type="gmfmap:ExpressionLabelMapping" | |
| readOnly="true"> | |
| <diagramLabel | |
| href="toe.gmfgraph#Project_ocl_ia"/> | |
| <viewExpression | |
| body="--IA
if self.departmentWide 
then 
	self.lead.managedDepartment.employees.name
else 
	self.projectTeam.name
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 
then Tuple {red: Integer = 0, green: Integer = 0, blue: Integer = 255} 
else Tuple {red: Integer = 255, green: Integer = 255, blue: Integer = 0} 
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
then Tuple {red: Integer = 255, green: Integer = 128, blue: Integer = 0} 
else Tuple {red: Integer = 255, green: Integer =0, blue: Integer = 0} 
endif"> | |
| <diagramPin | |
| xsi:type="gmfgraph:ColorPin" | |
| href="toe.gmfgraph#LeadsProjectConnectionPinForeground"/> | |
| </visualEffects> | |
| <visualEffects | |
| oclExpression="--IA
if _src.leads->size() > 2
then 3
else 1
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()
then Tuple {red: Integer = 0, green: Integer = 255, blue: Integer = 0} 
else Tuple {red: Integer = 0, green: Integer =0, blue: Integer = 255} 
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> |