blob: 0a9c10783040676b7497acac34b49b230ec7f979 [file] [log] [blame]
<?xml version="1.0" encoding="ASCII"?>
<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:filter="http://www.eclipse.org/sirius/diagram/description/filter/1.1.0" xmlns:properties="http://www.eclipse.org/sirius/properties/1.0.0" xmlns:properties-ext-widgets-reference="http://www.eclipse.org/sirius/properties/1.0.0/ext/widgets/reference" 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" xmlns:validation="http://www.eclipse.org/sirius/description/validation/1.1.0" name="EcoreTools" version="12.0.0.2017041100">
<ownedViewpoints endUserDocumentation="&lt;html>&#xA;&lt;head>&#xA;&lt;/head>&#xA;&lt;body>&#xA;&lt;p>Provides graphical and tabular representation to design an Ecore model.&lt;/p>&#xA;&lt;br>&#xA;&lt;img src=&quot;/icons/full/wizban/entities.png&quot;/>&#xA;&lt;img src=&quot;/icons/full/wizban/classes.png&quot;/>&#xA;&lt;/body>&#xA;&lt;/html>&#xA;&#xA;&#xA;" name="Design" modelFileExtension="ecore xcore ecorebin">
<ownedRepresentations xsi:type="description_1:DiagramDescription" dropDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.0/@ownedTools[name='External%20EClass%20from%20treeview'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@toolSections.0/@ownedTools[name='Drop%20EClassifier%20into%20EPackage']" documentation="&lt;html>&#xA;&lt;head>&#xA;&lt;/head>&#xA;&lt;body>&#xA;&lt;p>Provides a class diagram to represent EClasses, EDatatypes, EAttributes and their relationships.&lt;/p>&#xA;&lt;br>&#xA;&lt;img src=&quot;/icons/full/wizban/entities.png&quot;/>&#xA;&lt;/body>&#xA;&lt;/html>&#xA;&#xA;&#xA;" endUserDocumentation="A class diagram to represent EClasses, EDatatypes, EAttributes and their relationships." name="Entities" label="Entities in a Class Diagram" titleExpression="aql:self.name + ' class diagram'" pasteDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.0/@ownedTools[name='Paste%20Anything']" domainClass="ecore.EPackage" enablePopupBars="true">
<metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/>
<metamodel href="http://www.eclipse.org/emf/2002/GenModel#/"/>
<filters xsi:type="filter:CompositeFilterDescription" name="Hide class content">
<filters xsi:type="filter:MappingFilter" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='Operation']"/>
</filters>
<filters xsi:type="filter:CompositeFilterDescription" name="Hide generalizations">
<filters xsi:type="filter:MappingFilter" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
</filters>
<filters xsi:type="filter:CompositeFilterDescription" name="Hide indirect generalizations">
<filters xsi:type="filter:MappingFilter" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']" viewConditionExpression="aql:not self.oclAsType(diagram::DEdge).sourceNode.oclAsType(viewpoint::DSemanticDecorator).target.oclAsType(ecore::EClass).eSuperTypes->includes(self.oclAsType(diagram::DEdge).targetNode.oclAsType(viewpoint::DSemanticDecorator).target)"/>
</filters>
<filters xsi:type="filter:CompositeFilterDescription" name="Hide references (edges)">
<filters xsi:type="filter:MappingFilter" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
</filters>
<filters xsi:type="filter:CompositeFilterDescription" name="Hide references (nodes)">
<filters xsi:type="filter:MappingFilter" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
</filters>
<filters xsi:type="filter:CompositeFilterDescription" name="Hide inherited references (nodes)">
<filters xsi:type="filter:MappingFilter" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']" viewConditionExpression="aql:self.eContainer().oclAsType(viewpoint::DSemanticDecorator).target = self.oclAsType(viewpoint::DSemanticDecorator).target.eContainer()"/>
</filters>
<filters xsi:type="filter:CompositeFilterDescription" name="Hide derived features">
<filters xsi:type="filter:MappingFilter" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']" semanticConditionExpression="aql:not self.derived"/>
</filters>
<filters xsi:type="filter:CompositeFilterDescription" name="Hide operations">
<filters xsi:type="filter:MappingFilter" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='Operation']" semanticConditionExpression=""/>
</filters>
<validationSet>
<ownedRules xsi:type="validation:ViewValidationRule" name="Unused EClass" message="aql:'The ' + self.target.oclAsType(ecore::EClass).name +' class is never used'" targets="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']">
<audits auditExpression="aql:not self.target.oclAsType(ecore::EClass).eAllSuperTypes->including(self.target)->asSet().eInverse('eType')->isEmpty()"/>
<fixes name="Remove Element">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="feature:target">
<subModelOperations xsi:type="tool:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</fixes>
</ownedRules>
<ownedRules xsi:type="validation:ViewValidationRule" name="Too many superclasses" level="ERROR" message="aql:'The ' + self.target.oclAsType(ecore::EClass).name +' class has more than 10 super types'" targets="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']">
<audits auditExpression="aql:self.target.oclAsType(ecore::EClass).eAllSuperTypes->size() &lt; 10"/>
</ownedRules>
</validationSet>
<diagramInitialisation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="service:openClassDiagramContextHelp"/>
</diagramInitialisation>
<defaultLayer name="Default">
<nodeMappings name="Empty Diagram" preconditionExpression="aql:containerView.oclAsType(diagram::DDiagram).ownedDiagramElements.target->excluding(containerView.oclAsType(diagram::DSemanticDiagram).target)->size() = 0 and container.eClassifiers->size() > 0" deletionDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.1/@ownedTools[name='NoOp']" semanticCandidatesExpression="var:self" doubleClickDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.0/@ownedTools[name='Import%20Current%20EClasses']" domainClass="ecore.EPackage">
<style xsi:type="style:WorkspaceImageDescription" showIcon="false" labelExpression="" sizeComputationExpression="-1" labelPosition="node" arcWidth="1" arcHeight="1" workspacePath="/org.eclipse.emf.ecoretools.design/icons/full/back/empty.svg">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</nodeMappings>
<edgeMappings name="EC_EReference" preconditionExpression="service:noEOpposite" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='EReference%20Name']" semanticCandidatesExpression="service:getEReferencesToDisplay(diagram)" semanticElements="var:self" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']" targetMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@borderedNodeMappings[name='EC%20ETypeParameter'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']" targetFinderExpression="service:getEReferenceTarget" sourceFinderExpression="feature:eContainer" domainClass="ecore.EReference" useDomainElement="true" reconnections="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.4/@ownedTools[name='ReconnectEReference%20Source'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.4/@ownedTools[name='ReconnectEReference%20Target']">
<style routingStyle="manhattan">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="service:render">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
<endLabelStyleDescription labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
</endLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="EC ESupertypes" deletionDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.3/@ownedTools[name='Delete%20ESuperType']" semanticCandidatesExpression="" semanticElements="var:self" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']" targetMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']" targetFinderExpression="service:getDirectSuperTypesOrMostSpecificVisibleOnes(diagram)" reconnections="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.4/@ownedTools[name='ReconnectESupertypeSource'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.4/@ownedTools[name='ReconnectESupertypeTarget']">
<style targetArrow="InputClosedArrow" routingStyle="tree">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<beginLabelStyleDescription showIcon="false" labelExpression="service:superTypesLabel">
<labelFormat>italic</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</beginLabelStyleDescription>
<centerLabelStyleDescription showIcon="false">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
<conditionnalStyles predicateExpression="service:targetIsInterface(view)">
<style lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<beginLabelStyleDescription showIcon="false" labelExpression="service:superTypesLabel">
<labelFormat>italic</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</beginLabelStyleDescription>
<centerLabelStyleDescription showIcon="false">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="aql:not self.eSuperTypes->includes(view.oclAsType(diagram::DEdge).targetNode.oclAsType(viewpoint::DSemanticDecorator).target)">
<style strokeColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Inherited']" lineStyle="dot" targetArrow="InputClosedArrow" routingStyle="tree">
<beginLabelStyleDescription showIcon="false" labelExpression="service:superTypesLabel">
<labelFormat>italic</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</beginLabelStyleDescription>
<centerLabelStyleDescription showIcon="false">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</conditionnalStyles>
</edgeMappings>
<edgeMappings name="Bi-directional EC_EReference " labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Direct%20Edit%20EOpposite']" semanticCandidatesExpression="service:getEOppositeEReferences(diagram)" semanticElements="service:getEOppositeSemanticElements" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']" targetMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']" targetFinderExpression="feature:eType" sourceFinderExpression="feature:eContainer" targetExpression="" domainClass="ecore.EReference" useDomainElement="true" reconnections="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.4/@ownedTools[name='ReconnectBiDirectionnalEReference%20Target'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.4/@ownedTools[name='ReconnectBiDirectionnalEReference%20Source']">
<style sourceArrow="InputArrow" routingStyle="manhattan">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<beginLabelStyleDescription showIcon="false" labelExpression="service:renderEOpposite">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</beginLabelStyleDescription>
<endLabelStyleDescription showIcon="false" labelExpression="service:render">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</endLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="EC EClass" deletionDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.1/@ownedTools[name='Delete%20EClass']" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20Name%20with%20CamelCase']" createElements="false" doubleClickDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='ShowPropertiesView']" domainClass="ecore.EClass" dropDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.2/@ownedTools[name='Drop%20attribute'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.2/@ownedTools[name='Drop%20operation']" childrenPresentation="List">
<borderedNodeMappings name="EC ETypeParameter" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20Name%20with%20CamelCase']" semanticCandidatesExpression="feature:eTypeParameters" domainClass="ecore.ETypeParameter">
<style xsi:type="style:WorkspaceImageDescription" showIcon="false" labelPosition="node" resizeKind="NSEW" arcWidth="1" arcHeight="1" workspacePath="/org.eclipse.emf.ecoretools.design/icons/full/back/generic.svg">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</borderedNodeMappings>
<subNodeMappings name="EC EAttribute" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20EStructuralFeature%20Name']" semanticCandidatesExpression="feature:eAttributes" doubleClickDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='ShowPropertiesView']" domainClass="ecore.EAttribute" dropDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.0/@ownedTools[name='Drop%20EStructuralFeature%20into%20EClass']">
<style xsi:type="style:BundledImageDescription" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="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']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</subNodeMappings>
<subNodeMappings name="Operation" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Operation%20Name']" semanticCandidatesExpression="feature:eOperations" semanticElements="service:eOperationSemanticElements" doubleClickDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='ShowPropertiesView']" domainClass="ecore.EOperation" dropDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.0/@ownedTools[name='Drop%20EStructuralFeature%20into%20EClass']">
<style xsi:type="style:BundledImageDescription" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderEOperationTooltip" sizeComputationExpression="2">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</subNodeMappings>
<subNodeMappings name="EC EReferenceNode" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20EStructuralFeature%20Name']" semanticCandidatesExpression="service:getNonDisplayedEReferences(diagram)" doubleClickDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='ShowPropertiesView']" domainClass="ecore.EReference" dropDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.0/@ownedTools[name='Drop%20EStructuralFeature%20into%20EClass']">
<style xsi:type="style:BundledImageDescription" labelExpression="service:renderAsNode" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="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']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
</style>
<conditionnalStyles predicateExpression="aql:container &lt;> self.eContainer()">
<style xsi:type="style:BundledImageDescription" labelExpression="service:renderAsNode" labelColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Inherited']" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelFormat>italic</labelFormat>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</conditionnalStyles>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="8" arcHeight="8" borderSizeComputationExpression="1" tooltipExpression="service:renderTooltip" roundedCorner="true" widthComputationExpression="12" heightComputationExpression="10" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='EClass']">
<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']"/>
</style>
<conditionnalStyles predicateExpression="feature:interface">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="8" arcHeight="8" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Dark%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" tooltipExpression="service:renderTooltip" roundedCorner="true" widthComputationExpression="12" heightComputationExpression="10" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Abstract%20EClass']">
<labelFormat>italic</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="feature:abstract">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="8" arcHeight="8" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Dark%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" tooltipExpression="service:renderTooltip" roundedCorner="true" widthComputationExpression="12" heightComputationExpression="10" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Abstract%20EClass']">
<labelFormat>italic</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</conditionnalStyles>
</containerMappings>
<containerMappings name="EC EEnum" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20Name%20with%20CamelCase']" createElements="false" doubleClickDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='ShowPropertiesView']" domainClass="ecore.EEnum" childrenPresentation="List">
<subNodeMappings name="EC EEnumLiteral" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20Name%20no%20CamelCase']" semanticCandidatesExpression="feature:eLiterals" doubleClickDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='ShowPropertiesView']" domainClass="ecore.EEnumLiteral">
<style xsi:type="style:BundledImageDescription" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="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']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Dark%20EEnum']" tooltipExpression="service:renderTooltip" widthComputationExpression="12" heightComputationExpression="10" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='EEnum']">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</containerMappings>
<containerMappings name="EC EDataType" preconditionExpression="service:isEDataType" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20Name%20with%20CamelCase']" createElements="false" doubleClickDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='ShowPropertiesView']" domainClass="ecore.EDataType" childrenPresentation="List">
<subNodeMappings name="EC_DataType_InstanceClassName" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='InstanceClassName']" semanticCandidatesExpression="var:self" domainClass="ecore.EDataType">
<style xsi:type="style:BundledImageDescription" showIcon="false" labelExpression="feature:instanceClassName" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelFormat>italic</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Dark%20EDataType']" tooltipExpression="service:renderTooltip" widthComputationExpression="14" heightComputationExpression="5" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='EDataType']">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</containerMappings>
<toolSections name="Existing Elements">
<ownedTools xsi:type="tool:PopupMenu" name="Generate">
<menuItemDescription xsi:type="tool:OperationAction" name=" All" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
<parameters name="genmodels" value="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()"/>
<parameters name="scope" value="model, edit, editor, tests"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool:OperationAction" name="Model Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.modelDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
<parameters name="genmodels" value="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()"/>
<parameters name="scope" value="model"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool:OperationAction" name="Edit Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.editDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
<parameters name="genmodels" value="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()"/>
<parameters name="scope" value="edit"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool:OperationAction" name="Editor Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.editorDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
<parameters name="genmodels" value="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()"/>
<parameters name="scope" value="editor"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool:OperationAction" name="Tests Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.testsDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
<parameters name="genmodels" value="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()"/>
<parameters name="scope" value="tests"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
</ownedTools>
<ownedTools xsi:type="tool:PopupMenu" name="CDO Native" precondition="aql:self.hasCDOBundle()">
<menuItemDescription xsi:type="tool:OperationAction" name="Enable support" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->size() > 0">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="OpenConfirmationDialog" id="org.eclipse.emf.ecoretools.design.action.openConfirmationDialogID">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.enableCDOGen(OrderedSet{views->filter(viewpoint::DSemanticDecorator).target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet())"/>
<parameters name="message" value="The selected generator model will be updated:&#xA;&#xA;Set Feature Delegation = Reflective&#xA;Set Root Extends Class = org.eclipse.emf.internal.cdo.CDOObjectImpl&#xA;Set Root Extends Interface = org.eclipse.emf.cdo.CDOObject&#xA;Added Model Plugin Variables = CDO=org.eclipse.emf.cdo &#xA;Created CDO.MF marker file&#xA;&#xA;You need to regenerate the code to make these changes effective. &#xA;"/>
<parameters name="title" value="The selected generator model will be updated:&#xA;&#xA;Set Feature Delegation = Reflective&#xA;Set Root Extends Class = org.eclipse.emf.internal.cdo.CDOObjectImpl&#xA;Set Root Extends Interface = org.eclipse.emf.cdo.CDOObject&#xA;Add Model Plugin Variables = CDO=org.eclipse.emf.cdo &#xA;Create CDO.MF marker file&#xA;&#xA;You need to regenerate the code to make these changes effective. "/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool:OperationAction" name="Disable support" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->size() > 0">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="OpenConfirmationDialog" id="org.eclipse.emf.ecoretools.design.action.openConfirmationDialogID">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.disableCDOGen(OrderedSet{views->filter(viewpoint::DSemanticDecorator).target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet())"/>
<parameters name="message" value="The selected generator model will be updated:..."/>
<parameters name="title" value="Disable CDO Native support in .genmodel ?"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
</ownedTools>
<ownedTools xsi:type="tool:SelectionWizardDescription" name="Add" precondition="aql:container.oclIsKindOf(ecore::EPackage)" forceRefresh="true" candidatesExpression="aql:self.getValidsForDiagram(containerView)->asSet() - diagram.getDisplayedEClassifiers()" multiple="true" tree="true" rootExpression="service:rootEPackages" childrenExpression="feature:eContents" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/etools16/search.gif" windowTitle="Select element to add in diagram">
<element name="element"/>
<containerView name="containerView"/>
<container name="container"/>
<initialOperation>
<firstModelOperations xsi:type="tool:For" expression="var:element">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="service:markForAutosize">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEClass">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" containerViewExpression="var:containerView"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEDataType">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType']" containerViewExpression="var:containerView"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEEnum">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']" containerViewExpression="var:containerView"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ToolDescription" name="RemoveExistingElements" label="Remove" forceRefresh="true" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/etools16/search.gif">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:elementView">
<subModelOperations xsi:type="tool:DeleteView"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="External EClass from treeview" forceRefresh="true" 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:ChangeContext" browseExpression="service:markForAutosize">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEClass">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" containerViewExpression="var:newContainerView"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEDataType">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType']" containerViewExpression="var:newContainerView"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEEnum">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']" containerViewExpression="var:newContainerView"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEPackage">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Dropped%20Package']" containerViewExpression="var:newContainerView"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:OperationAction" name="Add Related Elements" forceRefresh="true" icon="/org.eclipse.emf.ecoretools.design/icons/full/etools16/search.gif">
<view name="views">
<subVariables xsi:type="tool:SelectModelElementVariable" name="selected" candidatesExpression="service:getRelated(views,diagram)" multiple="true" message="Pick the Element you want to add to the diagram."/>
</view>
<initialOperation>
<firstModelOperations xsi:type="tool:For" expression="var:selected">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="service:markForAutosize">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEClass">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" containerViewExpression="var:diagram"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEDataType">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType']" containerViewExpression="var:diagram"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEEnum">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']" containerViewExpression="var:diagram"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="Drop EStructuralFeature into EClass" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Dropped%20Package']">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newSemanticContainer">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEOperation">
<subModelOperations xsi:type="tool:SetValue" featureName="eOperations" valueExpression="var:element"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEStructuralFeature">
<subModelOperations xsi:type="tool:SetValue" featureName="eStructuralFeatures" valueExpression="var:element"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:PasteDescription" name="Paste Anything" forceRefresh="true">
<container name="container"/>
<containerView name="containerView"/>
<copiedView name="copiedView"/>
<copiedElement name="copiedElement"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="service:container.paste(copiedElement, copiedView, containerView)"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DoubleClickDescription" name="Import Current EClasses" forceRefresh="true" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@nodeMappings[name='Empty%20Diagram']">
<element name="element"/>
<elementView name="elementView">
<subVariables xsi:type="tool:AcceleoVariable" name="diagram" computationExpression="feature:eContainer"/>
</elementView>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool:For" expression="service:getRelated(elementView,diagram)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="service:markForAutosize">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEClass">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" containerViewExpression="var:diagram"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEDataType">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType']" containerViewExpression="var:diagram"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEEnum">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']" containerViewExpression="var:diagram"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Classifier">
<ownedTools xsi:type="tool_1:ToolGroup" name="Classifier">
<tools xsi:type="tool_1:ContainerCreationDescription" documentation="M1+Y" name="Class" precondition="aql:(not container.oclIsKindOf(ecore::EClass)) or (container.abstract) or (container.interface)" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEPackage">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EClass" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'NewEClass' + self.eContainer().eContents(ecore::EClass)->size()"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEClass">
<subModelOperations xsi:type="tool:SetValue" featureName="abstract" valueExpression="false"/>
<subModelOperations xsi:type="tool:SetValue" featureName="interface" valueExpression="false"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</tools>
<tools xsi:type="tool_1:ContainerCreationDescription" name="Abstract Class" precondition="aql:(not container.oclIsKindOf(ecore::EClass)) or (not container.abstract)" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEPackage">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EClass" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'NewAbstractClass' + self.eContainer().eContents(ecore::EClass)->size()"/>
<subModelOperations xsi:type="tool:SetValue" featureName="abstract" valueExpression="true"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEClass">
<subModelOperations xsi:type="tool:SetValue" featureName="abstract" valueExpression="true"/>
<subModelOperations xsi:type="tool:SetValue" featureName="interface" valueExpression="false"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</tools>
<tools xsi:type="tool_1:ContainerCreationDescription" name="Interface" precondition="aql:(not container.oclIsKindOf(ecore::EClass)) or (not container.interface)" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEPackage">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EClass" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'NewInterface' + self.eContainer().eContents(ecore::EClass)->size()"/>
<subModelOperations xsi:type="tool:SetValue" featureName="interface" valueExpression="true"/>
<subModelOperations xsi:type="tool:SetValue" featureName="abstract" valueExpression="true"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEClass">
<subModelOperations xsi:type="tool:SetValue" featureName="abstract" valueExpression="true"/>
<subModelOperations xsi:type="tool:SetValue" featureName="interface" valueExpression="true"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</tools>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerCreationDescription" name="Datatype" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EDataType" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'NewDataType' + self.eContainer().eContents(ecore::EDataType)->size()"/>
<subModelOperations xsi:type="tool:SetValue" featureName="instanceTypeName" valueExpression="aql:'newDataType' + self.eContainer().eContents(ecore::EDataType)->size()"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerCreationDescription" name="Enumeration" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EEnum" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'NewEnum' + self.eContainer().eContents(ecore::EEnum)->size()"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DeleteElementDescription" name="Delete EClass">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:For" expression="service:getInverseEReferences">
<subModelOperations xsi:type="tool:RemoveElement"/>
</subModelOperations>
<subModelOperations xsi:type="tool:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:NodeCreationDescription" name="ETypeParameter" nodeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@borderedNodeMappings[name='EC%20ETypeParameter']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.ETypeParameter" referenceName="eTypeParameters">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="T"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DeleteElementDescription" name="NoOp" precondition="aql:false">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self"/>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Feature">
<ownedTools xsi:type="tool_1:NodeCreationDescription" name="Literal" nodeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EEnumLiteral" referenceName="eLiterals">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:('literal' +( self.eContainer().eContents(ecore::EEnumLiteral)->size() -1)).toUpper()"/>
<subModelOperations xsi:type="tool:SetValue" featureName="value" valueExpression="aql:self.eContainer().eContents(ecore::EEnumLiteral)->size()-1"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:NodeCreationDescription" name="Operation" nodeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='Operation']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EOperation" referenceName="eOperations">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'newOperation' + self.eContainer().eContents(ecore::EOperation)->size()"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:NodeCreationDescription" name="Attribute" nodeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EAttribute" referenceName="eStructuralFeatures">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="newAttribute"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="Drop attribute" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newSemanticContainer">
<subModelOperations xsi:type="tool:SetValue" featureName="eStructuralFeatures" valueExpression="var:element"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="Drop operation" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='Operation']">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newSemanticContainer">
<subModelOperations xsi:type="tool:SetValue" featureName="eOperations" valueExpression="var:element"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Relation">
<ownedTools xsi:type="tool_1:DiagramCreationDescription" name="New Package Entities" titleExpression="aql:self.name + ' package entities'" diagramDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self"/>
</initialOperation>
<containerViewVariable name="containerView"/>
<representationNameVariable name="diagramName"/>
</ownedTools>
<ownedTools xsi:type="tool_1:EdgeCreationDescription" name="SuperType" edgeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/Inheritance.gif">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool:SetValue" featureName="eSuperTypes" valueExpression="var:target">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="service:createTypeArgumentsIfNeeded(target)"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:EdgeCreationDescription" name="Reference" edgeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EReference" referenceName="eStructuralFeatures">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:target.name.toLower()"/>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="service:setEType(target)"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:EdgeCreationDescription" name="Bi-directional Reference" edgeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EReference" referenceName="eStructuralFeatures" variableName="instanceTarget">
<subModelOperations xsi:type="tool:SetValue" featureName="eType" valueExpression="aql:source"/>
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:source.name.toLower()"/>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EReference" referenceName="eStructuralFeatures" variableName="instanceSource">
<subModelOperations xsi:type="tool:SetValue" featureName="eType" valueExpression="var:target"/>
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:target.name.toLower()"/>
<subModelOperations xsi:type="tool:SetValue" featureName="eOpposite" valueExpression="var:instanceTarget"/>
<subModelOperations xsi:type="tool:If" conditionExpression="aql:source = target">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:target.name.toLower() + 'eOpposite'"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:instanceTarget">
<subModelOperations xsi:type="tool:SetValue" featureName="eOpposite" valueExpression="var:instanceSource"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:EdgeCreationDescription" name="Composition" edgeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EReference" referenceName="eStructuralFeatures">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:target.name.toLower()"/>
<subModelOperations xsi:type="tool:SetValue" featureName="containment" valueExpression="true"/>
<subModelOperations xsi:type="tool:SetValue" featureName="upperBound" valueExpression="-1"/>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="service:setEType(target)"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DeleteElementDescription" name="Delete ESuperType">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="service:getEdgeSourceSemantic(elementView)">
<subModelOperations xsi:type="tool:Unset" featureName="eSuperTypes" elementExpression="service:getEdgeTargetSemantic(elementView)"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Reconnect">
<ownedTools xsi:type="tool_1:ReconnectEdgeDescription" name="ReconnectEReference Source" reconnectionKind="RECONNECT_SOURCE">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="service:reconnectEReferenceSource(target)"/>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool_1:ReconnectEdgeDescription" name="ReconnectEReference Target">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="service:reconnectEReferenceTarget(target)"/>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool_1:ReconnectEdgeDescription" name="ReconnectESupertypeSource" reconnectionKind="RECONNECT_SOURCE">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.reconnectESuperTypeSource(target,source,otherEnd,edgeView,sourceView)"/>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool_1:ReconnectEdgeDescription" name="ReconnectESupertypeTarget">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.reconnectESuperTypeTarget(target,source,otherEnd,edgeView,sourceView)"/>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool_1:ReconnectEdgeDescription" name="ReconnectBiDirectionnalEReference Source" reconnectionKind="RECONNECT_SOURCE">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EReference" referenceName="eStructuralFeatures" variableName="newSource">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:element.name"/>
<subModelOperations xsi:type="tool:SetValue" featureName="eType" valueExpression="aql:element.eType"/>
<subModelOperations xsi:type="tool:SetValue" featureName="eOpposite" valueExpression="aql:element.eOpposite"/>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:element.eOpposite">
<subModelOperations xsi:type="tool:SetValue" featureName="eType" valueExpression="var:target"/>
<subModelOperations xsi:type="tool:SetValue" featureName="eOpposite" valueExpression="aql:newSource"/>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool:RemoveElement"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
<ownedTools xsi:type="tool_1:ReconnectEdgeDescription" name="ReconnectBiDirectionnalEReference Target">
<source name="source"/>
<target name="target"/>
<sourceView name="sourceView"/>
<targetView name="targetView"/>
<element name="element"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:target">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EReference" referenceName="eStructuralFeatures" variableName="newTarget">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:element.eOpposite.name"/>
<subModelOperations xsi:type="tool:SetValue" featureName="eType" valueExpression="aql:element.eOpposite.eType"/>
<subModelOperations xsi:type="tool:SetValue" featureName="eOpposite" valueExpression="var:element"/>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:element.eOpposite">
<subModelOperations xsi:type="tool:RemoveElement"/>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool:SetValue" featureName="eType" valueExpression="var:target"/>
<subModelOperations xsi:type="tool:SetValue" featureName="eOpposite" valueExpression="var:newTarget"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<edgeView name="edgeView"/>
</ownedTools>
</toolSections>
<toolSections name="Direct Edit">
<ownedTools xsi:type="tool_1:DirectEditLabel" name="Edit Name with CamelCase">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="service:toCamelCase(arg0)"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DirectEditLabel" name="Edit EStructuralFeature Name">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="service:performEditAsAttribute(arg0)"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DirectEditLabel" name="EReference Name">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="service:performEdit(arg0)"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DirectEditLabel" documentation="- &quot;name&quot; : change the name of the operation" name="Operation Name" forceRefresh="true">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="service:performEdit(arg0)"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DoubleClickDescription" name="ShowPropertiesView" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='Operation'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Dropped%20Package']">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="properties:DialogModelOperation" titleExpression="aql:'Properties for ' + input.emfEditServices(self).getText()">
<buttons labelExpression="Cancel" closeDialogOnClick="true" rollbackChangesOnClose="true">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self"/>
</initialOperation>
</buttons>
<buttons labelExpression="OK" default="true" closeDialogOnClick="true">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self"/>
</initialOperation>
</buttons>
<page name="Default Page" labelExpression="aql:input.emfEditServices(self).getText()" semanticCandidateExpression="var:self" extends="//@extensions.0/@categories.0/@pages.0"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DirectEditLabel" documentation="- &quot;name&quot; : change the name of the operation" name="InstanceClassName" forceRefresh="true">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool:SetValue" featureName="instanceClassName" valueExpression="var:arg0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DirectEditLabel" name="Edit Name no CamelCase">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="var:arg0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DirectEditLabel" name="Direct Edit EOpposite">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self"/>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Help" label="Help">
<ownedTools xsi:type="tool:OperationAction" name="Open Entities User Guide" label="Open User Guide">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="Open Entities User Guide Action" id="org.eclipse.sirius.ui.business.api.action.openHelpSection">
<parameters name="href" value="/org.eclipse.emf.ecoretools.doc/doc/EcoreTools User Manual.html#EntitiesDiagramEditor"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Dynamic">
<ownedTools xsi:type="tool:ToolDescription" name="Dynamic instance" precondition="service:isEClass" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/DynamicInstance.gif">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="Create dynamic instance of a specified EClass" id="org.eclipse.emf.ecoretools.design.action.createDynamicInstanceActionID">
<parameters name="eClass" value="var:element"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<decorationDescriptionsSet>
<decorationDescriptions xsi:type="description:SemanticBasedDecoration" name="External" position="NORTH_EAST" preconditionExpression="service:viewContainerNotSemanticContainer(diagram,containerView)" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/ovr16/shortcut.gif" domainClass="ecore.EClassifier"/>
</decorationDescriptionsSet>
<customization>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="feature:required">
<featureCustomizations xsi:type="description:EAttributeCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style/@centerLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style/@beginLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style/@endLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@conditionnalStyles.0/@style" attributeName="labelFormat" value="service:fontFormatBold"/>
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style" referenceName="strokeColor">
<value href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</featureCustomizations>
</vsmElementCustomizations>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="feature:containment">
<featureCustomizations xsi:type="description:EAttributeCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style" attributeName="sourceArrow" value="service:arrowsFillDiamond"/>
<featureCustomizations xsi:type="description:EAttributeCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style" attributeName="sizeComputationExpression" value="1"/>
</vsmElementCustomizations>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="feature:container">
<featureCustomizations xsi:type="description:EAttributeCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style" attributeName="targetArrow" value="service:arrowsFillDiamond"/>
<featureCustomizations xsi:type="description:EAttributeCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style" attributeName="sizeComputationExpression" value="1"/>
</vsmElementCustomizations>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="feature:derived">
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style" referenceName="strokeColor">
<value href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
</featureCustomizations>
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style/@beginLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style/@endLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style/@centerLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@conditionnalStyles.0/@style" referenceName="labelColor">
<value href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
</featureCustomizations>
</vsmElementCustomizations>
</customization>
</defaultLayer>
<additionalLayers endUserDocumentation="Add support for sub-packages." name="Package" activeByDefault="true">
<containerMappings name="Dropped Package" detailDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.3/@ownedTools[name='New%20Package%20Entities']" pasteDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.0/@ownedTools[name='Paste%20Anything']" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20Name%20no%20CamelCase']" createElements="false" doubleClickDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='ShowPropertiesView']" domainClass="ecore.EPackage" dropDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@toolSections.0/@ownedTools[name='Drop%20EClassifier%20into%20EPackage'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@toolSections.0/@ownedTools[name='Drop%20EPackage%20into%20EPackage']" reusedContainerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Dark%20EPackage']" labelExpression="aql:self.name" labelAlignment="LEFT" widthComputationExpression="24" heightComputationExpression="16" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='EPackage']">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.0"/>
</style>
</containerMappings>
<toolSections name="Package">
<ownedTools xsi:type="tool_1:ContainerCreationDescription" name="Package" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Dropped%20Package']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EPackage" referenceName="eSubpackages" variableName="newPackage">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newPackage">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'newPackage' + self.eContainer().eContents(ecore::EPackage)->size()"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="Drop EClassifier into EPackage" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newSemanticContainer">
<subModelOperations xsi:type="tool:SetValue" featureName="eClassifiers" valueExpression="var:element"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="Drop EPackage into EPackage" mappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Dropped%20Package']" dragSource="BOTH">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:newSemanticContainer">
<subModelOperations xsi:type="tool:SetValue" featureName="eSubpackages" valueExpression="var:element">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Dropped%20Package']" containerViewExpression="var:newContainerView"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
</additionalLayers>
<additionalLayers name="Documentation">
<nodeMappings name="EC Doc Annotation" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Documentation']/@toolSections.0/@ownedTools[name='Edit%20Detail']" semanticCandidatesExpression="service:getVisibleDocAnnotations(diagram)" domainClass="ecore.EStringToStringMapEntry">
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="feature:value" labelAlignment="LEFT" sizeComputationExpression="1" labelPosition="node" resizeKind="NSEW" width="12" height="10" color="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Doc%20Annotation']">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</nodeMappings>
<edgeMappings name="EC Doc Assignment" semanticCandidatesExpression="aql:self.eAllContents()" sourceMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Documentation']/@nodeMappings[name='EC%20Doc%20Annotation']" targetMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Dropped%20Package'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']" targetFinderExpression="service:eContainerEContainer">
<style lineStyle="dot">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription showIcon="false">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<toolSections name="Documentation">
<ownedTools xsi:type="tool_1:NodeCreationDescription" name="Doc Annotation" nodeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Documentation']/@nodeMappings[name='EC%20Doc%20Annotation']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EAnnotation_24.gif" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Dropped%20Package']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.eAnnotations->select(a | a.source = 'http://www.eclipse.org/emf/2002/GenModel')->size() = 0">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EAnnotation" referenceName="eAnnotations">
<subModelOperations xsi:type="tool:SetValue" featureName="source" valueExpression="aql:'http://www.eclipse.org/emf/2002/GenModel'"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.eAnnotations->select(a | a.source = 'http://www.eclipse.org/emf/2002/GenModel')->asSequence()->first()">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.details->select(a | a.key = 'documentation')->size() = 0">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EStringToStringMapEntry" referenceName="details">
<subModelOperations xsi:type="tool:SetValue" featureName="key" valueExpression="aql:'documentation'"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.details->select(a | a.key = 'documentation')->asSequence()->first()">
<subModelOperations xsi:type="tool:SetValue" featureName="value" valueExpression="aql:'New documentation note'"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DirectEditLabel" name="Edit Detail">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool:SetValue" featureName="value" valueExpression="var:arg0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:EdgeCreationDescription" name="Doc Assignment" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Documentation']/@edgeMappings[name='EC%20Doc%20Assignment']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/AnnotationLink.gif">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:source.eContainer(ecore::EAnnotation)">
<subModelOperations xsi:type="tool:MoveElement" newContainerExpression="var:target" featureName="eAnnotations"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<customization>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="service:hasNoDocAnnotation">
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style/@centerLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType']/@style" referenceName="labelColor">
<value href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
</featureCustomizations>
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType']/@style" referenceName="borderColor">
<value href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
</featureCustomizations>
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style" referenceName="strokeColor">
<value href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
</featureCustomizations>
</vsmElementCustomizations>
</customization>
</additionalLayers>
<additionalLayers name="Validation" activeByDefault="true">
<customization>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="service:hasError">
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='Operation']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style/@centerLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style/@centerLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style/@centerLabelStyleDescription //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType']/@style" referenceName="labelColor">
<value href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
</featureCustomizations>
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='Operation']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType']/@style" referenceName="borderColor">
<value href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
</featureCustomizations>
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style" referenceName="strokeColor">
<value href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
</featureCustomizations>
</vsmElementCustomizations>
</customization>
</additionalLayers>
<additionalLayers name="Constraint">
<nodeMappings name="EC Constraint Annotation" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Documentation']/@toolSections.0/@ownedTools[name='Edit%20Detail']" semanticCandidatesExpression="service:getVisibleConstraintsAnnotations(diagram)" domainClass="ecore.EStringToStringMapEntry">
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="feature:value" sizeComputationExpression="1" labelPosition="node" resizeKind="NSEW" width="12" height="5">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
</style>
</nodeMappings>
<edgeMappings name="EC Constraint Assignment" semanticCandidatesExpression="aql:self.eAllContents()" sourceMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Constraint']/@nodeMappings[name='EC%20Constraint%20Annotation']" targetMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']" targetFinderExpression="service:eContainerEContainer">
<style lineStyle="dot">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
<centerLabelStyleDescription showIcon="false">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<toolSections name="Constraints">
<ownedTools xsi:type="tool_1:NodeCreationDescription" name="Constraint" nodeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Constraint']/@nodeMappings[name='EC%20Constraint%20Annotation']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EAnnotation_24.gif" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EDataType'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']/@containerMappings[name='Dropped%20Package']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.eAnnotations->select(a | a.source = 'http://www.eclipse.org/emf/2002/Ecore')->size() = 0">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EAnnotation" referenceName="eAnnotations">
<subModelOperations xsi:type="tool:SetValue" featureName="source" valueExpression="aql:'http://www.eclipse.org/emf/2002/Ecore'"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.eAnnotations->select(a | a.source = 'http://www.eclipse.org/emf/2002/Ecore')->asSequence()->first()">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.details->select(a | a.key = 'constraints')->size() = 0">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EStringToStringMapEntry" referenceName="details">
<subModelOperations xsi:type="tool:SetValue" featureName="key" valueExpression="aql:'constraints'"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.details->select(a | a.key = 'constraints')->asSequence()->first()">
<subModelOperations xsi:type="tool:SetValue" featureName="value" valueExpression="aql:'Constraint1 Constraint2'"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:DirectEditLabel" name="Edit Detail">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool:SetValue" featureName="value" valueExpression="var:arg0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:EdgeCreationDescription" name="Constraint Assignment" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Constraint']/@edgeMappings[name='EC%20Constraint%20Assignment']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/AnnotationLink.gif">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:source.eContainer(ecore::EAnnotation)">
<subModelOperations xsi:type="tool:MoveElement" newContainerExpression="var:target" featureName="eAnnotations"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
</additionalLayers>
<additionalLayers name="Related EClasses">
<containerMappings name="EC External EClasses" deletionDescription="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.1/@ownedTools[name='NoOp']" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20Name%20with%20CamelCase']" semanticCandidatesExpression="service:getExternalEClasses(diagram)" domainClass="ecore.EClass" reusedBorderedNodeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@borderedNodeMappings[name='EC%20ETypeParameter']" dropDescriptions="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.2/@ownedTools[name='Drop%20attribute'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.2/@ownedTools[name='Drop%20operation']" reusedNodeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute'] //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='Operation']" childrenPresentation="List">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="8" arcHeight="8" borderSizeComputationExpression="1" tooltipExpression="service:renderTooltip" roundedCorner="true" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='EClass']">
<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']"/>
</style>
<conditionnalStyles predicateExpression="feature:interface">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="8" arcHeight="8" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Dark%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" tooltipExpression="service:renderTooltip" roundedCorner="true" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Abstract%20EClass']">
<labelFormat>italic</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="feature:abstract">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="8" arcHeight="8" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Dark%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" tooltipExpression="service:renderTooltip" roundedCorner="true" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Abstract%20EClass']">
<labelFormat>italic</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</conditionnalStyles>
</containerMappings>
</additionalLayers>
<additionalLayers name="Icons Preview" icon="/org.eclipse.emf.ecoretools.design/icons/full/etools16/image.gif">
<customization>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="aql:self.oclIsKindOf(ecore::EClass) and self.eInverse(genmodel::GenClass) &lt;> null">
<featureCustomizations xsi:type="description:EAttributeCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']/@conditionnalStyles.0/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Related%20EClasses']/@containerMappings[name='EC%20External%20EClasses']/@style" attributeName="iconPath" value="aql:self.eInverse(genmodel::GenClass).getEClassItemIconPath()->first()"/>
</vsmElementCustomizations>
</customization>
</additionalLayers>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_2:EditionTableDescription" documentation="&lt;html>&#xA;&lt;head>&#xA;&lt;/head>&#xA;&lt;body>&#xA;&lt;p>A tabular editor (spreadsheet-like) of the entities in an Ecore model.&lt;/p>&#xA;&lt;br>&#xA;&lt;img src=&quot;/icons/full/wizban/classes.png&quot;/>&#xA;&lt;/body>&#xA;&lt;/html>&#xA;&#xA;&#xA;" endUserDocumentation="A tabular editor (spreadsheet-like) of the entities in an Ecore model." name="Classes" label="Classes in a spreadsheet" titleExpression="aql:self.name + ' class table'" domainClass="ecore.EPackage">
<metamodel href="http://www.eclipse.org/emf/2002/GenModel#/"/>
<metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/>
<ownedLineMappings name="Classes lines" reusedInMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Classes']/@ownedLineMappings[name='Package']" domainClass="ecore.EClass" semanticCandidatesExpression="feature:eContents">
<foregroundConditionalStyle predicateExpression="feature:abstract">
<style labelSize="10">
<labelFormat>italic</labelFormat>
<foreGroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</foregroundConditionalStyle>
<ownedSubLines name="Feature" domainClass="ecore.EStructuralFeature"/>
</ownedLineMappings>
<ownedLineMappings name="Package" reusedSubLines="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Classes']/@ownedLineMappings[name='Classes%20lines']" domainClass="ecore.EPackage" headerLabelExpression="feature:name">
<defaultBackground>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</defaultBackground>
</ownedLineMappings>
<ownedCreateLine name="Create Class" forceRefresh="true" elementsToSelect="service:stdEmptyCollection" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Classes']/@ownedLineMappings[name='Classes%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:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EClass" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'NewEClass' + self.eContainer().eContents(ecore::EClass)->size()"/>
</subModelOperations>
</firstModelOperation>
</ownedCreateLine>
<ownedColumnMappings name="Name" headerLabelExpression="Name" featureName="name" labelExpression="service:getClassesTableName"/>
</ownedRepresentations>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.DesignServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.sirius.common.tools.api.interpreter.StandardServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.PropertiesServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.ALEServices"/>
</ownedViewpoints>
<ownedViewpoints endUserDocumentation="Add support for archetypes-based modeling to the Entities modeler." name="Archetype" modelFileExtension="ecore xcore ecorebin">
<ownedRepresentationExtensions xsi:type="description_1:DiagramExtensionDescription" name="Entities With Archetypes" viewpointURI="viewpoint:/org.eclipse.emf.ecoretools.design/Design" representationName="Entities">
<metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/>
<layers name="Archetypes" activeByDefault="true">
<toolSections name="Archetype">
<ownedTools xsi:type="tool_1:ContainerCreationDescription" documentation="Does the class represent a moment or interval of time that we need to track for business or legal reasons? " name="MomentInterval" forceRefresh="true" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/MomentInterval.gif" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEPackage">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EClass" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'newMomentInterval' + self.eContainer()->filter(ecore::EPackage).eClassifiers->filter(ecore::EClass)->size()">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.addArchetypeAnnotation('MomentInterval')"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEClass">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.addArchetypeAnnotation('MomentInterval')"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerCreationDescription" documentation="Does the class represent a catalog-entry like description? " name="Description" forceRefresh="true" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/Description.gif" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:container.oclIsTypeOf(ecore::EPackage)">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EClass" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'newDescription' + self.eContainer()->filter(ecore::EPackage).eClassifiers->filter(ecore::EClass)->size()">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.addArchetypeAnnotation('Description')"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="aql:container.oclIsTypeOf(ecore::EClass)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.addArchetypeAnnotation('Description')"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerCreationDescription" documentation="Does the class represent a role being played by a party (person or organization), place or thing? " name="Role" forceRefresh="true" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/Role.gif" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:container.oclIsTypeOf(ecore::EPackage)">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EClass" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'newRole' + self.eContainer()->filter(ecore::EPackage).eClassifiers->filter(ecore::EClass)->size()">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.addArchetypeAnnotation('Role')"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="aql:container.oclIsTypeOf(ecore::EClass)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.addArchetypeAnnotation('Role')"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerCreationDescription" name="Place/Thing" forceRefresh="true" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/Thing.gif" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:container.oclIsTypeOf(ecore::EPackage)">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EClass" referenceName="eClassifiers">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'newThing' + self.eContainer()->filter(ecore::EPackage).eClassifiers->filter(ecore::EClass)->size()">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.addArchetypeAnnotation('Thing')"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="aql:container.oclIsTypeOf(ecore::EClass)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.addArchetypeAnnotation('Thing')"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<customization>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="service:isMomentInterval">
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style" referenceName="foregroundColor" value="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='MomentIntervalColor']"/>
</vsmElementCustomizations>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="service:isDescription">
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style" referenceName="foregroundColor" value="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='DescriptionColor']"/>
</vsmElementCustomizations>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="service:isThing">
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style" referenceName="foregroundColor" value="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='PartyPlaceThingColor']"/>
</vsmElementCustomizations>
<vsmElementCustomizations xsi:type="description:VSMElementCustomization" predicateExpression="service:isRole">
<featureCustomizations xsi:type="description:EReferenceCustomization" appliedOn="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style //@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style" referenceName="foregroundColor" value="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='RoleColor']"/>
</vsmElementCustomizations>
</customization>
</layers>
</ownedRepresentationExtensions>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.ArchetypeServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.PropertiesServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.ALEServices"/>
</ownedViewpoints>
<ownedViewpoints endUserDocumentation="Provides representation to document and review Ecore models." name="Review" modelFileExtension="ecore xcore ecorebin">
<ownedRepresentations xsi:type="description_2:CrossTableDescription" documentation="&lt;html>&#xA;&lt;head>&#xA;&lt;/head>&#xA;&lt;body>&#xA;&lt;p>Document the concepts in a package.&lt;/p>&#xA;&lt;br>&#xA;&lt;img src=&quot;/icons/full/wizban/documentation_table.png&quot;/>&#xA;&lt;/body>&#xA;&lt;/html>&#xA;&#xA;&#xA;" name="Documentation" label="Documentation annotations in a spreadsheet" titleExpression="aql:self.name + ' documentation table'" domainClass="ecore.EPackage">
<metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/>
<ownedLineMappings name="Doc EClassifiers" semanticElements="var:self" domainClass="ecore.EClassifier" semanticCandidatesExpression="feature:eClassifiers" headerLabelExpression="aql:self.eClass().name + ' : ' + self.name">
<defaultBackground>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</defaultBackground>
<ownedSubLines name="Doc EStructural Features" domainClass="ecore.EStructuralFeature" semanticCandidatesExpression="feature:eContents" headerLabelExpression="aql:self.eClass().name + ' : ' + self.name">
<defaultBackground>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</defaultBackground>
</ownedSubLines>
</ownedLineMappings>
<ownedColumnMappings name="Doc Root" headerLabelExpression="Domain Documentation" domainClass="ecore.EPackage" semanticCandidatesExpression="service:getRootContainer"/>
<intersection name="EModelElements to Doc Annotation" semanticElements="var:self" lineMapping="//@ownedViewpoints[name='Review']/@ownedRepresentations[name='Documentation']/@ownedLineMappings[name='Doc%20EClassifiers'] //@ownedViewpoints[name='Review']/@ownedRepresentations[name='Documentation']/@ownedLineMappings[name='Doc%20EClassifiers']/@ownedSubLines[name='Doc%20EStructural%20Features']" columnMapping="//@ownedViewpoints[name='Review']/@ownedRepresentations[name='Documentation']/@ownedColumnMappings.0" labelExpression="aql:self.value" useDomainClass="true" columnFinderExpression="service:getRootContainer" lineFinderExpression="aql:self.eContainer(ecore::EAnnotation).eContainer()" semanticCandidatesExpression="aql:self.eAllContents(ecore::EAnnotation)->select(a | a.source = 'http://www.eclipse.org/emf/2002/GenModel').details->select(a | a.key = 'documentation')" domainClass="ecore.EStringToStringMapEntry">
<directEdit>
<variables name="table" documentation="The current DTable."/>
<variables name="line" documentation="The DLine of the current DCell."/>
<variables name="element" documentation="The currently edited element."/>
<variables name="lineSemantic" documentation="The semantic element corresponding to the line."/>
<variables name="columnSemantic" documentation="The semantic element corresponding to the column (only available for Intersection Mapping)."/>
<variables name="root" documentation="The semantic element of the table."/>
<firstModelOperation xsi:type="tool:SetValue" featureName="value" valueExpression="var:arg0"/>
<mask mask="{0}"/>
</directEdit>
<defaultBackground backgroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Doc%20Annotation']"/>
<create name="New Documentation" forceRefresh="true">
<variables name="lineSemantic" documentation="The semantic element corresponding to the line."/>
<variables name="columnSemantic" documentation="The semantic element corresponding to the column."/>
<variables name="root" documentation="The semantic root element of the table."/>
<firstModelOperation xsi:type="tool:ChangeContext" browseExpression="var:lineSemantic">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:lineSemantic.eAnnotations->select(a | a.source = 'http://www.eclipse.org/emf/2002/GenModel')->size() = 0">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EAnnotation" referenceName="eAnnotations" variableName="newAnnotation">
<subModelOperations xsi:type="tool:SetValue" featureName="source" valueExpression="aql:'http://www.eclipse.org/emf/2002/GenModel'"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:lineSemantic.eAnnotations->select(a | a.source = 'http://www.eclipse.org/emf/2002/GenModel')->first()">
<subModelOperations xsi:type="tool:If" conditionExpression="aql:self.details->select(a| a.key = 'documentation')->size() = 0">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EStringToStringMapEntry" referenceName="details" variableName="newDetail">
<subModelOperations xsi:type="tool:SetValue" featureName="key" valueExpression="aql:'documentation'"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:lineSemantic.eAnnotations->select(a | a.source = 'http://www.eclipse.org/emf/2002/GenModel').details->select(a | a.key = 'documentation')->first()">
<subModelOperations xsi:type="tool:SetValue" featureName="value" valueExpression="var:arg0"/>
</subModelOperations>
</firstModelOperation>
<mask mask="{0}"/>
</create>
</intersection>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_1:DiagramDescription" dropDescriptions="//@ownedViewpoints[name='Review']/@ownedRepresentations[name='Dependencies']/@defaultLayer/@toolSections.1/@ownedTools[name='External%20EPackageTo%20Analyze%20from%20treeview']" documentation="&lt;html>&#xA;&lt;head>&#xA;&lt;/head>&#xA;&lt;body>&#xA;&lt;p>A diagram used to highligh dependencies in between EPackages.&lt;/p>&#xA;&lt;br>&#xA;&lt;img src=&quot;/icons/full/wizban/packages.png&quot;/>&#xA;&lt;/body>&#xA;&lt;/html>&#xA;&#xA;&#xA;" name="Dependencies" label="Package dependencies diagram" titleExpression="aql:self.name + ' package dependencies'" domainClass="ecore.EPackage">
<metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/>
<defaultLayer name="Default">
<edgeMappings name="Package Dependency" semanticCandidatesExpression="service:getPackageDependencies" sourceMapping="//@ownedViewpoints[name='Review']/@ownedRepresentations[name='Dependencies']/@defaultLayer/@containerMappings[name='Analyzed%20Package']" targetMapping="//@ownedViewpoints[name='Review']/@ownedRepresentations[name='Dependencies']/@defaultLayer/@containerMappings[name='Analyzed%20Package']" targetFinderExpression="service:getPackageDependencies" domainClass="ecore.EPackage">
<style lineStyle="dash" sizeComputationExpression="service:getDependenciesAmount()">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
<centerLabelStyleDescription>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="Analyzed Package" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20Name%20no%20CamelCase']" createElements="false" domainClass="ecore.EPackage" childrenPresentation="List">
<subNodeMappings name="EClassfierIntroducingDependency" semanticCandidatesExpression="service:getElementsIntroducingDependencies(diagram)" domainClass="ecore.EClassifier">
<style xsi:type="style:BundledImageDescription" labelExpression="service:getDependenciesLabel" labelAlignment="LEFT" tooltipExpression="service:getDependenciesTooltip(view)" 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']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='Dark%20EPackage']" labelExpression="feature:nsURI" labelAlignment="LEFT" backgroundStyle="Liquid" foregroundColor="//@userColorsPalettes[name='Ecore%20Palette']/@entries[name='EPackage']">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.0"/>
</style>
</containerMappings>
<toolSections name="Help" label="Help">
<ownedTools xsi:type="tool:OperationAction" name="Open Dependencies User Guide" label="Open User Guide">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="Open Dependencies User Guide Action" id="org.eclipse.sirius.ui.business.api.action.openHelpSection">
<parameters name="href" value="/org.eclipse.emf.ecoretools.design/doc/user-guide.html#quality.dependencies"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Existing Elements">
<ownedTools xsi:type="tool:SelectionWizardDescription" name="Add" precondition="service:isEPackage" forceRefresh="true" candidatesExpression="service:getValidsForDiagram(containerView)" multiple="true" tree="true" rootExpression="service:rootEPackages" childrenExpression="feature:eContents" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/etools16/search.gif" windowTitle="Select element to add in diagram">
<element name="element"/>
<containerView name="containerView"/>
<container name="container"/>
<initialOperation>
<firstModelOperations xsi:type="tool:For" expression="var:element">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEPackage">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Review']/@ownedRepresentations[name='Dependencies']/@defaultLayer/@containerMappings[name='Analyzed%20Package']" containerViewExpression="var:containerView"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ToolDescription" name="RemoveExistingElements" label="Remove" precondition="aql:containerView.oclIsKindOf(diagram::DDiagram)" forceRefresh="true" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/etools16/search.gif">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:elementView">
<subModelOperations xsi:type="tool:DeleteView"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ContainerDropDescription" name="External EPackageTo Analyze from treeview" forceRefresh="true" 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:If" conditionExpression="service:isEPackage">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Review']/@ownedRepresentations[name='Dependencies']/@defaultLayer/@containerMappings[name='Analyzed%20Package']" containerViewExpression="var:newContainerView"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:OperationAction" name="Add Related Elements" icon="/org.eclipse.emf.ecoretools.design/icons/full/etools16/search.gif">
<view name="views">
<subVariables xsi:type="tool:SelectModelElementVariable" name="selected" candidatesExpression="service:getRelated(views,diagram)" multiple="true" message="Pick the Element you want to add to the diagram."/>
</view>
<initialOperation>
<firstModelOperations xsi:type="tool:For" expression="var:selected">
<subModelOperations xsi:type="tool:If" conditionExpression="service:isEPackage">
<subModelOperations xsi:type="tool_1:CreateView" mapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']" containerViewExpression="var:diagram"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
</defaultLayer>
</ownedRepresentations>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.ReviewServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.PropertiesServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.ALEServices"/>
</ownedViewpoints>
<ownedViewpoints endUserDocumentation="Adds support for EMF GenModel configuration." name="Generation" modelFileExtension="genmodel">
<ownedRepresentations xsi:type="description_2:EditionTableDescription" documentation="&lt;html>&#xA;&lt;head>&#xA;&lt;/head>&#xA;&lt;body>&#xA;&lt;p>To set generation related parameters:&lt;/p>&#xA;&lt;ul>&#xA; &lt;li>the property category&lt;/li>&#xA; &lt;li>the user facing documentation for each property&lt;/li>&#xA;&lt;/ul>&#xA;&lt;br>&#xA;&lt;/body>&#xA;&lt;/html>&#xA;&#xA;&#xA;" name="GenPackage Attributes" label="Properties attributes and categories" titleExpression="aql:self.prefix + ' generation table'" domainClass="genmodel.GenPackage">
<metamodel href="http://www.eclipse.org/emf/2002/GenModel#/"/>
<metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/>
<ownedLineMappings name="GenClass" domainClass="genmodel.GenClass" headerLabelExpression="aql:self.ecoreClass.name">
<ownedSubLines name="GenFeature" domainClass="genmodel.GenFeature" semanticCandidatesExpression="aql:self.eAllContents(genmodel::GenFeature)->select(a | a.ecoreFeature.oclIsTypeOf(ecore::EAttribute) or a.ecoreFeature.oclIsTypeOf(ecore::EReference) and not(a.ecoreFeature.oclAsType(ecore::EReference).containment) and not(a.ecoreFeature.oclAsType(ecore::EReference).derived))" headerLabelExpression="aql:self.ecoreFeature.name">
<backgroundConditionalStyle predicateExpression="aql:self.propertyCategory = ''">
<style>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</style>
</backgroundConditionalStyle>
</ownedSubLines>
</ownedLineMappings>
<ownedColumnMappings name="Category" headerLabelExpression="Category" canEdit="aql:self.oclIsTypeOf(genmodel::GenFeature)" featureName="propertyCategory" labelExpression="aql:self->filter(genmodel::GenFeature).propertyCategory->first()"/>
<ownedColumnMappings name="Decription" headerLabelExpression="Description" canEdit="aql:self.oclIsTypeOf(genmodel::GenFeature)" featureName="propertyDescription" labelExpression="aql:self->filter(genmodel::GenFeature).propertyDescription->first()"/>
</ownedRepresentations>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.GenerationServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.PropertiesServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.emf.ecoretools.design.service.ALEServices"/>
</ownedViewpoints>
<userColorsPalettes name="Ecore Palette">
<entries xsi:type="description:InterpolatedColor" name="Size Based Color" minValueComputationExpression="aql:0" maxValueComputationExpression="aql:10"/>
<entries xsi:type="description:UserFixedColor" red="250" green="190" blue="190" name="MomentIntervalColor"/>
<entries xsi:type="description:UserFixedColor" red="250" green="240" blue="180" name="RoleColor"/>
<entries xsi:type="description:UserFixedColor" red="180" green="230" blue="180" name="PartyPlaceThingColor"/>
<entries xsi:type="description:UserFixedColor" red="180" green="200" blue="210" name="DescriptionColor"/>
<entries xsi:type="description:UserFixedColor" red="255" green="245" blue="182" name="Package Color"/>
<entries xsi:type="description:UserFixedColor" red="253" green="208" blue="142" name="External Package Color"/>
<entries xsi:type="description:UserFixedColor" red="255" green="252" blue="216" name="EClass"/>
<entries xsi:type="description:UserFixedColor" red="217" green="210" blue="220" name="EPackage"/>
<entries xsi:type="description:UserFixedColor" red="255" green="250" blue="191" name="EDataType"/>
<entries xsi:type="description:UserFixedColor" red="221" green="236" blue="202" name="EEnum"/>
<entries xsi:type="description:UserFixedColor" name="Dark EClass"/>
<entries xsi:type="description:UserFixedColor" name="Dark EPackage"/>
<entries xsi:type="description:UserFixedColor" name="Dark EDataType"/>
<entries xsi:type="description:UserFixedColor" name="Dark EEnum"/>
<entries xsi:type="description:UserFixedColor" red="220" green="234" blue="183" name="Doc Annotation"/>
<entries xsi:type="description:UserFixedColor" red="228" green="228" blue="228" name="Abstract EClass"/>
<entries xsi:type="description:UserFixedColor" name="Inherited"/>
</userColorsPalettes>
<extensions xsi:type="properties:ViewExtensionDescription" name="ecoretools">
<metamodels href="http://www.eclipse.org/emf/2002/Ecore#/"/>
<metamodels href="http://www.eclipse.org/emf/2002/GenModel#/"/>
<categories name="Default">
<pages name="ecore_page" labelExpression="Ecore" semanticCandidateExpression="var:self" groups="//@extensions.0/@categories.0/@groups.0 //@extensions.0/@categories.0/@groups.5">
<validationSet>
<semanticValidationRules name="NoNameOrInvalid" level="ERROR" message="aql:' The ' + self.eClass().name + ' should have a name which is a valid Java identifier.'" targetClass="ecore::ENamedElement">
<audits auditExpression="aql: (not self.oclIsKindOf(ecore::ENamedElement) ) or (self.name &lt;> null and self.name.size() > 0)"/>
</semanticValidationRules>
</validationSet>
</pages>
<pages name="parameters_page" labelExpression="Parameters" domainClass="ecore::EOperation" semanticCandidateExpression="var:self" groups="//@extensions.0/@categories.0/@groups.9" indented="true">
<validationSet>
<semanticValidationRules name="NoNameOrInvalid" level="ERROR" message="aql:' The ' + self.eClass().name + ' should have a name which is a valid Java identifier.'" targetClass="ecore::ENamedElement">
<audits auditExpression="aql:(not self.oclIsKindOf(ecore::ENamedElement) ) or self.name &lt;> null and self.name.size() > 0"/>
</semanticValidationRules>
</validationSet>
</pages>
<pages name="documentation_page" labelExpression="Documentation" semanticCandidateExpression="var:self" groups="//@extensions.0/@categories.0/@groups.2" indented="true"/>
<pages name="annotation_page" labelExpression="Annotation" semanticCandidateExpression="var:self" groups="//@extensions.0/@categories.0/@groups.10" indented="true">
<actions tooltipExpression="Add EAnnotation" imageExpression="/org.eclipse.emf.ecore.edit/icons/full/ctool16/CreateEModelElement_eAnnotations_EAnnotation.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore::EAnnotation" referenceName="eAnnotations"/>
</firstModelOperations>
</initialOperation>
</actions>
</pages>
<pages name="generation_page" labelExpression="Generation" semanticCandidateExpression="aql:self" preconditionExpression="aql:self.eInverse()->select( g | g.eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))->asSet()->size() > 0" groups="//@extensions.0/@categories.0/@groups.4 //@extensions.0/@categories.0/@groups.1 //@extensions.0/@categories.0/@groups.3 //@extensions.0/@categories.0/@groups.6">
<actions tooltipExpression="Generate Model" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/etools16/generate_single.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:ExternalJavaAction" name="Generate Model Properties" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
<parameters name="genmodels" value="aql:self.eInverse()->select( g | g.eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))->asSet().eContainerOrSelf(genmodel::GenModel)->asSet()"/>
<parameters name="scope" value="model"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</actions>
<actions tooltipExpression="Generate Edit" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/etools16/generate_single.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:ExternalJavaAction" name="Generate Edit Properties" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
<parameters name="genmodels" value="aql:self.eInverse()->select( g | g.eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))->asSet().eContainerOrSelf(genmodel::GenModel)->asSet()"/>
<parameters name="scope" value="edit"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</actions>
<actions tooltipExpression="Generate Editor" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/etools16/generate_single.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:ExternalJavaAction" name="Generate Editor Properties" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
<parameters name="genmodels" value="aql:self.eInverse()->select( g | g.eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))->asSet().eContainerOrSelf(genmodel::GenModel)->asSet()"/>
<parameters name="scope" value="editor"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</actions>
<actions tooltipExpression="Generate All" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/etools16/generate.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All Properties" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
<parameters name="genmodels" value="aql:self.eInverse()->select( g | g.eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))->asSet().eContainerOrSelf(genmodel::GenModel)->asSet()"/>
<parameters name="scope" value="model, edit, editor, tests"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</actions>
</pages>
<pages name="execution_page" labelExpression="Execution" semanticCandidateExpression="var:self" preconditionExpression="aql:self.eContainerOrSelf(ecore::EPackage).isConfiguredForALE()" groups="//@extensions.0/@categories.0/@groups.7 //@extensions.0/@categories.0/@groups.8"/>
<groups name="default rules" labelExpression="aql:input.emfEditServices(self).getText()" semanticCandidateExpression="aql:self.removeSemanticElementsToHide(input.getAllSemanticElements(),input.context().semanticDecorator())" preconditionExpression="">
<controls xsi:type="properties:DynamicMappingForDescription" name="sirius_default_rules_structural_features_for" iterator="eStructuralFeature" iterableExpression="aql:self.removeFeaturesToHide(input.emfEditServices(self).getEStructuralFeatures())">
<ifs name="sirius_default_rules_mono_string_if" predicateExpression="aql:input.emfEditServices(self).needsTextWidget(eStructuralFeature) and not input.emfEditServices(self).isMultiline(eStructuralFeature)">
<widget xsi:type="properties:TextDescription" name="sirius_default_rules_mono_string" labelExpression="aql:input.emfEditServices(self).getText(eStructuralFeature)+':'" helpExpression="aql:input.emfEditServices(self).getDescription(eStructuralFeature)" isEnabledExpression="aql:eStructuralFeature.changeable" valueExpression="aql:if eStructuralFeature.name = 'upperBound' and self.oclIsKindOf(ecore::ETypedElement) then self.upperBoundDisplay() else self.eGet(eStructuralFeature.name) endif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:Switch">
<cases conditionExpression="aql:eStructuralFeature.name = 'upperBound' and self.oclIsKindOf(ecore::ETypedElement)">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.setUpperBound(newValue)"/>
</cases>
<default>
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:input.emfEditServices(self).setValue(eStructuralFeature, newValue)"/>
</default>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<conditionalStyles preconditionExpression="aql:eStructuralFeature.lowerBound==1">
<style>
<labelFontFormat>bold</labelFontFormat>
</style>
</conditionalStyles>
</widget>
</ifs>
<ifs name="sirius_default_rules_multi_string_if" predicateExpression="aql:input.emfEditServices(self).needsTextWidget(eStructuralFeature) and input.emfEditServices(self).isMultiline(eStructuralFeature)">
<widget xsi:type="properties:TextAreaDescription" name="sirius_default_rules_multi_string" labelExpression="aql:input.emfEditServices(self).getText(eStructuralFeature)+':'" helpExpression="aql:input.emfEditServices(self).getDescription(eStructuralFeature)" isEnabledExpression="aql:eStructuralFeature.changeable" valueExpression="aql:self.eGet(eStructuralFeature.name)">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:input.emfEditServices(self).setValue(eStructuralFeature, newValue)"/>
</initialOperation>
<conditionalStyles preconditionExpression="aql:eStructuralFeature.lowerBound==1">
<style>
<labelFontFormat>bold</labelFontFormat>
</style>
</conditionalStyles>
</widget>
</ifs>
<ifs name="sirius_default_rules_mono_boolean" predicateExpression="aql:input.emfEditServices(self).needsCheckboxWidget(eStructuralFeature)">
<widget xsi:type="properties:CheckboxDescription" name="sirius_default_rules_mono_boolean" labelExpression="aql:input.emfEditServices(self).getText(eStructuralFeature)" helpExpression="aql:input.emfEditServices(self).getDescription(eStructuralFeature)" isEnabledExpression="aql:eStructuralFeature.changeable" valueExpression="aql:self.eGet(eStructuralFeature.name)">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:input.emfEditServices(self).setValue(eStructuralFeature, newValue)"/>
</initialOperation>
<conditionalStyles preconditionExpression="aql:eStructuralFeature.lowerBound==1">
<style>
<labelFontFormat>bold</labelFontFormat>
</style>
</conditionalStyles>
</widget>
</ifs>
<ifs name="sirius_default_rules_enum_if" predicateExpression="aql:eStructuralFeature.eType.oclIsKindOf(ecore::EEnum) and not(eStructuralFeature.many)">
<widget xsi:type="properties:RadioDescription" name="sirius_default_rules_enum" labelExpression="aql:input.emfEditServices(self).getText(eStructuralFeature)+':'" helpExpression="aql:input.emfEditServices(self).getDescription(eStructuralFeature)" isEnabledExpression="aql:eStructuralFeature.changeable" valueExpression="aql:eStructuralFeature.eType.oclAsType(ecore::EEnum).getEEnumLiteralByLiteral(self.eGet(eStructuralFeature.name).toString())" candidatesExpression="aql:eStructuralFeature.eType.oclAsType(ecore::EEnum).eLiterals" candidateDisplayExpression="aql:candidate.name" numberOfColumns="5">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:input.emfEditServices(self).setValue(eStructuralFeature, newValue.instance)"/>
</initialOperation>
<conditionalStyles preconditionExpression="aql:eStructuralFeature.lowerBound==1">
<style>
<labelFontFormat>bold</labelFontFormat>
</style>
</conditionalStyles>
</widget>
</ifs>
<ifs name="sirius_default_rules_eattribute_many_if" predicateExpression="aql:eStructuralFeature.oclIsKindOf(ecore::EAttribute) and eStructuralFeature.many">
<widget xsi:type="properties:ListDescription" name="sirius_default_rules_eattribute_many" labelExpression="aql:input.emfEditServices(self).getText(eStructuralFeature)+':'" helpExpression="aql:input.emfEditServices(self).getDescription(eStructuralFeature)" isEnabledExpression="aql:eStructuralFeature.changeable" valueExpression="aql:self.eGet(eStructuralFeature.name)" displayExpression="var:value"/>
</ifs>
<ifs name="sirius_default_rules_ereference_if" predicateExpression="aql:eStructuralFeature.oclIsKindOf(ecore::EReference) and eStructuralFeature.many = true">
<widget xsi:type="properties-ext-widgets-reference:ExtReferenceDescription" name="sirius_default_rules_ereference" labelExpression="aql:input.emfEditServices(self).getText(eStructuralFeature)+':'" helpExpression="aql:input.emfEditServices(self).getDescription(eStructuralFeature)" referenceNameExpression="aql:eStructuralFeature.name"/>
</ifs>
<ifs name="ecoretools_etype_ereference" predicateExpression="aql:eStructuralFeature.oclIsKindOf(ecore::EReference) and eStructuralFeature.many = false">
<widget xsi:type="properties:LabelDescription" name="etype label" labelExpression="aql:input.emfEditServices(self).getText(eStructuralFeature)+':'" helpExpression="aql:input.emfEditServices(self).getDescription(eStructuralFeature)" valueExpression="aql:self.eGetMonoRef(eStructuralFeature)" displayExpression="aql:if self.eGetMonoRef(eStructuralFeature) &lt;> null then input.emfEditServices(self.eGetMonoRef(eStructuralFeature)).getText() else '' endif">
<actions labelExpression="...">
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="open select etype dialog" id="org.eclipse.emf.ecoretools.design.action.openSelectModelElementID">
<parameters name="message" value="aql:'Select an ' + eStructuralFeature.eType.name + ' for the ' + eStructuralFeature.name + ' reference.'"/>
<parameters name="title" value="aql:'Select ' + eStructuralFeature.eType.name "/>
<parameters name="candidates" value="aql:input.emfEditServices(self).getChoiceOfValues(eStructuralFeature)"/>
<parameters name="feature" value="var:eStructuralFeature"/>
<parameters name="host" value="var:self"/>
</firstModelOperations>
</initialOperation>
</actions>
<actions labelExpression="&#x2205;">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:input.emfEditServices(self).setValue(eStructuralFeature, null)"/>
</firstModelOperations>
</initialOperation>
</actions>
</widget>
</ifs>
</controls>
<style barStyle="NO_TITLE" toggleStyle="NONE" expandedByDefault="true"/>
<conditionalStyles preconditionExpression="aql:self.removeSemanticElementsToHide(input.getAllSemanticElements(),input.context().semanticDecorator())->size() > 1">
<style toggleStyle="NONE" expandedByDefault="true"/>
</conditionalStyles>
</groups>
<groups name="genmodel opposite instance" labelExpression="aql:self.eClass().name" semanticCandidateExpression="aql:self.eInverse()->select( g | g.eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))->asSet()" preconditionExpression="" extends="//@extensions.0/@categories.0/@groups.0">
<style expandedByDefault="true"/>
</groups>
<groups name="documentation" labelExpression="Documentation" domainClass="ecore::EModelElement">
<controls xsi:type="properties:ContainerDescription" name="documentation_container">
<controls xsi:type="properties:TextAreaDescription" name="doc_area" lineCount="16" valueExpression="aql:self.getVisibleDocAnnotations().value">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.setDocAnnotation(newValue)"/>
</initialOperation>
</controls>
</controls>
<style barStyle="NO_TITLE" toggleStyle="NONE" expandedByDefault="true"/>
</groups>
<groups name="generation_navigation" semanticCandidateExpression="aql:self.eInverse()->select( g | g.eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))->asSet()">
<controls xsi:type="properties:ContainerDescription" name="generation_navigation_container">
<controls xsi:type="properties:HyperlinkDescription" name="goto sourcecode" isEnabledExpression="aql:self.isJavaFileGenerated()" valueExpression="aql:self" displayExpression="aql:if self.isJavaFileGenerated() then 'Open Java Implementation' else '' endif">
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="open java editor" id="org.eclipse.emf.ecoretools.design.action.openFileInEditorID">
<parameters name="path" value="aql:self.getJavaImplementationPath()"/>
</firstModelOperations>
</initialOperation>
</controls>
</controls>
<style barStyle="NO_TITLE" toggleStyle="NONE" expandedByDefault="true"/>
</groups>
<groups name="genmodel_directories" labelExpression="Directories" domainClass="genmodel.GenModel" semanticCandidateExpression="aql:(OrderedSet{self} + self.eInverse() + self.eInverse().eContainer()- self.eContents()- OrderedSet{self.eContainer()})->select(e | e.eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))->asSet()">
<controls xsi:type="properties:TextDescription" name="modelDirectory" labelExpression="Model" valueExpression="aql:self.modelDirectory">
<initialOperation>
<firstModelOperations xsi:type="tool:SetValue" featureName="modelDirectory" valueExpression="var:newValue"/>
</initialOperation>
</controls>
<controls xsi:type="properties:TextDescription" name="editDirectory" labelExpression="Edit" valueExpression="feature:editDirectory">
<initialOperation>
<firstModelOperations xsi:type="tool:SetValue" featureName="editDirectory" valueExpression="var:newValue"/>
</initialOperation>
</controls>
<controls xsi:type="properties:TextDescription" name="editorDirectory" labelExpression="Editor" valueExpression="feature:editorDirectory">
<initialOperation>
<firstModelOperations xsi:type="tool:SetValue" featureName="editorDirectory" valueExpression="var:newValue"/>
</initialOperation>
</controls>
<style barStyle="SHORT_TITLE_BAR" expandedByDefault="true"/>
</groups>
<groups name="egeneric supertypes-TBD" labelExpression="aql:'EGenericType : ' + input.emfEditServices(self).getText()" domainClass="ecore::EGenericType" semanticCandidateExpression="aql: input.getSemanticElement()->filter(ecore::EClass).eGenericSuperTypes" preconditionExpression="aql:false and self.oclIsKindOf(ecore::EClass)">
<controls xsi:type="properties:LabelDescription" name="etypeparameter label" labelExpression="EType Parameter:" valueExpression="aql:self.eTypeArguments->first().eTypeParameter" displayExpression="aql:self.eTypeArguments->first().eTypeParameter.name">
<actions labelExpression="...">
<initialOperation>
<firstModelOperations xsi:type="tool:Let" variableName="eStructuralFeature" valueExpression="aql:self.eClass().getEStructuralFeature('eTypeParameter')">
<subModelOperations xsi:type="tool:ExternalJavaAction" name="open select etype dialog" id="org.eclipse.emf.ecoretools.design.action.openSelectModelElementID">
<parameters name="message" value="aql:'Select an ' + eStructuralFeature.eType.name + ' for the ' + eStructuralFeature.name + ' reference.'"/>
<parameters name="title" value="aql:'Select ' + eStructuralFeature.eType.name "/>
<parameters name="candidates" value="aql:input.emfEditServices(self).getChoiceOfValues(eStructuralFeature)"/>
<parameters name="feature" value="var:eStructuralFeature"/>
<parameters name="host" value="var:self"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</actions>
</controls>
<controls xsi:type="properties:LabelDescription" name="EClassifier label" labelExpression="Classifier:" valueExpression="aql:self.eTypeArguments->at(2).eClassifier" displayExpression="aql:self.eTypeArguments->at(2).eClassifier.name">
<actions labelExpression="...">
<initialOperation>
<firstModelOperations xsi:type="tool:Let" variableName="eStructuralFeature" valueExpression="aql:self.eClass().getEStructuralFeature('eClassifier')">
<subModelOperations xsi:type="tool:ExternalJavaAction" name="open select etype dialog" id="org.eclipse.emf.ecoretools.design.action.openSelectModelElementID">
<parameters name="message" value="aql:'Select an ' + eStructuralFeature.eType.name + ' for the ' + eStructuralFeature.name + ' reference.'"/>
<parameters name="title" value="aql:'Select ' + eStructuralFeature.eType.name "/>
<parameters name="candidates" value="aql:input.emfEditServices(self).getChoiceOfValues(eStructuralFeature)"/>
<parameters name="feature" value="var:eStructuralFeature"/>
<parameters name="host" value="var:self"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</actions>
</controls>
</groups>
<groups name="genmodel root" labelExpression="aql:self.eClass().name" semanticCandidateExpression="aql:self->select(e | e.oclIsKindOf(ecore::EPackage)).eInverse()->select( g | g.eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel')).eContainer(genmodel::GenModel)->asSet()" preconditionExpression="" extends="//@extensions.0/@categories.0/@groups.0">
<style expandedByDefault="true"/>
</groups>
<groups name="execution_body" labelExpression="aql:self.getExecutableName()" semanticCandidateExpression="aql:OrderedSet{self}->filter(ecore::EClassifier).getAllExecutables()">
<controls xsi:type="properties:ContainerDescription" name="container_execution_body">
<controls xsi:type="properties:TextAreaDescription" name="executable_body" lineCount="14" valueExpression="aql:self.getExecutableBody()">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.setExecutableBody(newValue)"/>
</firstModelOperations>
</initialOperation>
</controls>
</controls>
<validationSet>
<semanticValidationRules name="isValidSyntax" level="ERROR" message="Syntax error in body" targetClass="EObject">
<audits auditExpression="aql:self.isValidBody()"/>
</semanticValidationRules>
</validationSet>
<style barStyle="NO_TITLE" toggleStyle="NONE" expandedByDefault="true"/>
</groups>
<groups name="execution_imports" labelExpression="Imports" domainClass="ecore::EModelElement" semanticCandidateExpression="aql:OrderedSet{self}->filter(ecore::EPackage)->select(p | p.getJavaImports()->size() > 0)">
<controls xsi:type="properties:ButtonDescription" name="execution_button_addimport" buttonLabelExpression="Add New Import">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self"/>
</initialOperation>
</controls>
<controls xsi:type="properties:ContainerDescription" name="execution_imports_container">
<controls xsi:type="properties:DynamicMappingForDescription" name="iterate over imports" iterator="jImport" iterableExpression="aql:self.getJavaImports()">
<ifs name="true" predicateExpression="aql:true">
<widget xsi:type="properties:TextDescription" name="java_import" labelExpression="Qualified Class Name: " valueExpression="aql:jImport.getQualifiedName()">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:jImport.setQualifiedName(newValue)"/>
</initialOperation>
</widget>
</ifs>
<ifs name="true" predicateExpression="aql:true">
<widget xsi:type="properties:ButtonDescription" name="execution_remove_import" buttonLabelExpression="Remove Import">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:jImport">
<subModelOperations xsi:type="tool:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</widget>
</ifs>
</controls>
<layout xsi:type="properties:FillLayoutDescription" orientation="HORIZONTAL"/>
</controls>
<style expandedByDefault="true"/>
</groups>
<groups name="eoperation parameters dynamic mapping" labelExpression="Parameters" domainClass="ecore::EOperation" semanticCandidateExpression="var:self">
<controls xsi:type="properties:ContainerDescription" name="parameters_container">
<controls xsi:type="properties:DynamicMappingForDescription" name="foreach parameter" iterator="self" iterableExpression="aql:self.eParameters" forceRefresh="true">
<ifs name="always true" predicateExpression="aql:true">
<widget xsi:type="properties:TextDescription" name="param_name" labelExpression="Name: " valueExpression="aql:self.name">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="var:newValue"/>
</firstModelOperations>
</initialOperation>
<style labelFontSizeExpression="8">
<labelFontFormat>italic</labelFontFormat>
</style>
</widget>
</ifs>
<ifs name="always true" predicateExpression="aql:true">
<widget xsi:type="properties:LabelDescription" name="etype label" labelExpression="EType: " valueExpression="aql:self.eGet('eType')" displayExpression="aql:self.eGet('eType').name">
<style labelFontSizeExpression="8">
<labelFontFormat>italic</labelFontFormat>
</style>
<actions labelExpression="...">
<initialOperation>
<firstModelOperations xsi:type="tool:ExternalJavaAction" name="open select etype dialog" id="org.eclipse.emf.ecoretools.design.action.openSelectModelElementID">
<parameters name="message" value="aql:'Select an EClass for the eType reference.'"/>
<parameters name="title" value="aql:'Select EClass'"/>
<parameters name="candidates" value="aql:input.emfEditServices(self).getChoiceOfValues(self.eClass().getEStructuralFeature('eType'))"/>
<parameters name="feature" value="aql:self.eClass().getEStructuralFeature('eType')"/>
<parameters name="host" value="var:self"/>
</firstModelOperations>
</initialOperation>
</actions>
<actions labelExpression="&#x2205;">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:SetValue" featureName="eType" valueExpression="aql:null"/>
</firstModelOperations>
</initialOperation>
</actions>
</widget>
</ifs>
<ifs name="always true" predicateExpression="aql:true">
<widget xsi:type="properties:ButtonDescription" name="up" isEnabledExpression="aql:self.precedingSiblings()->filter(ecore::EParameter)->size() > 0" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/etools16/up.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.moveUpInContainer()"/>
</firstModelOperations>
</initialOperation>
</widget>
</ifs>
<ifs name="always true" predicateExpression="aql:true">
<widget xsi:type="properties:ButtonDescription" name="down" isEnabledExpression="aql:self.precedingSiblings()->filter(ecore::EParameter)->size() +1 &lt; self.eContainer(ecore::EOperation).eParameters->size()" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/etools16/down.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="aql:self.moveDownInContainer()"/>
</firstModelOperations>
</initialOperation>
</widget>
</ifs>
<ifs name="always true" predicateExpression="aql:true">
<widget xsi:type="properties:ButtonDescription" name="del" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/etools16/unset.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</widget>
</ifs>
</controls>
<layout xsi:type="properties:GridLayoutDescription" numberOfColumns="5"/>
</controls>
<controls xsi:type="properties:DynamicMappingForDescription" name="dummy_workaround_bug515586" iterator="d" iterableExpression="aql:self" forceRefresh="true">
<ifs name="always false" predicateExpression="aql:false">
<widget xsi:type="properties:TextDescription" name="dummy">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self"/>
</initialOperation>
</widget>
</ifs>
</controls>
<style expandedByDefault="true"/>
<actions tooltipExpression="Add New Parameter" imageExpression="/org.eclipse.emf.ecore.edit/icons/full/ctool16/CreateEOperation_eParameters_EParameter.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore::EParameter" referenceName="eParameters">
<subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'param' + self.eContainer().eContents()->filter(ecore::EParameter)->size()"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</actions>
</groups>
<groups name="eannotation dynamic" labelExpression="aql:'EAnnotation ' + self.source" domainClass="ecore::EAnnotation" semanticCandidateExpression="aql:input.getSemanticElement()->filter(ecore::EModelElement).eAnnotations">
<controls xsi:type="properties:TextDescription" name="source" labelExpression="Source:" helpExpression="aql:input.emfEditServices(self).getDescription(self.eClass().getEStructuralFeature('source'))" valueExpression="aql:self.source">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:SetValue" featureName="source" valueExpression="var:newValue"/>
</firstModelOperations>
</initialOperation>
</controls>
<controls xsi:type="properties-ext-widgets-reference:ExtReferenceDescription" name="references ref" labelExpression="aql:input.emfEditServices(self).getText(self.eClass().getEStructuralFeature('references'))+':'" helpExpression="aql:input.emfEditServices(self).getDescription(self.eClass().getEStructuralFeature('references'))" referenceNameExpression="references" referenceOwnerExpression="aql:self"/>
<controls xsi:type="properties:ContainerDescription" name="eannota_buttons">
<controls xsi:type="properties:ButtonDescription" name="eannotation_add_entry" buttonLabelExpression="Add Entry">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:CreateInstance" typeName="ecore.EStringToStringMapEntry" referenceName="details"/>
</firstModelOperations>
</initialOperation>
</controls>
</controls>
<controls xsi:type="properties:ContainerDescription" name="eannotation_conainer_entries">
<controls xsi:type="properties:DynamicMappingForDescription" name="iterate over entries" iterator="self" iterableExpression="aql:self.details" forceRefresh="true">
<ifs name="always_true" predicateExpression="aql:true">
<widget xsi:type="properties:TextDescription" name="detail_key" labelExpression="Key:" valueExpression="aql:self.key">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:SetValue" featureName="key" valueExpression="var:newValue"/>
</firstModelOperations>
</initialOperation>
</widget>
</ifs>
<ifs name="always_true" predicateExpression="aql:true">
<widget xsi:type="properties:TextDescription" name="detail_value" labelExpression="Value:" valueExpression="aql:self.value">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:SetValue" featureName="value" valueExpression="var:newValue"/>
</firstModelOperations>
</initialOperation>
</widget>
</ifs>
<ifs name="always_true" predicateExpression="aql:true">
<widget xsi:type="properties:ButtonDescription" name="del" helpExpression="Delete the entry" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/etools16/unset.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</widget>
</ifs>
</controls>
<layout xsi:type="properties:GridLayoutDescription" numberOfColumns="3"/>
</controls>
<controls xsi:type="properties:DynamicMappingForDescription" name="dummy_workaround_bug515586" iterator="d" iterableExpression="aql:self" forceRefresh="true">
<ifs name="always false" predicateExpression="aql:false">
<widget xsi:type="properties:TextDescription" name="dummy_text">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self"/>
</initialOperation>
</widget>
</ifs>
</controls>
<style toggleStyle="TREE_NODE" expandedByDefault="true"/>
<actions tooltipExpression="Delete EAnnotation" imageExpression="/org.eclipse.emf.ecoretools.design/icons/full/etools16/unset.gif">
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</actions>
</groups>
</categories>
</extensions>
</description:Group>