diff options
author | Christian W. Damus | 2021-08-25 13:26:27 +0000 |
---|---|---|
committer | Patrick Tessier | 2021-10-25 14:06:53 +0000 |
commit | 7af501956ef63b572a7575ac5b28952b5a997429 (patch) | |
tree | 0ae5a408fe5609eb86bc976fd91aa1c19c89a098 /plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel | |
parent | f89eca16b4099f066f772e6d4429f25ee4104618 (diff) | |
download | org.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.genmodel | 40 |
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.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/

SPDX-License-Identifier: EPL-2.0

Contributors:
 CEA LIST - Initial API and implementation
" - 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" |