Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaged Elaasar2017-02-21 08:19:48 +0000
committerFlorian Noyrit2017-03-13 16:19:06 +0000
commit7a1e61e4203fcf468a2635b80dd94182a95b588b (patch)
tree804451f2f230c2cb1a4b07815f4ccd2dc1edcf52 /plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model
parentcb10068854ce727bc5004e997663ae0a3ae2ffd6 (diff)
downloadorg.eclipse.papyrus-7a1e61e4203fcf468a2635b80dd94182a95b588b.tar.gz
org.eclipse.papyrus-7a1e61e4203fcf468a2635b80dd94182a95b588b.tar.xz
org.eclipse.papyrus-7a1e61e4203fcf468a2635b80dd94182a95b588b.zip
Bug 510451 - Reimplement the ISO42010 specification to properly support
architectural contexts and viewpoints Replaced the viewpoint configuration framework by a new architectural context/viewpoint framework. This involves defining architecture contexts and viewpoints in models and contributing them via extension points or via the preferences. Models reference an architecture context and a set of viewpoints at creation time, but can be switched later. Architecture contexts double as client contexts for which elementtypesetconfigurations can be registered. They also define viewpoints, which reference representation kinds (diagrams or tables). This contribution defines three architecture contexts: UML, Profile, and SysML corresponding to what Papyrus used to call diagram categories. Change-Id: I203b58d9e97afdffc45c2674683c0281eb8a7c5b Signed-off-by: Maged Elaasar <melaasar@gmail.com>
Diffstat (limited to 'plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model')
-rwxr-xr-xplugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model/GmfDiagRepresentation.ecore70
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model/GmfDiagRepresentation.genmodel45
2 files changed, 115 insertions, 0 deletions
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model/GmfDiagRepresentation.ecore b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model/GmfDiagRepresentation.ecore
new file mode 100755
index 00000000000..db0a46e3490
--- /dev/null
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model/GmfDiagRepresentation.ecore
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="representation" nsURI="http://www.eclipse.org/papyrus/infra/gmfdiag/representation"
+ nsPrefix="gmfdiagrepresentation">
+ <eClassifiers xsi:type="ecore:EClass" name="PapyrusDiagram" eSuperTypes="../../org.eclipse.papyrus.infra.architecture.representation/model/Representation.ecore#//PapyrusRepresentationKind">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="customPalette" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="customStyle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="childRules" upperBound="-1"
+ eType="#//ChildRule" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="These rules determine which model elements can be added as child of the origin through this diagram"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paletteRules" upperBound="-1"
+ eType="#//PaletteRule" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="These rules determine which palette elements should be available for this diagram"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assistantRules" upperBound="-1"
+ eType="#//AssistantRule" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="These rules determine which modeling assistants should be presented in this diagram"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationCommandClass" lowerBound="1">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass">
+ <eTypeArguments/>
+ </eGenericType>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ChildRule" eSuperTypes="../../org.eclipse.papyrus.infra.architecture.representation/model/Representation.ecore#//Rule">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stereotypes" upperBound="-1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="origin" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="insertionPath" upperBound="-1"
+ eType="#//PathElement" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PaletteRule" eSuperTypes="../../org.eclipse.papyrus.infra.architecture.representation/model/Representation.ecore#//Rule">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PathElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="origin" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssistantRule" eSuperTypes="../../org.eclipse.papyrus.infra.architecture.representation/model/Representation.ecore#//Rule">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A rule that permits or forbids one or more modeling assistants by element type ID."/>
+ </eAnnotations>
+ <eOperations name="matches" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Queries whether I match a given &lt;tt>elementType&lt;/tt>."/>
+ </eAnnotations>
+ <eParameters name="elementType" lowerBound="1" eType="#//ElementType"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementTypeID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xA;Modeling assistants are identified by the ID of the element type that they create.&#xA;This element type ID supports very simple wildcard patterns: an asterisk (&lt;tt>*&lt;/tt>)&#xA;may be used to match any substring, including the empty substring. This is&#xA;particularly useful to match an entire family of related element types by namespace&#xA;prefix, using a terminal asterisk.&#xA;&lt;/p>&lt;p>&#xA;If the element type ID is omitted, then the rule applies to all element types&#xA;(universal wildcard).&#xA;&lt;/p>"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="ElementType" instanceClassName="org.eclipse.gmf.runtime.emf.type.core.IElementType"/>
+</ecore:EPackage>
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model/GmfDiagRepresentation.genmodel b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model/GmfDiagRepresentation.genmodel
new file mode 100644
index 00000000000..f9e316def3f
--- /dev/null
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model/GmfDiagRepresentation.genmodel
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2017 CEA LIST.&#xD;&#xA;&#xD;&#xA; All rights reserved. This program and the accompanying materials&#xD;&#xA; are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; which accompanies this distribution, and is available at&#xD;&#xA; http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; &#xD;&#xA; Contributors:&#xD;&#xA; Maged Elaasar - Initial API and implementation&#xD;&#xA; &#xD;&#xA;"
+ modelDirectory="/org.eclipse.papyrus.infra.gmfdiag.representation/src-gen" editDirectory="/org.eclipse.papyrus.infra.gmfdiag.representation.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.infra.gmfdiag.representation.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.infra.gmfdiag.representation" modelName="Representation"
+ rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" testsDirectory="/org.eclipse.papyrus.infra.gmfdiag.representation.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
+ editPluginID="org.eclipse.papyrus.infra.gmfdiag.representation.edit" editorPluginID="org.eclipse.papyrus.infra.gmfdiag.representation.editor"
+ usedGenPackages="../../org.eclipse.papyrus.infra.core.architecture/model/Architecture.genmodel#//architecture ../../org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel#//constraints ../../org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.genmodel#//types ../../org.eclipse.papyrus.infra.architecture.representation/model/Representation.genmodel#//representation"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>GmfDiagRepresentation.ecore</foreignModel>
+ <genPackages prefix="Representation" basePackage="org.eclipse.papyrus.infra.gmfdiag"
+ disposableProviderFactory="true" childCreationExtenders="true" ecorePackage="GmfDiagRepresentation.ecore#/">
+ <genDataTypes ecoreDataType="GmfDiagRepresentation.ecore#//ElementType"/>
+ <genClasses ecoreClass="GmfDiagRepresentation.ecore#//PapyrusDiagram">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GmfDiagRepresentation.ecore#//PapyrusDiagram/customPalette"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GmfDiagRepresentation.ecore#//PapyrusDiagram/customStyle"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//PapyrusDiagram/childRules"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//PapyrusDiagram/paletteRules"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//PapyrusDiagram/assistantRules"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GmfDiagRepresentation.ecore#//PapyrusDiagram/creationCommandClass"/>
+ </genClasses>
+ <genClasses ecoreClass="GmfDiagRepresentation.ecore#//ChildRule">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//ChildRule/element"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//ChildRule/stereotypes"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//ChildRule/origin"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//ChildRule/insertionPath"/>
+ </genClasses>
+ <genClasses ecoreClass="GmfDiagRepresentation.ecore#//PaletteRule">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GmfDiagRepresentation.ecore#//PaletteRule/element"/>
+ </genClasses>
+ <genClasses ecoreClass="GmfDiagRepresentation.ecore#//PathElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//PathElement/feature"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//PathElement/origin"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference GmfDiagRepresentation.ecore#//PathElement/target"/>
+ </genClasses>
+ <genClasses ecoreClass="GmfDiagRepresentation.ecore#//AssistantRule">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GmfDiagRepresentation.ecore#//AssistantRule/elementTypeID"/>
+ <genOperations ecoreOperation="GmfDiagRepresentation.ecore#//AssistantRule/matches">
+ <genParameters ecoreParameter="GmfDiagRepresentation.ecore#//AssistantRule/matches/elementType"/>
+ </genOperations>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>

Back to the top