Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2021-08-25 13:26:27 +0000
committerPatrick Tessier2021-10-25 14:06:53 +0000
commit7af501956ef63b572a7575ac5b28952b5a997429 (patch)
tree0ae5a408fe5609eb86bc976fd91aa1c19c89a098 /plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel
parentf89eca16b4099f066f772e6d4429f25ee4104618 (diff)
downloadorg.eclipse.papyrus-7af501956ef63b572a7575ac5b28952b5a997429.tar.gz
org.eclipse.papyrus-7af501956ef63b572a7575ac5b28952b5a997429.tar.xz
org.eclipse.papyrus-7af501956ef63b572a7575ac5b28952b5a997429.zip
Bug 573986: [Toolsmiths] Properties view editor validation & incremental
updates Common fixes - fix encoding and decoding of related object URIs in the problem markers - handle stereotypes in nested packages (not profiles) - fix NPE in architecture builder - prompt to save editor before running quick fix if it's dirty - save editor after running quick fix - save and clean up resources loaded by the quick fix that the editor doesn't need to know about - delete cross-references within the scope of context models when deleting a data-context element, to account for supertype references, both in the editor and the quick fix Properties validation builder - add new validation builder plug-in for Properties models - check plugin.xml extensions for context and environment models - check existence of referenced Java classes and implied bundle dependencies - handle 'ppe' URI scheme in ModelDependenciesChecker via new generic service - ensure that HREFs to environment models that do not use XMI IDs are not broken by automatic assignment of IDs on resource load - ensure that XMI IDs are generated in context resources - add annotations to the generated Properties Context model to trace to the original source model (UML Profile or Ecore model) - add annotations to data context roots to record which layout generator was used to generate sections (used for quick fixes) - hide annotations from the editor by default because they need not (and probably should not) be edited by the user - infer traceability to source models from known constraints and internal relationships in the context model - add derived reference to views that use a section, supported by generated CacheAdapter implementation - add model validation rules for missing and obsolete data context elements and properties in the context model - add custom validation rules for EMFInstanceOf, UMLInstanceOf, and HasStereotype constraints, that their referenced classes can be resolved - validate that data-context properties, elements, and packages match their corresponding source model elements by name - quick fixes to rename data-context properties, elements, and packages to match their source model elements - includes 'touching' affected XWT resources to ensure that their qualified name references are updated - add check for missing data-context package for nested package/profile - check for entire source package/profile moved Add marker resolutions for - simple property-type inconsistency problems - delete obsolete data-context properties - add missing data-context properties - add missing data-context properties with property editors in sections - delete obsolete data-context elements - add missing data-context elements - add missing data-context elements with generated views - quick fixes to generate data-context package with or without views - add quick fix to find new package/profile location and update all source link URIs - add a quick fix for unresolved class problems in constraints - get appropriately qualified "expected name" of the class referenced by a constraint for population of marker data for the quick fix - generate a fix for each valid name that the constraint can reference Change-Id: Iebd062470d7539d15321cffa80556fc1d22023f2 Signed-off-by: Christian W. Damus <give.a.damus@gmail.com>
Diffstat (limited to 'plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel')
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel40
1 files changed, 32 insertions, 8 deletions
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel
index 2c59818b644..86ed1330ae0 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel
@@ -2,12 +2,13 @@
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
copyrightText="Copyright (c) 2011, 2021 CEA LIST and others.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License 2.0&#xA;which accompanies this distribution, and is available at&#xA;https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA;SPDX-License-Identifier: EPL-2.0&#xA;&#xA;Contributors:&#xA; CEA LIST - Initial API and implementation&#xA;"
- modelDirectory="/org.eclipse.papyrus.infra.properties/src-gen" editDirectory="/org.eclipse.papyrus.infra.properties.edit/src-gen"
+ modelDirectory="/org.eclipse.papyrus.infra.properties/src-gen" creationIcons="false"
+ editDirectory="/org.eclipse.papyrus.infra.properties.edit/src-gen"
editorDirectory="/org.eclipse.papyrus.infra.properties.editor/src-gen" modelPluginID="org.eclipse.papyrus.infra.properties"
modelName="Properties" nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="11.0" copyrightFields="false"
- usedGenPackages="../../org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel#//constraints ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore"
- operationReflection="true" importOrganizing="true">
+ usedGenPackages="../../org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel#//constraints ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.uml2.types/model/Types.genmodel#//types"
+ operationReflection="true" importOrganizing="true" cacheAdapterSupport="true">
<genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
<details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
<details key="DUPLICATE_FEATURES" value="DISCARD"/>
@@ -36,7 +37,9 @@
<genPackages xsi:type="genmodel:GenPackage" prefix="Properties" basePackage="org.eclipse.papyrus.infra"
disposableProviderFactory="true" ecorePackage="properties.ecore#/">
<nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Environment" basePackage="org.eclipse.papyrus.infra.properties"
- disposableProviderFactory="true" ecorePackage="properties.ecore#//environment">
+ resource="XMI" disposableProviderFactory="true" contentTypeIdentifier="org.eclipse.papyrus.infra.properties.environment"
+ fileExtensions="environment,xmi" ecorePackage="properties.ecore#//environment"
+ operationsPackage="org.eclipse.papyrus.infra.properties.environment.operations">
<genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="properties.ecore#//environment/Type">
<genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="properties.ecore#//environment/Type/String"/>
<genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="properties.ecore#//environment/Type/Boolean"/>
@@ -91,7 +94,8 @@
</genClasses>
</nestedGenPackages>
<nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Contexts" basePackage="org.eclipse.papyrus.infra.properties"
- disposableProviderFactory="true" ecorePackage="properties.ecore#//contexts">
+ resource="XMI" disposableProviderFactory="true" contentTypeIdentifier="org.eclipse.papyrus.infra.properties.context"
+ fileExtensions="ctx" ecorePackage="properties.ecore#//contexts" operationsPackage="org.eclipse.papyrus.infra.properties.contexts.operations">
<genClasses xsi:type="genmodel:GenClass" ecoreClass="properties.ecore#//contexts/Context">
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//contexts/Context/name"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -126,14 +130,34 @@
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//contexts/Section/sectionFile"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference properties.ecore#//contexts/Section/widget"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference properties.ecore#//contexts/Section/views"/>
<genFeatures xsi:type="genmodel:GenFeature" property="None" notify="false"
createChild="false" ecoreFeature="ecore:EReference properties.ecore#//contexts/Section/owner"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="properties.ecore#//contexts/Section/getViews"
+ cacheAdapterScope="Resource"/>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="properties.ecore#//contexts/AbstractSection">
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//contexts/AbstractSection/name"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference properties.ecore#//contexts/AbstractSection/tab"/>
</genClasses>
+ <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="properties.ecore#//contexts/Annotatable">
+ <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+ createChild="true" ecoreFeature="ecore:EReference properties.ecore#//contexts/Annotatable/annotations"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="properties.ecore#//contexts/Annotatable/getAnnotation">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="properties.ecore#//contexts/Annotatable/getAnnotation/source"/>
+ </genOperations>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="properties.ecore#//contexts/Annotation">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//contexts/Annotation/source"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference properties.ecore#//contexts/Annotation/references"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+ createChild="true" ecoreFeature="ecore:EReference properties.ecore#//contexts/Annotation/details"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="None" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference properties.ecore#//contexts/Annotation/element"/>
+ </genClasses>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="properties.ecore#//contexts/Property">
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//contexts/Property/name"/>
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//contexts/Property/label"/>
@@ -165,11 +189,11 @@
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//contexts/View/name"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference properties.ecore#//contexts/View/sections"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="None" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference properties.ecore#//contexts/View/context"/>
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//contexts/View/automaticContext"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference properties.ecore#//contexts/View/datacontexts"/>
- <genFeatures xsi:type="genmodel:GenFeature" property="None" notify="false"
- createChild="false" ecoreFeature="ecore:EReference properties.ecore#//contexts/View/context"/>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="properties.ecore#//contexts/DataContextRoot">
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//contexts/DataContextRoot/label"/>
@@ -178,7 +202,7 @@
</genClasses>
</nestedGenPackages>
<nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Ui" basePackage="org.eclipse.papyrus.infra.properties"
- disposableProviderFactory="true" ecorePackage="properties.ecore#//ui">
+ disposableProviderFactory="true" ecorePackage="properties.ecore#//ui" operationsPackage="org.eclipse.papyrus.infra.properties.ui.operations">
<genClasses xsi:type="genmodel:GenClass" ecoreClass="properties.ecore#//ui/Element"/>
<genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="properties.ecore#//ui/UIComponent">
<genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"

Back to the top