diff options
author | Maged Elaasar | 2017-02-21 08:19:48 +0000 |
---|---|---|
committer | Florian Noyrit | 2017-03-13 16:19:06 +0000 |
commit | 7a1e61e4203fcf468a2635b80dd94182a95b588b (patch) | |
tree | 804451f2f230c2cb1a4b07815f4ccd2dc1edcf52 /plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.representation/model | |
parent | cb10068854ce727bc5004e997663ae0a3ae2ffd6 (diff) | |
download | org.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')
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 <tt>elementType</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="<p>
Modeling assistants are identified by the ID of the element type that they create.
This element type ID supports very simple wildcard patterns: an asterisk (<tt>*</tt>)
may be used to match any substring, including the empty substring. This is
particularly useful to match an entire family of related element types by namespace
prefix, using a terminal asterisk.
</p><p>
If the element type ID is omitted, then the rule applies to all element types
(universal wildcard).
</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.

 All rights reserved. This program and the accompanying materials
 are made available under the terms of the Eclipse Public License v1.0
 which accompanies this distribution, and is available at
 http://www.eclipse.org/legal/epl-v10.html
 
 Contributors:
 Maged Elaasar - Initial API and implementation
 
" + 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> |