Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2021-08-25 09:26:27 -0400
committerChristian W. Damus2021-08-25 09:26:27 -0400
commit801c0d953ad921d725c94194ba08c7fae00bc60a (patch)
tree38324d621e78d800a809575e106aed09bf4cc6dc
parent9f4df380ada74ce151aa8b13662778e6d91347a7 (diff)
downloadorg.eclipse.papyrus-bugs/573986-properties-validation.tar.gz
org.eclipse.papyrus-bugs/573986-properties-validation.tar.xz
org.eclipse.papyrus-bugs/573986-properties-validation.zip
Bug 573986: [Toolsmiths] Properties view editor validation & incremental updatesbugs/573986-properties-validation
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 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>
-rw-r--r--features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml7
-rw-r--r--features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml7
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.properties17
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel3
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java50
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java50
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/util/ConstraintsUtil.java106
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java30
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java95
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java106
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/TriFunction.java41
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Try.java525
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF1
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeConstraint_constraints_SimpleConstraint.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_layout_Layout.gifbin367 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_CompositeWidget.gifbin590 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_PropertyEditor.gifbin353 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_StandardWidget.gifbin225 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownComponent.gifbin562 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_constraints_ConstraintDescriptor.gifbin576 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ReferenceProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ValueProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_constraints_ConstraintMapping.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ReferenceProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ValueProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintDescriptor.gifbin576 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintMapping.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_dataContexts_DataContextRoot.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_tabs_Tab.gifbin621 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_views_View.gifbin589 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_Property.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_UnknownProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextElement.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextPackage.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextRoot.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_CompositeConstraint.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_ConstraintDescriptor.gifbin576 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_SimpleConstraint.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_CompositeWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Element.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Layout.gifbin367 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_PropertyEditor.gifbin353 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ReferenceAttribute.gifbin311 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_StandardWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_UnknownElement.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ValueAttribute.gifbin205 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_compositeWidgetTypes_CompositeWidgetType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_constraintTypes_ConstraintType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_contexts_Context.gifbin584 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_layoutTypes_LayoutType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_miscClasses_MiscClass.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_modelElementFactories_ModelElementFactoryDescriptor.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_namespaces_Namespace.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_propertyEditorTypes_PropertyEditorType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_widgetTypes_StandardWidgetType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreatePropertyEditor_unresolvedProperty_UnknownProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_CompositeWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_Layout.gifbin367 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_PropertyEditor.gifbin353 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_StandardWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UIComponent.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownComponent.gifbin562 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownElement.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ReferenceProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ValueProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_allSections_Section.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_sections_Section.gifbin379 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ReferenceAttribute.gifbin311 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ValueAttribute.gifbin205 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextElement.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextPackage.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextRoot.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation.gifbin0 -> 595 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation@2x.gifbin0 -> 1407 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/plugin.properties8
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AbstractSectionItemProvider.java71
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotatableItemProvider.java180
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotationItemProvider.java246
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextItemProvider.java14
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextsItemProviderAdapterFactory.java27
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextElementItemProvider.java40
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextPackageItemProvider.java13
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextRootItemProvider.java13
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/PropertyItemProvider.java40
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/SectionItemProvider.java36
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/TabItemProvider.java13
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/UnknownPropertyItemProvider.java13
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ViewItemProvider.java53
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/environment/provider/PropertiesEditPlugin.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/model/Environment.properties17
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.ecore38
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel40
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.notation790
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.uml362
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/build.properties2
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.properties6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.xml45
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/AbstractSection.java5
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotatable.java63
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotation.java128
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Context.java4
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsFactory.java12
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsPackage.java551
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextElement.java6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextPackage.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextRoot.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Property.java6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Section.java21
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Tab.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/View.java7
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AbstractSectionImpl.java135
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotatableImpl.java212
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotationImpl.java374
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextImpl.java16
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsFactoryImpl.java16
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsPackageImpl.java167
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextElementImpl.java6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextPackageImpl.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextRootImpl.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/PropertyImpl.java6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/SectionImpl.java31
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/TabImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/UnknownPropertyImpl.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ViewImpl.java154
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/AnnotatableOperations.java66
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/SectionOperations.java64
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsAdapterFactory.java41
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceFactoryImpl.java9
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceImpl.java101
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsSwitch.java55
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/EnvironmentPackage.java11
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentPackageImpl.java5
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/MiscClassImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/ModelElementFactoryDescriptorImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/NamespaceImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/WidgetTypeImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceFactoryImpl.java9
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceImpl.java24
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/ElementImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/UiPackageImpl.java5
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src/org/eclipse/papyrus/infra/properties/contexts/util/ContextAnnotations.java237
-rw-r--r--plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/builder/IPapyrusBuilderProvider.java36
-rw-r--r--plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/internal/builder/XWTModelBuilderProvider.java2
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/META-INF/MANIFEST.MF3
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/checkers/ArchitecturePluginChecker.java6
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/META-INF/MANIFEST.MF11
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/DelegatingURIConverterService.java140
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/URIConverterService.java51
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/BasicEMFResourceProvider.java21
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/CustomModelChecker.java100
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/ExtensionsChecker.java2
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/IPluginChecker2.java4
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/JavaClassDependencies.java (renamed from plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/checkers/ArchitectureDependencies.java)47
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/ModelDependenciesChecker.java50
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/command/TouchResourceCommand.java99
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/internal/messages/Messages.java7
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/internal/messages/messages.properties11
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/quickfix/CommonMarkerResolutionGenerator.java15
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/quickfix/CommonMarkerResolutionUtils.java181
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/quickfix/SimpleModelEditMarkerResolution.java192
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/utils/CommonURIUtils.java206
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/utils/LocalProfileIndex.java (renamed from plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/LocalProfileIndex.java)86
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/utils/MarkersService.java9
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/utils/ModelResourceMapper.java30
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/ApplyStereotypeAdviceCustomValidator.java1
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/ElementTypesBuildPropertiesDependencies.java1
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/StereotypeApplicationMatcherCustomValidator.java1
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/StereotypePropertyReferenceEdgeAdviceCustomValidator.java1
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.classpath7
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.project52
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.jdt.core.prefs319
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.jdt.ui.prefs127
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.pde.api.tools.prefs104
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/META-INF/MANIFEST.MF53
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/OSGI-INF/org.eclipse.papyrus.toolsmiths.validation.properties.internal.PropertiesURIConverterService.xml8
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/OSGI-INF/org.eclipse.papyrus.toolsmiths.validation.properties.internal.checkers.PropertiesContextBuilderProvider.xml7
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/OSGI-INF/org.eclipse.papyrus.toolsmiths.validation.properties.internal.checkers.PropertiesEnvironmentBuilderProvider.xml7
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/about.html28
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/build.properties24
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/plugin.properties21
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/plugin.xml43
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/pom.xml14
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/Activator.java71
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/PropertiesURIConverterService.java37
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/ConstraintsCustomValidator.java87
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesContextBuilderProvider.java85
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesContextCustomValidator.java304
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesContextPluginChecker.java157
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesContextPluginXMLValidator.java84
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesEnvironmentBuilderProvider.java86
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesEnvironmentCustomValidator.java29
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesEnvironmentPluginChecker.java156
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesEnvironmentPluginXMLValidator.java84
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesUICustomValidator.java63
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/constants/PropertiesPluginValidationConstants.java163
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/messages/Messages.java87
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/messages/messages.properties70
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/AbstractModelEditResolutionFactory.java479
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/DataContextElementResolutionFactory.java204
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/DataContextPropertyResolutionFactory.java187
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/FindNewPackageLocation.java178
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/PropertiesMarkerResolutionGenerator.java237
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/ComposedSourceTraceHelper.java138
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/ExplicitSourceTraceHelper.java139
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/ImplicitEcoreSourceTraceHelper.java233
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/ImplicitUMLSourceTraceHelper.java368
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/NameKind.java32
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/SourceTraceHelper.java145
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/SwitchingSourceTraceHelper.java310
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/util/PropertiesCache.java247
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/util/PropertyTypeHelper.java201
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/util/WidgetTypeHelper.java121
-rw-r--r--plugins/toolsmiths/validation/pom.xml1
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/META-INF/MANIFEST.MF1
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/plugin.xml13
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/generators/AbstractQVTGenerator.java29
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/generators/ContextsBlackBox.java43
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/generators/GeneratorHelper.java160
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/generators/ProfileGenerator.java8
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/layout/StandardLayoutGenerator.java17
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/wizard/CreateContextWizard.java52
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/transforms/ecore2datacontext.qvto10
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/transforms/profile2datacontext.qvto12
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties/Model/Environment.properties19
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.model.xwt/src/org/eclipse/papyrus/views/properties/model/xwt/resource/XWTResource.java26
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/Customization.ctx51
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/MultipleAnnotations.xwt5
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/MultipleCompositeConstraint.xwt27
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/MultipleEStringToStringMapEntries.xwt5
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/MultipleValueAttribute.xwt13
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/SingleAnnotation.xwt17
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/SingleEStringToStringMapEntry.xwt7
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/OSGI-INF/l10n/bundle.properties8
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Query/Contexts.querySet4
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/UICustom/PropertiesContext.custom723
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/icons/Annotation.gifbin0 -> 588 bytes
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/icons/Annotation@2x.gifbin0 -> 1399 bytes
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/plugin.xml31
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/editor/ContextEditorActionBarContributor.java6
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/editor/actions/AbstractToggleHandler.java119
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/editor/actions/ToggleAnnotationsAction.java54
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/editor/actions/TogglePreviewAction.java60
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/providers/ContextContentProvider.java11
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/query/GetVisibleFeaturesQuery.java23
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/query/ShowAnnotationsQuery.java34
-rwxr-xr-xtests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.suite.tests/META-INF/MANIFEST.MF1
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.suite.tests/test/org/eclipse/papyrus/toolsmiths/suite/tests/AllTests.java3
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.architecture.tests/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/quickfix/tests/ModelQuickFixTests.java91
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/META-INF/MANIFEST.MF1
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/src/org/eclipse/papyrus/toolsmiths/validation/common/tests/rules/QuickFix.java38
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/src/org/eclipse/papyrus/toolsmiths/validation/common/tests/rules/QuickFixWith.java37
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/src/org/eclipse/papyrus/toolsmiths/validation/common/tests/rules/TestProjectFixture.java115
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.elementtypes.tests/resources/org.eclipse.papyrus.toolsmiths.validation.elementtypes.resources/.project5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.classpath15
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.project28
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.jdt.core.prefs319
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.jdt.ui.prefs127
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.pde.api.tools.prefs104
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/META-INF/MANIFEST.MF25
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/about.html28
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/build.properties8
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/plugin.properties18
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/pom.xml15
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/extensions/plugin-noContext.xml42
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/extensions/plugin-noEnvironment.xml42
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/manifest/BookStore-missingClassDependency.xmi15
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/manifest/BookStore-unresolvedClassName.xmi5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/manifest/MANIFEST-missingDependency.MF34
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-deletedEClass.ecore11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-deletedProperty.ecore12
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-deletedProperty.profile.uml104
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-deletedStereotype.profile.uml89
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore-enumPropertyWrongType.ctx75
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore-implicitTracesOK.ctx75
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore-stringPropertyWrongType.ctx75
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore-unresolvedInstanceOf.ctx115
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore.ctx115
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-enumPropertyWrongType.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-implicitTracesOK.ctx210
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newEClass.ecore18
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newNestedPackage.profile.uml135
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newNestedProfile.profile.uml135
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newProperty.ecore17
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newProperty.profile.uml117
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newStereotype.profile.uml133
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-profileMoved.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-renamedProfile.profile.uml110
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-renamedProperty.profile.uml110
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-renamedStereotype.profile.uml110
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-stringPropertyWrongType.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-unresolvedHasStereotype.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-unresolvedInstanceOf.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-withComplexDataType.ctx144
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-withComplexDataType.profile.uml190
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore.ecore15
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/plugin-ecore.xml41
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/.classpath7
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/.project34
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/.settings/org.eclipse.jdt.core.prefs319
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/META-INF/MANIFEST.MF35
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/build.properties18
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/plugin.properties14
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/src/org/eclipse/papyrus/toolsmiths/validation/properties/example/dependency1/modelelement/BookModelElement.java27
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/src/org/eclipse/papyrus/toolsmiths/validation/properties/example/dependency1/modelelement/BookModelElementFactory.java38
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/.classpath7
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/.project34
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/.settings/org.eclipse.jdt.core.prefs319
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/META-INF/MANIFEST.MF35
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/build.properties21
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/icons/full/obj16/bookstore.pngbin0 -> 453 bytes
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/icons/full/obj16/bookstore@2x.pngbin0 -> 871 bytes
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/plugin.properties14
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/plugin.xml48
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.profile.di2
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.profile.notation172
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.profile.uml110
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.xmi11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/MultipleBook.xwt5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/MultipleBookStore.xwt11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/MultipleVendor.xwt5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/SingleBook.xwt5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/SingleBookStore.xwt11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/SingleVendor.xwt11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/src/org/eclipse/papyrus/toolsmiths/validation/properties/example/modelelement/VendorModelElement.java27
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/src/org/eclipse/papyrus/toolsmiths/validation/properties/example/modelelement/VendorModelElementFactory.java38
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/ui/SingleVendor-wrongWidgetType.xwt11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/tests/ModelQuickFixTests.java159
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/AllTests.java36
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesContextModelBuilderEcoreTest.java130
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesContextModelBuilderUMLTest.java219
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesDependencyBuilderTest.java97
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesPluginBuilderTest.java84
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesPluginXMLBuilderTest.java75
-rwxr-xr-xtests/junit/plugins/toolsmiths/pom.xml1
344 files changed, 19225 insertions, 1313 deletions
diff --git a/features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml b/features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml
index 9e3b53f43a4..6e0843064ca 100644
--- a/features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml
+++ b/features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml
@@ -61,4 +61,11 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.papyrus.toolsmiths.validation.properties.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml b/features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml
index d10e08d0683..e3fe42d7e04 100644
--- a/features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml
+++ b/features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml
@@ -53,6 +53,13 @@
install-size="0"
version="0.0.0"
unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.toolsmiths.validation.properties"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
<plugin
id="org.eclipse.papyrus.dev.ui"
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.properties b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.properties
new file mode 100644
index 00000000000..0c80a55a094
--- /dev/null
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.properties
@@ -0,0 +1,17 @@
+#
+# Copyright (c) 2021 Christian W. Damus, 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:
+# Christian W. Damus - Initial API and implementation
+#
+#
+
+_UI_label_EMFInstanceOf=Ecore 'instance-of'
+_UI_label_className=EClass name
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel
index 4ea1ac64926..12e4f7cc084 100644
--- a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel
@@ -55,7 +55,8 @@
createChild="true" ecoreFeature="ecore:EReference Constraints.ecore#//SimpleConstraint/properties"/>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="Constraints.ecore#//ConfigProperty">
- <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Constraints.ecore#//ConfigProperty/name"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Constraints.ecore#//ConfigProperty/name"
+ key="true"/>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="Constraints.ecore#//CompositeConstraint">
<genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java
index 897008d96cc..f2f9cae7cec 100644
--- a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java
@@ -1,12 +1,22 @@
-/**
- * <copyright>
- * </copyright>
+/*****************************************************************************
+ * Copyright (c) 2010, 2021 CEA LIST, Christian W. Damus, and others.
*
- * $Id$
- */
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 573986
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.infra.constraints;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
import org.eclipse.papyrus.infra.constraints.environment.ConstraintType;
/**
@@ -71,4 +81,34 @@ public interface SimpleConstraint extends ConstraintDescriptor {
*/
EList<ConfigProperty> getProperties();
+ /**
+ * Retrieves the first {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} with the specified '<em><b>Name</b></em>' from the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param name
+ * The '<em><b>Name</b></em>' of the {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} to retrieve, or <code>null</code>.
+ * @return The first {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+ * @see #getProperties()
+ * @generated
+ */
+ ConfigProperty getProperties(String name);
+
+ /**
+ * Retrieves the first {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} with the specified '<em><b>Name</b></em>' from the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param name
+ * The '<em><b>Name</b></em>' of the {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} to retrieve, or <code>null</code>.
+ * @param ignoreCase
+ * Whether to ignore case in {@link java.lang.String} comparisons.
+ * @param eClass
+ * The Ecore class of the {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} to retrieve, or <code>null</code>.
+ * @return The first {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+ * @see #getProperties()
+ * @generated
+ */
+ ConfigProperty getProperties(String name, boolean ignoreCase, EClass eClass);
+
} // SimpleConstraint
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java
index 12db525a785..593161444d8 100644
--- a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java
@@ -1,9 +1,18 @@
-/**
- * <copyright>
- * </copyright>
+/*****************************************************************************
+ * Copyright (c) 2010, 2021 CEA LIST, Christian W. Damus, and others.
*
- * $Id$
- */
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 573986
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.infra.constraints.impl;
import java.util.Collection;
@@ -145,6 +154,37 @@ public class SimpleConstraintImpl extends ConstraintDescriptorImpl implements Si
* @generated
*/
@Override
+ public ConfigProperty getProperties(String name) {
+ return getProperties(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConfigProperty getProperties(String name, boolean ignoreCase, EClass eClass) {
+ propertiesLoop: for (ConfigProperty properties : getProperties()) {
+ if (eClass != null && !eClass.isInstance(properties)) {
+ continue propertiesLoop;
+ }
+ if (name != null && !(ignoreCase ? name.equalsIgnoreCase(properties.getName()) : name.equals(properties.getName()))) {
+ continue propertiesLoop;
+ }
+ return properties;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case ConstraintsPackage.SIMPLE_CONSTRAINT__PROPERTIES:
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/util/ConstraintsUtil.java b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/util/ConstraintsUtil.java
new file mode 100644
index 00000000000..f7b4595b01b
--- /dev/null
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/util/ConstraintsUtil.java
@@ -0,0 +1,106 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, 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
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.constraints.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.ComposedSwitch;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.infra.constraints.ConfigProperty;
+import org.eclipse.papyrus.infra.constraints.ConstraintDescriptor;
+import org.eclipse.papyrus.infra.constraints.SimpleConstraint;
+import org.eclipse.papyrus.infra.constraints.environment.ConstraintType;
+import org.eclipse.papyrus.infra.constraints.environment.util.EnvironmentSwitch;
+import org.eclipse.uml2.common.util.UML2Util;
+
+/**
+ * Utilities for working with constraint models.
+ */
+public class ConstraintsUtil extends UML2Util {
+
+ private static final Switch<String> NAME_SWITCH = createNameSwitch();
+
+ /**
+ * Get the model name (unlocalized) of the given {@code object}, if it has one.
+ *
+ * @param object
+ * an object in the constraints model
+ * @return its name, or {@code null} if none
+ */
+ public static final String getName(EObject object) {
+ return NAME_SWITCH.doSwitch(object);
+ }
+
+ /**
+ * Get a localized label for the given constraints model element, suitable for presentation in the
+ * UI or other user-facing messages.
+ *
+ * @param object
+ * an object in the constraints model
+ * @return its localized label
+ */
+ public static final String getLabel(EObject object) {
+ return getLabel(object, true);
+ }
+
+ public static final String getLabel(EObject object, boolean localize) {
+ String name = getName(object);
+ return getString(object,
+ "_UI_label_" + getValidJavaIdentifier(isEmpty(name)
+ ? EMPTY_STRING
+ : name.replace(':', '_')),
+ name, localize);
+ }
+
+ protected static String getString(EObject context, String key, String defaultValue, boolean localize) {
+ if (context instanceof ConfigProperty) {
+ // The context to look up the label is the constraint type that defines the property
+ EObject container = context.eContainer();
+ if (container instanceof SimpleConstraint) {
+ ConstraintType type = ((SimpleConstraint) container).getConstraintType();
+ if (type != null) {
+ context = type;
+ }
+ }
+ }
+
+ return UML2Util.getString(context, key, defaultValue, localize);
+ }
+
+ private static final Switch<String> createNameSwitch() {
+ Switch<String> constraints = new ConstraintsSwitch<>() {
+ public String caseConstraintDescriptor(ConstraintDescriptor object) {
+ return object.getName();
+ }
+
+ @Override
+ public String caseConfigProperty(ConfigProperty object) {
+ return object.getName();
+ }
+ };
+
+ Switch<String> environment = new EnvironmentSwitch<>() {
+ @Override
+ public String caseConstraintType(ConstraintType object) {
+ return object.getLabel();
+ }
+ };
+
+ return new ComposedSwitch<>(List.of(constraints, environment));
+ }
+
+}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java
index 3b57f02b61e..1eb73be7b2d 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java
@@ -26,7 +26,6 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
@@ -35,8 +34,9 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.papyrus.infra.core.architecture.ADElement;
import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
import org.eclipse.papyrus.infra.core.architecture.impl.ArchitecturePlugin;
+import org.eclipse.papyrus.infra.tools.util.ClassLoaderHelper;
import org.eclipse.papyrus.infra.tools.util.ClasspathHelper;
-import org.osgi.framework.Bundle;
+import org.eclipse.papyrus.infra.tools.util.Try;
/**
* Utilities for working with/resolving the command classes referenced by
@@ -48,7 +48,6 @@ public class ArchitectureCommandUtils {
private static final String REQUIRED_BUNDLES = "requiredBundles"; //$NON-NLS-1$
private static final String CLASS_CONSTRAINT = "classConstraint"; //$NON-NLS-1$
- private static final String BUNDLECLASS = "bundleclass"; //$NON-NLS-1$
private static final Map<EStructuralFeature, Class<?>> commandClassConstraints = new ConcurrentHashMap<>();
@@ -69,24 +68,7 @@ public class ArchitectureCommandUtils {
String classURI = EcoreUtil.getAnnotation(feature, ArchitecturePackage.eNS_URI, CLASS_CONSTRAINT);
if (classURI != null) {
URI uri = URI.createURI(classURI);
- if (!BUNDLECLASS.equals(uri.scheme())) {
- result = fail("Constraint class URI does not have bundleclass scheme: " + uri); //$NON-NLS-1$
- } else if (uri.authority() == null) {
- result = fail("Constraint class URI does not have an authority: " + uri); //$NON-NLS-1$
- } else if (uri.segmentCount() != 1) {
- result = fail("Constraint class URI must have exactly one segment: " + uri); //$NON-NLS-1$
- } else {
- Bundle bundle = Platform.getBundle(uri.authority());
- if (bundle == null) {
- result = fail("No such bundle in constraint class URI: " + uri); //$NON-NLS-1$
- } else {
- try {
- result = bundle.loadClass(uri.segment(0));
- } catch (Exception e) {
- result = fail(e);
- }
- }
- }
+ result = ClassLoaderHelper.loadClass(uri).orElseApply(ArchitectureCommandUtils::fail);
}
return result;
@@ -98,10 +80,8 @@ public class ArchitectureCommandUtils {
if (owner.eIsSet(feature)) {
String classURI = EcoreUtil.getAnnotation(feature, ArchitecturePackage.eNS_URI, CLASS_CONSTRAINT);
URI uri = classURI == null ? null : URI.createURI(classURI);
-
- if (uri != null && BUNDLECLASS.equals(uri.scheme())) {
- result = uri.authority();
- }
+ Try<String> bundleName = ClassLoaderHelper.getBundleName(uri);
+ result = bundleName.orElse(null);
}
return result;
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java
index 70627d18e83..0c912d46f99 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010, 2020 CEA LIST, EclipseSource, Christian W. Damus, and others.
+ * Copyright (c) 2010, 2021 CEA LIST, EclipseSource, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -12,7 +12,7 @@
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
* EclipseSource - Bug 543723
* Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - bug 553247
- * Christian W. Damus - bug 568782
+ * Christian W. Damus - bugs 568782, 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.tools.util;
@@ -23,6 +23,7 @@ import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.util.URI;
import org.eclipse.papyrus.infra.tools.Activator;
import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
/**
* <p>
@@ -41,6 +42,9 @@ import org.osgi.framework.Bundle;
*/
public class ClassLoaderHelper {
+ /** The Equinox <tt>bundleclass:</tt> URI scheme. */
+ private static final String BUNDLECLASS = "bundleclass"; //$NON-NLS-1$
+
/**
* Usually, there are few classes with many different accesses. Using a cache, we can improve
* the performances between 10 and 20 times, with really little memory consumption
@@ -151,6 +155,93 @@ public class ClassLoaderHelper {
}
/**
+ * Query whether an URI is parseable as a fully-qualified class reference.
+ *
+ * @param uri
+ * an URI
+ * @return whether is is valid input for the {@link #loadClass(URI)} API
+ *
+ * @since 4.2
+ * @see #loadClass(URI)
+ */
+ public static boolean isClassURI(URI uri) {
+ return uri != null && BUNDLECLASS.equals(uri.scheme());
+ }
+
+ /**
+ * Query the bundle name indicated by a class URI.
+ *
+ * @param classURI
+ * reference to a class in a bundle
+ * @return the symbolic name of the bundle that hosts the class
+ *
+ * @since 4.2
+ * @see #isClassURI(URI)
+ */
+ public static Try<String> getBundleName(URI classURI) {
+ Try<String> result;
+
+ if (!isClassURI(classURI)) {
+ result = Try.failure("Class URI does not have bundleclass scheme: " + classURI); //$NON-NLS-1$
+ } else if (classURI.authority() == null) {
+ result = Try.failure("Class URI does not have an authority: " + classURI); //$NON-NLS-1$
+ } else {
+ result = Try.success(classURI.authority());
+ }
+
+ return result;
+ }
+
+ /**
+ * Load a class indicated by an URI.
+ *
+ * @param classURI
+ * reference to the class to load
+ * @return the loaded class
+ *
+ * @since 4.2
+ * @see #isClassURI(URI)
+ */
+ public static Try<Class<?>> loadClass(URI classURI) {
+ Try<Class<?>> result;
+
+ if (!isClassURI(classURI)) {
+ result = Try.failure("Class URI does not have bundleclass scheme: " + classURI); //$NON-NLS-1$
+ } else if (classURI.authority() == null) {
+ result = Try.failure("Class URI does not have an authority: " + classURI); //$NON-NLS-1$
+ } else if (classURI.segmentCount() != 1) {
+ result = Try.failure("Class URI must have exactly one segment: " + classURI); //$NON-NLS-1$
+ } else {
+ Bundle bundle = Platform.getBundle(classURI.authority());
+ if (bundle == null) {
+ result = Try.failure("No such bundle in class URI: " + classURI); //$NON-NLS-1$
+ } else {
+ result = Try.call(() -> bundle.loadClass(classURI.segment(0)));
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get a URI for a class that can be used to {@linkplain #loadClass(URI) load it again} later.
+ * This only works for classes that trace to some bundle that hosts them.
+ *
+ * @param class_
+ * a class
+ * @return a URI for it, if it is a class that is hosted in some bundle
+ *
+ * @since 4.2
+ * @see #loadClass(URI)
+ */
+ public static Try<URI> getURI(Class<?> class_) {
+ Bundle bundle = FrameworkUtil.getBundle(class_);
+ return bundle == null
+ ? Try.failure("Class is not hosted by an OSGi bundle: " + class_.getName())
+ : Try.success(URI.createURI(String.format("%s://%s/%s", BUNDLECLASS, bundle.getSymbolicName(), class_.getName())));
+ }
+
+ /**
* <p>
* Loads and returns the class represented by the given className.
* Checks that the loaded class is a subtype of the given Class.
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java
index ef0a1257ff9..c83ded14c59 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014, 2020 Christian W. Damus, CEA LIST, and others.
+ * Copyright (c) 2014, 2021 Christian W. Damus, 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
@@ -18,6 +18,7 @@ package org.eclipse.papyrus.infra.tools.util;
import java.util.Iterator;
import java.util.Spliterator;
import java.util.Spliterators;
+import java.util.function.Predicate;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
@@ -65,6 +66,49 @@ public class Iterators2 {
}
/**
+ * Filters an EMF tree iterator for elements of a particular {@code type}.
+ *
+ * @param treeIterator
+ * the tree iterator to filter
+ * @param type
+ * the type of elements to include in the filtered tree iterator
+ * @param shouldPrune
+ * a predicate that tests {@code true} on elements whose sub-trees should be {@linkplain TreeIterator#prune() pruned}.
+ * A {@link null} predicate will never prune
+ * @return the self-pruning tree iterator
+ *
+ * @since 4.2
+ */
+ public static <T> Iterator<T> autoPrune(final TreeIterator<T> treeIterator, Predicate<? super T> shouldPrune) {
+ class SelfPruningIterator extends AbstractIterator<T> {
+ @Override
+ protected T computeNext() {
+ T result;
+
+ if (!treeIterator.hasNext()) {
+ result = endOfData();
+ } else {
+ result = treeIterator.next();
+ if (shouldPrune.test(result)) {
+ // Prune, now
+ treeIterator.prune();
+ }
+ }
+
+ return result;
+ }
+ }
+
+ Iterator<T> result = treeIterator;
+
+ if (shouldPrune != null) {
+ result = new SelfPruningIterator();
+ }
+
+ return result;
+ }
+
+ /**
* Obtain a spliterator over an EMF tree iterator. The spliterator will have characteristics implied by an
* EMF content tree, namely:
* <ul>
@@ -78,9 +122,40 @@ public class Iterators2 {
* @param treeIterator
* a tree iterator
* @return a spliterator over the tree
+ *
+ * @see #spliterator(TreeIterator, Predicate)
*/
public static <T> Spliterator<T> spliterator(final TreeIterator<T> treeIterator) {
- return Spliterators.spliteratorUnknownSize(treeIterator, Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.NONNULL);
+ return spliterator(treeIterator, (Predicate<T>) null);
+ }
+
+ /**
+ * Obtain a spliterator over an EMF tree iterator that prunes itself automatically. The spliterator will have characteristics implied by an
+ * EMF content tree, namely:
+ * <ul>
+ * <li>{@link Spliterator#ORDERED}</li>
+ * <li>{@link Spliterator#DISTINCT}</li>
+ * <li>{@link Spliterator#NONNULL}</li>
+ * </ul>
+ *
+ * @param <T>
+ * the tree element type
+ * @param treeIterator
+ * a tree iterator
+ * @param shouldPrune
+ * a predicate that tests {@code true} on elements whose sub-trees should be {@linkplain TreeIterator#prune() pruned}.
+ * A {@link null} predicate will never prune
+ * @return a spliterator over the tree
+ *
+ * @since 4.2
+ *
+ * @see #autoPrune(TreeIterator, Predicate)
+ * @see #stream(TreeIterator, Predicate)
+ * @see #spliterator(TreeIterator)
+ */
+ public static <T> Spliterator<T> spliterator(final TreeIterator<T> treeIterator, Predicate<? super T> shouldPrune) {
+ Iterator<T> delegate = autoPrune(treeIterator, shouldPrune);
+ return Spliterators.spliteratorUnknownSize(delegate, Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.NONNULL);
}
/**
@@ -91,9 +166,34 @@ public class Iterators2 {
* @param treeIterator
* a tree iterator
* @return a stream over the tree
+ *
+ * @see #stream(TreeIterator, Predicate)r
*/
public static <T> Stream<T> stream(final TreeIterator<T> treeIterator) {
- return StreamSupport.stream(spliterator(treeIterator), false);
+ return stream(treeIterator, (Predicate<T>) null);
+ }
+
+ /**
+ * Obtain a stream over an EMF tree iterator that prunes itself automatically.
+ *
+ * @param <T>
+ * the tree element type
+ * @param treeIterator
+ * a tree iterator
+ * @param shouldPrune
+ * a predicate that tests {@code true} on elements whose sub-trees should be {@linkplain TreeIterator#prune() pruned}.
+ * A {@link null} predicate will never prune
+ *
+ * @return a self-pruning stream over the tree
+ *
+ * @since 4.2
+ *
+ * @see #autoPrune(TreeIterator, Predicate)
+ * @see #spliterator(TreeIterator, Predicate)
+ * @see #stream(TreeIterator)
+ */
+ public static <T> Stream<T> stream(final TreeIterator<T> treeIterator, Predicate<? super T> shouldPrune) {
+ return StreamSupport.stream(spliterator(treeIterator, shouldPrune), false);
}
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/TriFunction.java b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/TriFunction.java
new file mode 100644
index 00000000000..70de5f62138
--- /dev/null
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/TriFunction.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, 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
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.tools.util;
+
+import java.util.function.BiFunction;
+
+/**
+ * A function analogous to the {@link BiFunction} that takes three inputs.
+ *
+ * @since 4.2
+ */
+@FunctionalInterface
+public interface TriFunction<F, G, H, R> {
+
+ /**
+ * Process three inputs to obtain a result.
+ *
+ * @param f
+ * the first input
+ * @param g
+ * the second input
+ * @param h
+ * the third input
+ * @return the result
+ */
+ R apply(F f, G g, H h);
+
+}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Try.java b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Try.java
new file mode 100644
index 00000000000..215a97b2464
--- /dev/null
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Try.java
@@ -0,0 +1,525 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, 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
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.tools.util;
+
+import java.io.Serializable;
+import java.util.NoSuchElementException;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.concurrent.Callable;
+import java.util.function.BiConsumer;
+import java.util.function.BiFunction;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Predicate;
+
+/**
+ * Like an {@link Optional} except that when the value is not present, it can
+ * provide a reason why. Also, because the alternative to success an explicit
+ * failure with some kind of reason, a {@linkplain #isSuccess() successful Try}
+ * may have a {@code null} {@linkplain #get() value}.
+ *
+ * @since 4.2
+ */
+public abstract class Try<T> implements Serializable {
+
+ private static final long serialVersionUID = 2007056722268683220L;
+
+ private static final Try<?> EMPTY = Try.success(null);
+
+ /**
+ * Not instantiable by clients.
+ */
+ Try() {
+ super();
+ }
+
+ /**
+ * Queries whether the {@code Try} has a successful value, even if that value is {@code null}.
+ *
+ * @return whether I am a success
+ */
+ public abstract boolean isSuccess();
+
+ /**
+ * Obtains the value of a {@linkplain #isSuccess() successful} {@code Try}.
+ *
+ * @return my value, which may be {@code null}
+ * @throws NoSuchElementException
+ * if I am a {@linkplain #isFailure() failure}
+ */
+ public abstract T get() throws NoSuchElementException;
+
+ /**
+ * Coerce me to an optional value, eliding any failure information.
+ *
+ * @return an optional encapsulating my value, which will {@linkplain Optional#isEmpty() be empty}
+ * if either I am a failure or if I am a success that happens to be a {@code null} value
+ */
+ public abstract Optional<T> toOptional();
+
+ /**
+ * Queries whether the {@code Try} failed to provide value.
+ *
+ * @return whether I am a failure
+ */
+ public final boolean isFailure() {
+ return !isSuccess();
+ }
+
+ /**
+ * Query whether the {@code Try} provided a successful {@code null} value.
+ *
+ * @return whether I am an empty success
+ */
+ public final boolean isEmpty() {
+ return this.equals(EMPTY);
+ }
+
+ /**
+ * Query whether the {@code Try} provided a successful non-{@code null} value.
+ *
+ * @return whether I am a present success
+ */
+ public final boolean isPresent() {
+ return isSuccess() && !isEmpty();
+ }
+
+ /**
+ * Queries the reason for the failure to provide a value.
+ *
+ * @return the reason, which will never be {@code null} but may not be helpful
+ */
+ public abstract String reason();
+
+ /**
+ * Queries the exception, if any, that caused failure to provide a value.
+ *
+ * @return the exception, or {@code null} if the failure to provide a value was not
+ * caused by an exception but just has some ad hoc {@link #reason() reason}
+ */
+ public abstract Throwable failure();
+
+ /**
+ * Encapsulate the result of a {@code callable}.
+ *
+ * @param <T>
+ * the callable result type
+ * @param callable
+ * a computation to call
+ * @return the result of {@linkplain Callable#call() calling} the {@code callable}
+ */
+ public static <T> Try<T> call(Callable<? extends T> callable) {
+ try {
+ return Try.success(callable.call());
+ } catch (Exception e) {
+ return Try.failure(e);
+ }
+ }
+
+ /**
+ * Create a success.
+ *
+ * @param <T>
+ * the type of {@code value}
+ * @param value
+ * the value to provide
+ * @return a successful provision of the {@code value}
+ */
+ public static <T> Try<T> success(T value) {
+ return new Success<>(value);
+ }
+
+ /**
+ * Obtain an empty success: that is, a successful result that happens
+ * to be a {@code null} value.
+ *
+ * @param <T>
+ * the type of value expected
+ * @return the empty success
+ */
+ @SuppressWarnings("unchecked")
+ public static <T> Try<T> empty() {
+ return (Try<T>) EMPTY;
+ }
+
+ /**
+ * Create a failure caused by an exception.
+ *
+ * @param <T>
+ * the type of value that was not provided
+ * @param failure
+ * an exception that caused the failure
+ * @return a failed provision of a value
+ */
+ public static <T> Try<T> failure(Throwable failure) {
+ return new Failure<>(failure);
+ }
+
+ /**
+ * Create a failure with an ad hoc reason.
+ *
+ * @param <T>
+ * the type of value that was not provided
+ * @param reason
+ * an ad hoc description of the reason why the value was not provided
+ * @return a failed provision of a value
+ */
+ public static <T> Try<T> failure(String reason) {
+ return new Failure<>(reason);
+ }
+
+ /**
+ * Process my value if {@linkplain #isSuccess() successful}.
+ *
+ * @param onSuccess
+ * a consumer of the successful {@linkplain #get() value}
+ */
+ public final void ifSuccess(Consumer<? super T> onSuccess) {
+ if (isSuccess()) {
+ onSuccess.accept(get());
+ }
+ }
+
+ /**
+ * Process my value if {@linkplain #isPresent() present}.
+ *
+ * @param onPresent
+ * a consumer of the present {@linkplain #get() value}
+ */
+ public final void ifPresent(Consumer<? super T> onPresent) {
+ if (isPresent()) {
+ onPresent.accept(get());
+ }
+ }
+
+ /**
+ * Process the reason for a {@linkplain #isFailure() failure}.
+ *
+ * @param onSuccess
+ * a consumer of the failure reason and exception
+ */
+ public final void ifFailure(BiConsumer<? super String, ? super Throwable> onFailure) {
+ if (isFailure()) {
+ onFailure.accept(reason(), failure());
+ }
+ }
+
+ /**
+ * Process the reason for a {@linkplain #isFailure() failure}.
+ *
+ * @param onSuccess
+ * a consumer of the failure reason
+ */
+ public final void ifFailure(Consumer<? super String> onFailure) {
+ ifFailure((reason, __) -> onFailure.accept(reason));
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else the given value {@link #isFailure() on failure}.
+ *
+ * @param failureValue
+ * the result in case of failure
+ * @return the result
+ */
+ public final T orElse(T failureValue) {
+ return isSuccess() ? get() : failureValue;
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else compute an alternative based on the failure reason.
+ *
+ * @param failureFunction
+ * the computation of an alternative in case of failure
+ * @return the result
+ */
+ public final T orElseApply(BiFunction<? super String, ? super Throwable, ? extends T> failureFunction) {
+ return isSuccess() ? get() : failureFunction.apply(reason(), failure());
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else compute an alternative based on the failure reason.
+ *
+ * @param failureFunction
+ * the computation of an alternative in case of failure
+ * @return the result
+ */
+ public final T orElseApply(Function<? super String, ? extends T> failureFunction) {
+ return orElseApply((reason, __) -> failureFunction.apply(reason));
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else {@code null} with a side-effect based on the failure reason.
+ *
+ * @param onFailure
+ * a side-effect to run in case of failure
+ * @return the result, or {@code null} if failed
+ */
+ public final T orElseAccept(BiConsumer<? super String, ? super Throwable> onFailure) {
+ if (isFailure()) {
+ onFailure.accept(reason(), failure());
+ }
+ return orElse(null);
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else {@code null} with a side-effect based on the failure reason.
+ *
+ * @param onFailure
+ * a side-effect to run in case of failure
+ * @return the result, or {@code null} if failed
+ */
+ public final T orElseAccept(Consumer<? super String> onFailure) {
+ return orElseAccept((reason, __) -> onFailure.accept(reason));
+ }
+
+ /**
+ * Map my value, if any, under the given function.
+ *
+ * @param <U>
+ * the result type of the mapping
+ * @param mapping
+ * the mapping function. It may return {@code null}
+ * @return a successful value of the {@code mapping} if I am a successful value, otherwise myself if I am a failure
+ */
+ public abstract <U> Try<U> map(Function<? super T, U> mapping);
+
+ /**
+ * Map my value, if any, under the given function.
+ *
+ * @param <U>
+ * the result type of the optional mapping
+ * @param mapping
+ * the mapping function. It must not return {@code null}
+ * @return a successful value of the {@code mapping} if I am a successful value, which may be empty if
+ * either I am empty or the {@code mapping} result is empty, otherwise myself if I am a failure
+ */
+ public abstract <U> Try<U> flatMap(Function<? super T, Optional<U>> mapping);
+
+ /**
+ * Map my value, if any, under the given function.
+ *
+ * @param <U>
+ * the result type of the attempted mapping
+ * @param mapping
+ * the mapping function. It must not return {@code null}
+ * @return a successful value of the {@code mapping} if I am a successful value and it is also,
+ * otherwise myself if I am a failure or the mapping failure if it is a failure
+ */
+ public abstract <U> Try<U> tryMap(Function<? super T, Try<U>> mapping);
+
+ /**
+ * Filter my value, if any, under the given {@code test}.
+ *
+ * @param test
+ * the filter predicate function
+ * @return a successful value if I am a successful value, which may be empty if
+ * either I am empty or the {@code test} fails, otherwise myself if I am a failure
+ */
+ public abstract Try<T> filter(Predicate<? super T> test);
+
+}
+
+/**
+ * The success case of a {@link Try}.
+ *
+ * @param <T>
+ * the value type
+ */
+final class Success<T> extends Try<T> {
+ private static final long serialVersionUID = -6184897525442822648L;
+
+ private final T value;
+
+ Success(T value) {
+ super();
+
+ this.value = value;
+ }
+
+ @Override
+ public Optional<T> toOptional() {
+ return Optional.ofNullable(value);
+ }
+
+ @Override
+ public boolean isSuccess() {
+ return true;
+ }
+
+ @Override
+ public T get() {
+ return value;
+ }
+
+ @Override
+ public String reason() {
+ return null;
+ }
+
+ @Override
+ public Throwable failure() {
+ return null;
+ }
+
+ @Override
+ public <U> Try<U> map(Function<? super T, U> mapping) {
+ return isEmpty() ? empty() : success(mapping.apply(value));
+ }
+
+ @Override
+ public <U> Try<U> flatMap(Function<? super T, Optional<U>> mapping) {
+ return isEmpty() ? empty() : success(mapping.apply(value).orElse(null));
+ }
+
+ @Override
+ public <U> Try<U> tryMap(Function<? super T, Try<U>> mapping) {
+ return isEmpty() ? empty() : Objects.requireNonNull(mapping.apply(value));
+ }
+
+ @Override
+ public Try<T> filter(Predicate<? super T> test) {
+ return this;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (!(obj instanceof Success)) {
+ return false;
+ }
+
+ Success<?> other = (Success<?>) obj;
+ return Objects.equals(this.value, other.value);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(Success.class, value);
+ }
+
+ @Override
+ public String toString() {
+ return isEmpty()
+ ? "Empty()" //$NON-NLS-1$
+ : String.format("Success(%s)", value); //$NON-NLS-1$
+ }
+}
+
+/**
+ * The failure case of a {@link Try}.
+ *
+ * @param <T>
+ * the value type
+ */
+final class Failure<T> extends Try<T> {
+ private static final long serialVersionUID = -4229519157128957990L;
+ private static final String NO_REASON = "No reason provided."; //$NON-NLS-1$
+
+ private final Throwable failure;
+ private final String reason;
+
+ Failure(String reason) {
+ this(reason, null);
+ }
+
+ Failure(Throwable failure) {
+ this(null, failure);
+ }
+
+ Failure(String reason, Throwable failure) {
+ super();
+
+ this.reason = (reason != null) ? reason : failure != null ? failure.getClass().getName() : NO_REASON;
+ this.failure = failure;
+ }
+
+ @Override
+ public Optional<T> toOptional() {
+ return Optional.empty();
+ }
+
+ @Override
+ public boolean isSuccess() {
+ return false;
+ }
+
+ @Override
+ public T get() throws NoSuchElementException {
+ throw new NoSuchElementException();
+ }
+
+ @Override
+ public String reason() {
+ return reason;
+ }
+
+ @Override
+ public Throwable failure() {
+ return failure;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <U> Try<U> map(Function<? super T, U> mapping) {
+ return (Try<U>) this;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <U> Try<U> flatMap(Function<? super T, Optional<U>> mapping) {
+ return (Try<U>) this;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <U> Try<U> tryMap(Function<? super T, Try<U>> mapping) {
+ return (Try<U>) this;
+ }
+
+ @Override
+ public Try<T> filter(Predicate<? super T> test) {
+ return this;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (!(obj instanceof Failure)) {
+ return false;
+ }
+
+ Failure<?> other = (Failure<?>) obj;
+ return Objects.equals(this.reason, other.reason)
+ && Objects.equals(this.failure, other.failure);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(Failure.class, reason, failure);
+ }
+
+ @Override
+ public String toString() {
+ return (failure == null || Objects.equals(failure.getMessage(), reason))
+ ? String.format("Failure(%s)", reason) //$NON-NLS-1$
+ : String.format("Failure(%s, %s: %s)", reason, failure.getClass().getSimpleName(), failure.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF
index fc959cf2c8c..8da895b15bf 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF
@@ -1,6 +1,7 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
org.eclipse.emf.ecore.edit;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.uml2.types;bundle-version="[2.5.0,3.0.0)",
org.eclipse.uml2.common.edit;bundle-version="[2.5.0,3.0.0)",
org.eclipse.emf.ecore.xmi;bundle-version="[2.16.0,3.0.0)",
org.eclipse.papyrus.infra.constraints.edit;bundle-version="[3.0.0,4.0.0)",
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeConstraint_constraints_SimpleConstraint.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeConstraint_constraints_SimpleConstraint.gif
deleted file mode 100644
index 7943912208c..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeConstraint_constraints_SimpleConstraint.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_layout_Layout.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_layout_Layout.gif
deleted file mode 100644
index 99dde266945..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_layout_Layout.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_CompositeWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_CompositeWidget.gif
deleted file mode 100644
index 8a1bb500a15..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_CompositeWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_PropertyEditor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_PropertyEditor.gif
deleted file mode 100644
index 746a59ebd8a..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_PropertyEditor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_StandardWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_StandardWidget.gif
deleted file mode 100644
index 409c013e857..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_StandardWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownComponent.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownComponent.gif
deleted file mode 100644
index 1097d000b66..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownComponent.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownWidget.gif
deleted file mode 100644
index 4365960a04b..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_constraints_ConstraintDescriptor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_constraints_ConstraintDescriptor.gif
deleted file mode 100644
index efcbc1b6a02..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_constraints_ConstraintDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ReferenceProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ReferenceProperty.gif
deleted file mode 100644
index 84f1465d1f0..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ReferenceProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ValueProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ValueProperty.gif
deleted file mode 100644
index 7affd573b9e..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ValueProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_constraints_ConstraintMapping.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_constraints_ConstraintMapping.gif
deleted file mode 100644
index 883ce93b430..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_constraints_ConstraintMapping.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ReferenceProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ReferenceProperty.gif
deleted file mode 100644
index a1fa94e6e19..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ReferenceProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ValueProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ValueProperty.gif
deleted file mode 100644
index 182638d7681..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ValueProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintDescriptor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintDescriptor.gif
deleted file mode 100644
index efcbc1b6a02..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintMapping.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintMapping.gif
deleted file mode 100644
index 14ad12525b4..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintMapping.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_dataContexts_DataContextRoot.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_dataContexts_DataContextRoot.gif
deleted file mode 100644
index 7d37ab47804..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_dataContexts_DataContextRoot.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_tabs_Tab.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_tabs_Tab.gif
deleted file mode 100644
index 80f9182accc..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_tabs_Tab.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_views_View.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_views_View.gif
deleted file mode 100644
index e62987a27b1..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_views_View.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_Property.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_Property.gif
deleted file mode 100644
index ae4714fc6a7..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_Property.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_UnknownProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_UnknownProperty.gif
deleted file mode 100644
index 07adaab9f3a..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_UnknownProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextElement.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextElement.gif
deleted file mode 100644
index eab3c353c4f..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextElement.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextPackage.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextPackage.gif
deleted file mode 100644
index 4e7f8d9ecc7..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextPackage.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextRoot.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextRoot.gif
deleted file mode 100644
index 1c4c5221527..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextRoot.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_CompositeConstraint.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_CompositeConstraint.gif
deleted file mode 100644
index 6243419e928..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_CompositeConstraint.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_ConstraintDescriptor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_ConstraintDescriptor.gif
deleted file mode 100644
index efcbc1b6a02..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_ConstraintDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_SimpleConstraint.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_SimpleConstraint.gif
deleted file mode 100644
index 7943912208c..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_SimpleConstraint.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_CompositeWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_CompositeWidget.gif
deleted file mode 100644
index 4365960a04b..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_CompositeWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Element.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Element.gif
deleted file mode 100644
index 8a06919132f..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Element.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Layout.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Layout.gif
deleted file mode 100644
index 99dde266945..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Layout.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_PropertyEditor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_PropertyEditor.gif
deleted file mode 100644
index 746a59ebd8a..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_PropertyEditor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ReferenceAttribute.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ReferenceAttribute.gif
deleted file mode 100644
index 84954664093..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ReferenceAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_StandardWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_StandardWidget.gif
deleted file mode 100644
index 4365960a04b..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_StandardWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_UnknownElement.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_UnknownElement.gif
deleted file mode 100644
index 16c3e21097d..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_UnknownElement.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ValueAttribute.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ValueAttribute.gif
deleted file mode 100644
index 0d3c1aa7b2a..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ValueAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_compositeWidgetTypes_CompositeWidgetType.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_compositeWidgetTypes_CompositeWidgetType.gif
deleted file mode 100644
index d9ee5d095f5..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_compositeWidgetTypes_CompositeWidgetType.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_constraintTypes_ConstraintType.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_constraintTypes_ConstraintType.gif
deleted file mode 100644
index cbc3f4322fb..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_constraintTypes_ConstraintType.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_contexts_Context.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_contexts_Context.gif
deleted file mode 100644
index 9b09a7e4986..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_contexts_Context.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_layoutTypes_LayoutType.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_layoutTypes_LayoutType.gif
deleted file mode 100644
index ae50bcb82ce..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_layoutTypes_LayoutType.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_miscClasses_MiscClass.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_miscClasses_MiscClass.gif
deleted file mode 100644
index eacefe82e9e..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_miscClasses_MiscClass.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_modelElementFactories_ModelElementFactoryDescriptor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_modelElementFactories_ModelElementFactoryDescriptor.gif
deleted file mode 100644
index e3a33e1908c..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_modelElementFactories_ModelElementFactoryDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_namespaces_Namespace.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_namespaces_Namespace.gif
deleted file mode 100644
index 56549ea1acd..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_namespaces_Namespace.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_propertyEditorTypes_PropertyEditorType.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_propertyEditorTypes_PropertyEditorType.gif
deleted file mode 100644
index b5d9dfa2bb4..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_propertyEditorTypes_PropertyEditorType.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_widgetTypes_StandardWidgetType.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_widgetTypes_StandardWidgetType.gif
deleted file mode 100644
index 5ac844dc307..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_widgetTypes_StandardWidgetType.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreatePropertyEditor_unresolvedProperty_UnknownProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreatePropertyEditor_unresolvedProperty_UnknownProperty.gif
deleted file mode 100644
index 7561bfa3634..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreatePropertyEditor_unresolvedProperty_UnknownProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_CompositeWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_CompositeWidget.gif
deleted file mode 100644
index 4365960a04b..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_CompositeWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_Layout.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_Layout.gif
deleted file mode 100644
index 99dde266945..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_Layout.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_PropertyEditor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_PropertyEditor.gif
deleted file mode 100644
index 746a59ebd8a..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_PropertyEditor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_StandardWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_StandardWidget.gif
deleted file mode 100644
index 4365960a04b..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_StandardWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UIComponent.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UIComponent.gif
deleted file mode 100644
index 2eb12e9ab33..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UIComponent.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownComponent.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownComponent.gif
deleted file mode 100644
index 1097d000b66..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownComponent.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownElement.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownElement.gif
deleted file mode 100644
index 16c3e21097d..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownElement.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownWidget.gif
deleted file mode 100644
index 4365960a04b..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ReferenceProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ReferenceProperty.gif
deleted file mode 100644
index efff0c9aa7b..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ReferenceProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ValueProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ValueProperty.gif
deleted file mode 100644
index c78943ee9d6..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ValueProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_allSections_Section.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_allSections_Section.gif
deleted file mode 100644
index 6d3993a158e..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_allSections_Section.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_sections_Section.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_sections_Section.gif
deleted file mode 100644
index b54fa6dfce1..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_sections_Section.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ReferenceAttribute.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ReferenceAttribute.gif
deleted file mode 100644
index 84954664093..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ReferenceAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ValueAttribute.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ValueAttribute.gif
deleted file mode 100644
index 0d3c1aa7b2a..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ValueAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextElement.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextElement.gif
deleted file mode 100644
index d5442892a77..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextElement.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextPackage.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextPackage.gif
deleted file mode 100644
index 1264e5e43bc..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextPackage.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextRoot.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextRoot.gif
deleted file mode 100644
index a62440d6d57..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextRoot.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation.gif
new file mode 100644
index 00000000000..68b27186765
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation.gif
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation@2x.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation@2x.gif
new file mode 100644
index 00000000000..7db0922b656
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation@2x.gif
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/plugin.properties b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/plugin.properties
index 73ae3cd23ff..b4cd19896bc 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/plugin.properties
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/plugin.properties
@@ -199,3 +199,11 @@ _UI_Property_redefinedProperties_feature = Redefined Properties
_UI_Property_redefinedByProperties_feature = Redefined By Properties
_UI_FXSection_category_feature = Category
_UI_Tab_testProp_feature = Test Prop
+_UI_Annotation_type = Annotation
+_UI_Annotatable_type = Annotatable
+_UI_Annotation_source_feature = Source
+_UI_Annotation_details_feature = Details
+_UI_Annotation_references_feature = References
+_UI_Annotatable_annotations_feature = Annotations
+_UI_Annotation_element_feature = Element
+_UI_Section_views_feature = Views
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AbstractSectionItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AbstractSectionItemProvider.java
index 2673f91be6d..a2464645499 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AbstractSectionItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AbstractSectionItemProvider.java
@@ -1,5 +1,17 @@
-/**
- */
+/*****************************************************************************
+ * Copyright (c) 2021 CEA LIST, Christian W. Damus, 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
+ * Christian W. Damus - bug 573986
+ *****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -8,19 +20,16 @@ import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-
import org.eclipse.emf.common.util.ResourceLocator;
-
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
-
import org.eclipse.papyrus.infra.constraints.provider.DisplayUnitItemProvider;
-
import org.eclipse.papyrus.infra.properties.contexts.AbstractSection;
+import org.eclipse.papyrus.infra.properties.contexts.ContextsFactory;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
-
import org.eclipse.papyrus.infra.properties.environment.provider.PropertiesEditPlugin;
/**
@@ -102,6 +111,46 @@ public class AbstractSectionItemProvider extends DisplayUnitItemProvider {
}
/**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ContextsPackage.Literals.ANNOTATABLE__ANNOTATIONS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -131,6 +180,9 @@ public class AbstractSectionItemProvider extends DisplayUnitItemProvider {
case ContextsPackage.ABSTRACT_SECTION__NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
+ case ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
}
super.notifyChanged(notification);
}
@@ -145,6 +197,11 @@ public class AbstractSectionItemProvider extends DisplayUnitItemProvider {
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ContextsPackage.Literals.ANNOTATABLE__ANNOTATIONS,
+ ContextsFactory.eINSTANCE.createAnnotation()));
}
/**
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotatableItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotatableItemProvider.java
new file mode 100644
index 00000000000..6e825ae9074
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotatableItemProvider.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright (c) 2021 Christian W. Damus, 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:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.properties.contexts.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.infra.properties.contexts.Annotatable;
+import org.eclipse.papyrus.infra.properties.contexts.ContextsFactory;
+import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
+
+import org.eclipse.papyrus.infra.properties.environment.provider.PropertiesEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.properties.contexts.Annotatable} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AnnotatableItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnnotatableItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ContextsPackage.Literals.ANNOTATABLE__ANNOTATIONS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Annotatable_type");
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Annotatable.class)) {
+ case ContextsPackage.ANNOTATABLE__ANNOTATIONS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ContextsPackage.Literals.ANNOTATABLE__ANNOTATIONS,
+ ContextsFactory.eINSTANCE.createAnnotation()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PropertiesEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotationItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotationItemProvider.java
new file mode 100644
index 00000000000..a171dae0cf5
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotationItemProvider.java
@@ -0,0 +1,246 @@
+/**
+ * Copyright (c) 2021 Christian W. Damus, 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:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.properties.contexts.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.infra.properties.contexts.Annotation;
+import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
+
+import org.eclipse.papyrus.infra.properties.environment.provider.PropertiesEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.infra.properties.contexts.Annotation} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AnnotationItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnnotationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSourcePropertyDescriptor(object);
+ addReferencesPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Source feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Annotation_source_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Annotation_source_feature", "_UI_Annotation_type"),
+ ContextsPackage.Literals.ANNOTATION__SOURCE,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the References feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReferencesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Annotation_references_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Annotation_references_feature", "_UI_Annotation_type"),
+ ContextsPackage.Literals.ANNOTATION__REFERENCES,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ContextsPackage.Literals.ANNOTATION__DETAILS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Annotation.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Annotation"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Annotation)object).getSource();
+ return label == null || label.length() == 0 ?
+ getString("_UI_Annotation_type") :
+ getString("_UI_Annotation_type") + " " + label;
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Annotation.class)) {
+ case ContextsPackage.ANNOTATION__SOURCE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ContextsPackage.ANNOTATION__DETAILS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ContextsPackage.Literals.ANNOTATION__DETAILS,
+ EcoreFactory.eINSTANCE.create(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY)));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PropertiesEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextItemProvider.java
index 6bfe93ffa68..27b4595fc6f 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextItemProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2015 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,7 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
- * Christian W. Damus - bug 482927
+ * Christian W. Damus - bugs 482927, 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -224,6 +224,16 @@ public class ContextItemProvider
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextsItemProviderAdapterFactory.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextsItemProviderAdapterFactory.java
index cf3dfb43333..dc51bb870c5 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextsItemProviderAdapterFactory.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextsItemProviderAdapterFactory.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -288,6 +289,29 @@ public class ContextsItemProviderAdapterFactory extends ContextsAdapterFactory i
}
/**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.infra.properties.contexts.Annotation} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnnotationItemProvider annotationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.infra.properties.contexts.Annotation}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createAnnotationAdapter() {
+ if (annotationItemProvider == null) {
+ annotationItemProvider = new AnnotationItemProvider(this);
+ }
+
+ return annotationItemProvider;
+ }
+
+ /**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -395,6 +419,7 @@ public class ContextsItemProviderAdapterFactory extends ContextsAdapterFactory i
if (contextItemProvider != null) contextItemProvider.dispose();
if (tabItemProvider != null) tabItemProvider.dispose();
if (sectionItemProvider != null) sectionItemProvider.dispose();
+ if (annotationItemProvider != null) annotationItemProvider.dispose();
if (propertyItemProvider != null) propertyItemProvider.dispose();
if (dataContextElementItemProvider != null) dataContextElementItemProvider.dispose();
if (dataContextPackageItemProvider != null) dataContextPackageItemProvider.dispose();
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextElementItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextElementItemProvider.java
index e6e4a905d9d..1ee7603bc30 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextElementItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextElementItemProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -19,22 +20,14 @@ import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
import org.eclipse.papyrus.infra.properties.contexts.ContextsFactory;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
import org.eclipse.papyrus.infra.properties.contexts.DataContextElement;
-import org.eclipse.papyrus.infra.properties.environment.provider.PropertiesEditPlugin;
/**
* This is the item provider adapter for a {@link org.eclipse.papyrus.infra.properties.contexts.DataContextElement} object.
@@ -43,13 +36,7 @@ import org.eclipse.papyrus.infra.properties.environment.provider.PropertiesEditP
* @generated
*/
public class DataContextElementItemProvider
- extends ItemProviderAdapter
- implements
- IEditingDomainItemProvider,
- IStructuredItemContentProvider,
- ITreeItemContentProvider,
- IItemLabelProvider,
- IItemPropertySource {
+ extends AnnotatableItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
@@ -163,6 +150,16 @@ public class DataContextElementItemProvider
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -220,15 +217,4 @@ public class DataContextElementItemProvider
ContextsFactory.eINSTANCE.createUnknownProperty()));
}
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator() {
- return PropertiesEditPlugin.INSTANCE;
- }
-
}
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextPackageItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextPackageItemProvider.java
index d2c9d2e0d9a..8b6176b12dc 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextPackageItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextPackageItemProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -101,6 +102,16 @@ public class DataContextPackageItemProvider
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextRootItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextRootItemProvider.java
index 39e23a255bb..7c1fdf9b5dd 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextRootItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextRootItemProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -117,6 +118,16 @@ public class DataContextRootItemProvider
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/PropertyItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/PropertyItemProvider.java
index a17a5045bc6..5b9029c26a2 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/PropertyItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/PropertyItemProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2017 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,6 +11,7 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Vincent Lorenzo - Bug 520271
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -20,20 +21,12 @@ import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
import org.eclipse.papyrus.infra.properties.contexts.Property;
-import org.eclipse.papyrus.infra.properties.environment.provider.PropertiesEditPlugin;
/**
* This is the item provider adapter for a {@link org.eclipse.papyrus.infra.properties.contexts.Property} object.
@@ -42,13 +35,7 @@ import org.eclipse.papyrus.infra.properties.environment.provider.PropertiesEditP
* @generated
*/
public class PropertyItemProvider
- extends ItemProviderAdapter
- implements
- IEditingDomainItemProvider,
- IStructuredItemContentProvider,
- ITreeItemContentProvider,
- IItemLabelProvider,
- IItemPropertySource {
+ extends AnnotatableItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
@@ -247,6 +234,16 @@ public class PropertyItemProvider
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -295,15 +292,4 @@ public class PropertyItemProvider
super.collectNewChildDescriptors(newChildDescriptors, object);
}
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator() {
- return PropertiesEditPlugin.INSTANCE;
- }
-
}
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/SectionItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/SectionItemProvider.java
index 4b1291fd7d4..9a339e06bc7 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/SectionItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/SectionItemProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -57,6 +58,7 @@ public class SectionItemProvider
addSectionFilePropertyDescriptor(object);
addWidgetPropertyDescriptor(object);
+ addViewsPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -106,6 +108,28 @@ public class SectionItemProvider
}
/**
+ * This adds a property descriptor for the Views feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addViewsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Section_views_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Section_views_feature", "_UI_Section_type"),
+ ContextsPackage.Literals.SECTION__VIEWS,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
* This returns Section.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -117,6 +141,16 @@ public class SectionItemProvider
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/TabItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/TabItemProvider.java
index ed6a495b6b2..8b6222ca9ea 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/TabItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/TabItemProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -301,6 +302,16 @@ public class TabItemProvider
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/UnknownPropertyItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/UnknownPropertyItemProvider.java
index 0d93baadf44..ed7ab836ed4 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/UnknownPropertyItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/UnknownPropertyItemProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -67,6 +68,16 @@ public class UnknownPropertyItemProvider
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ViewItemProvider.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ViewItemProvider.java
index 9bdd469e12d..615b9e18fce 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ViewItemProvider.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ViewItemProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.provider;
@@ -20,11 +21,13 @@ import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
import org.eclipse.papyrus.infra.constraints.provider.DisplayUnitItemProvider;
+import org.eclipse.papyrus.infra.properties.contexts.ContextsFactory;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
import org.eclipse.papyrus.infra.properties.contexts.View;
import org.eclipse.papyrus.infra.properties.environment.provider.PropertiesEditPlugin;
@@ -155,6 +158,36 @@ public class ViewItemProvider
}
/**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ContextsPackage.Literals.ANNOTATABLE__ANNOTATIONS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
* This returns View.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -166,6 +199,16 @@ public class ViewItemProvider
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -195,6 +238,9 @@ public class ViewItemProvider
case ContextsPackage.VIEW__AUTOMATIC_CONTEXT:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
+ case ContextsPackage.VIEW__ANNOTATIONS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
}
super.notifyChanged(notification);
}
@@ -209,6 +255,11 @@ public class ViewItemProvider
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (ContextsPackage.Literals.ANNOTATABLE__ANNOTATIONS,
+ ContextsFactory.eINSTANCE.createAnnotation()));
}
/**
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/environment/provider/PropertiesEditPlugin.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/environment/provider/PropertiesEditPlugin.java
index 4220e0e0410..6015ce6b10e 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/environment/provider/PropertiesEditPlugin.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/environment/provider/PropertiesEditPlugin.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment.provider;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/model/Environment.properties b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/model/Environment.properties
new file mode 100644
index 00000000000..e65146d0e50
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/model/Environment.properties
@@ -0,0 +1,17 @@
+#
+# Copyright (c) 2021 Christian W. Damus, 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:
+# Christian W. Damus - Initial API and implementation
+#
+#
+
+_UI_label_EMFInstanceOfDeprecated=Ecore 'instance-of'
+_UI_label_className=EClass name
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/META-INF/MANIFEST.MF b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/META-INF/MANIFEST.MF
index 83eb212f035..d15b6db8fb7 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/META-INF/MANIFEST.MF
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/META-INF/MANIFEST.MF
@@ -2,6 +2,7 @@ Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.infra.properties.catalog,
org.eclipse.papyrus.infra.properties.contexts,
org.eclipse.papyrus.infra.properties.contexts.impl,
+ org.eclipse.papyrus.infra.properties.contexts.operations,
org.eclipse.papyrus.infra.properties.contexts.util,
org.eclipse.papyrus.infra.properties.environment,
org.eclipse.papyrus.infra.properties.environment.impl,
@@ -17,6 +18,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.23.0,3.0.0)",
org.eclipse.emf.ecore.xmi;bundle-version="[2.16.0,3.0.0)",
org.eclipse.papyrus.infra.constraints;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.uml2.types;bundle-version="[2.5.0,3.0.0)",
org.eclipse.uml2.common;bundle-version="[2.5.0,3.0.0)",
org.eclipse.papyrus.infra.core.log;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %providerName
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.ecore b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.ecore
index ce640ef084e..866f6ebe073 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.ecore
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.ecore
@@ -119,23 +119,49 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Section" eSuperTypes="#//contexts/AbstractSection">
+ <eOperations name="getViews" ordered="false" upperBound="-1" eType="#//contexts/View">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="suppressedVisibility" value="true"/>
+ </eAnnotations>
+ </eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="sectionFile" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="widget" lowerBound="1"
eType="#//ui/CompositeWidget"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="views" ordered="false"
+ upperBound="-1" eType="#//contexts/View" changeable="false" volatile="true"
+ transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1"
eType="#//contexts/Tab" volatile="true" transient="true" derived="true"
eOpposite="#//contexts/Tab/sections">
<eAnnotations source="subsets" references="#//contexts/AbstractSection/tab"/>
</eStructuralFeatures>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="AbstractSection" abstract="true" eSuperTypes="../../org.eclipse.papyrus.infra.constraints/Model/Constraints.ecore#//DisplayUnit">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractSection" abstract="true" eSuperTypes="../../org.eclipse.papyrus.infra.constraints/Model/Constraints.ecore#//DisplayUnit #//contexts/Annotatable">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tab" lowerBound="1" eType="#//contexts/Tab"
eOpposite="#//contexts/Tab/allSections"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Property">
+ <eClassifiers xsi:type="ecore:EClass" name="Annotatable" abstract="true">
+ <eOperations name="getAnnotation" ordered="false" lowerBound="1" eType="#//contexts/Annotation">
+ <eParameters name="source" ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" ordered="false"
+ upperBound="-1" eType="#//contexts/Annotation" containment="true" eOpposite="#//contexts/Annotation/element"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Annotation">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" ordered="false"
+ lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="references" ordered="false"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="details" ordered="false"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EStringToStringMapEntry"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" ordered="false"
+ lowerBound="1" eType="#//contexts/Annotatable" eOpposite="#//contexts/Annotatable/annotations"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//contexts/Annotatable">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -151,7 +177,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="redefinedByProperties"
upperBound="-1" eType="#//contexts/Property" eOpposite="#//contexts/Property/redefinedProperties"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DataContextElement">
+ <eClassifiers xsi:type="ecore:EClass" name="DataContextElement" eSuperTypes="#//contexts/Annotatable">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="package" eType="#//contexts/DataContextPackage"
@@ -166,17 +192,17 @@
eType="#//contexts/DataContextElement" containment="true" eOpposite="#//contexts/DataContextElement/package"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UnknownProperty" eSuperTypes="#//contexts/Property"/>
- <eClassifiers xsi:type="ecore:EClass" name="View" eSuperTypes="../../org.eclipse.papyrus.infra.constraints/Model/Constraints.ecore#//DisplayUnit">
+ <eClassifiers xsi:type="ecore:EClass" name="View" eSuperTypes="../../org.eclipse.papyrus.infra.constraints/Model/Constraints.ecore#//DisplayUnit #//contexts/Annotatable">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="sections" upperBound="-1"
eType="#//contexts/Section"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
+ eType="#//contexts/Context" eOpposite="#//contexts/Context/views"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="automaticContext" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="datacontexts" upperBound="-1"
eType="#//contexts/DataContextElement"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
- eType="#//contexts/Context" eOpposite="#//contexts/Context/views"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataContextRoot" eSuperTypes="#//contexts/DataContextPackage">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="label" lowerBound="1"
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"
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.notation b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.notation
index a7f70fe0beb..e9361669834 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.notation
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.notation
@@ -103,6 +103,10 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CBH3tpxkEeu216dzZOP2Cw"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_CBH3t5xkEeu216dzZOP2Cw" type="Class_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_pUyi0MqwEeuhj7ABGVZg5A" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="properties.uml#_pTka0MqwEeuhj7ABGVZg5A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pUyi0cqwEeuhj7ABGVZg5A"/>
+ </children>
<styles xmi:type="notation:TitleStyle" xmi:id="_CBH3uJxkEeu216dzZOP2Cw"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_CBH3uZxkEeu216dzZOP2Cw"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_CBH3upxkEeu216dzZOP2Cw"/>
@@ -151,29 +155,97 @@
<element xmi:type="uml:Class" href="properties.uml#_jfIc6JxgEeu216dzZOP2Cw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_C5MIIZxkEeu216dzZOP2Cw" x="360" y="140"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_R-6E4MhoEeuDHv-ApZ_XIQ" type="StereotypeComment">
- <styles xmi:type="notation:TitleStyle" xmi:id="_R-6E4choEeuDHv-ApZ_XIQ"/>
- <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R-6E48hoEeuDHv-ApZ_XIQ" name="BASE_ELEMENT">
+ <children xmi:type="notation:Shape" xmi:id="_t8x3EMqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t8x3EcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_t8x3E8qvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
<eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIczZxgEeu216dzZOP2Cw"/>
</styles>
<element xsi:nil="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R-6E4shoEeuDHv-ApZ_XIQ" x="1200" y="100"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t8x3EsqvEeuhj7ABGVZg5A" x="1200" y="100"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_R_i-EMhoEeuDHv-ApZ_XIQ" type="StereotypeComment">
- <styles xmi:type="notation:TitleStyle" xmi:id="_R_i-EchoEeuDHv-ApZ_XIQ"/>
- <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_i-E8hoEeuDHv-ApZ_XIQ" name="BASE_ELEMENT">
+ <children xmi:type="notation:Shape" xmi:id="_t9Xs88qvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t9Xs9MqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_t9YUAMqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
<eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc4pxgEeu216dzZOP2Cw"/>
</styles>
<element xsi:nil="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R_i-EshoEeuDHv-ApZ_XIQ" x="480" y="340"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t9Xs9cqvEeuhj7ABGVZg5A" x="480" y="340"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_SANFYMhoEeuDHv-ApZ_XIQ" type="StereotypeComment">
- <styles xmi:type="notation:TitleStyle" xmi:id="_SANFYchoEeuDHv-ApZ_XIQ"/>
- <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SANFY8hoEeuDHv-ApZ_XIQ" name="BASE_ELEMENT">
+ <children xmi:type="notation:Shape" xmi:id="_t-B0QMqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_t-B0QcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_t-B0Q8qvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
<eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc6JxgEeu216dzZOP2Cw"/>
</styles>
<element xsi:nil="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SANFYshoEeuDHv-ApZ_XIQ" x="560" y="140"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t-B0QsqvEeuhj7ABGVZg5A" x="560" y="140"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yB_Y8MqvEeuhj7ABGVZg5A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yCBOIMqvEeuhj7ABGVZg5A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_yCBOIcqvEeuhj7ABGVZg5A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_yCBOIsqvEeuhj7ABGVZg5A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yCB1MMqvEeuhj7ABGVZg5A" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yCB1McqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yCB1MsqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yCB1M8qvEeuhj7ABGVZg5A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yCB1NMqvEeuhj7ABGVZg5A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yCB1NcqvEeuhj7ABGVZg5A" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yCB1NsqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yCB1N8qvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yCB1OMqvEeuhj7ABGVZg5A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yCB1OcqvEeuhj7ABGVZg5A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yCB1OsqvEeuhj7ABGVZg5A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yCB1O8qvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yCB1PMqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yCB1PcqvEeuhj7ABGVZg5A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yCB1PsqvEeuhj7ABGVZg5A"/>
+ </children>
+ <element xmi:type="uml:Class" href="properties.uml#_jfIcs5xgEeu216dzZOP2Cw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yB_Y8cqvEeuhj7ABGVZg5A" x="52" y="21"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yCK_IMqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yCK_IcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_yCK_I8qvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIcs5xgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yCK_IsqvEeuhj7ABGVZg5A" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yETtIMqvEeuhj7ABGVZg5A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yEUUMcqvEeuhj7ABGVZg5A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_yEUUMsqvEeuhj7ABGVZg5A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_yEUUM8qvEeuhj7ABGVZg5A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yEUUNMqvEeuhj7ABGVZg5A" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yEUUNcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yEUUNsqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yEUUN8qvEeuhj7ABGVZg5A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEUUOMqvEeuhj7ABGVZg5A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yEUUOcqvEeuhj7ABGVZg5A" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yEUUOsqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yEUUO8qvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yEUUPMqvEeuhj7ABGVZg5A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEUUPcqvEeuhj7ABGVZg5A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yEUUPsqvEeuhj7ABGVZg5A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yEUUP8qvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yEUUQMqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yEUUQcqvEeuhj7ABGVZg5A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEUUQsqvEeuhj7ABGVZg5A"/>
+ </children>
+ <element xmi:type="uml:Class" href="properties.uml#_jfJDiZxgEeu216dzZOP2Cw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEUUMMqvEeuhj7ABGVZg5A" x="54" y="336"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yEbo88qvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yEbo9MqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_yEbo9sqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfJDiZxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEbo9cqvEeuhj7ABGVZg5A" x="200"/>
</children>
<styles xmi:type="notation:StringValueStyle" xmi:id="_A-_FQZxkEeu216dzZOP2Cw" name="diagram_compatibility_version" stringValue="1.4.0"/>
<styles xmi:type="notation:DiagramStyle" xmi:id="_A-_FQpxkEeu216dzZOP2Cw"/>
@@ -190,7 +262,7 @@
<element xmi:type="uml:Generalization" href="properties.uml#_jfIc5JxgEeu216dzZOP2Cw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EmRVApxkEeu216dzZOP2Cw"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wauaApxpEeu216dzZOP2Cw" id="(0.5128205128205128,0.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wavBEJxpEeu216dzZOP2Cw" id="(0.49504950495049505,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wavBEJxpEeu216dzZOP2Cw" id="(0.35668789808917195,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_zB1_gJxkEeu216dzZOP2Cw" type="Association_Edge" source="_B_m0wJxkEeu216dzZOP2Cw" target="_CBHQoJxkEeu216dzZOP2Cw">
<children xmi:type="notation:DecorationNode" xmi:id="_zB2mkJxkEeu216dzZOP2Cw" type="Association_StereotypeLabel">
@@ -272,35 +344,172 @@
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wlFP4JxpEeu216dzZOP2Cw" id="(0.0,0.4393305439330544)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wlFP4ZxpEeu216dzZOP2Cw" id="(1.0,0.6299212598425197)"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_R-6r8MhoEeuDHv-ApZ_XIQ" type="StereotypeCommentLink" source="_B_m0wJxkEeu216dzZOP2Cw" target="_R-6E4MhoEeuDHv-ApZ_XIQ">
- <styles xmi:type="notation:FontStyle" xmi:id="_R-6r8choEeuDHv-ApZ_XIQ"/>
- <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R-6r9choEeuDHv-ApZ_XIQ" name="BASE_ELEMENT">
+ <edges xmi:type="notation:Connector" xmi:id="_t8x3FMqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_B_m0wJxkEeu216dzZOP2Cw" target="_t8x3EMqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_t8x3FcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_t8yeIcqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
<eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIczZxgEeu216dzZOP2Cw"/>
</styles>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R-6r8shoEeuDHv-ApZ_XIQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R-6r88hoEeuDHv-ApZ_XIQ"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R-6r9MhoEeuDHv-ApZ_XIQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_t8x3FsqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t8x3F8qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t8yeIMqvEeuhj7ABGVZg5A"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_R_i-FMhoEeuDHv-ApZ_XIQ" type="StereotypeCommentLink" source="_CBHQoJxkEeu216dzZOP2Cw" target="_R_i-EMhoEeuDHv-ApZ_XIQ">
- <styles xmi:type="notation:FontStyle" xmi:id="_R_i-FchoEeuDHv-ApZ_XIQ"/>
- <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_i-GchoEeuDHv-ApZ_XIQ" name="BASE_ELEMENT">
+ <edges xmi:type="notation:Connector" xmi:id="_t9YUAcqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_CBHQoJxkEeu216dzZOP2Cw" target="_t9Xs88qvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_t9YUAsqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_t9YUBsqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
<eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc4pxgEeu216dzZOP2Cw"/>
</styles>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R_i-FshoEeuDHv-ApZ_XIQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_i-F8hoEeuDHv-ApZ_XIQ"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_i-GMhoEeuDHv-ApZ_XIQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_t9YUA8qvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t9YUBMqvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t9YUBcqvEeuhj7ABGVZg5A"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_SANFZMhoEeuDHv-ApZ_XIQ" type="StereotypeCommentLink" source="_C5MIIJxkEeu216dzZOP2Cw" target="_SANFYMhoEeuDHv-ApZ_XIQ">
- <styles xmi:type="notation:FontStyle" xmi:id="_SANFZchoEeuDHv-ApZ_XIQ"/>
- <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SANscshoEeuDHv-ApZ_XIQ" name="BASE_ELEMENT">
+ <edges xmi:type="notation:Connector" xmi:id="_t-B0RMqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_C5MIIJxkEeu216dzZOP2Cw" target="_t-B0QMqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_t-B0RcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_t-B0ScqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
<eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc6JxgEeu216dzZOP2Cw"/>
</styles>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SANFZshoEeuDHv-ApZ_XIQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SANscMhoEeuDHv-ApZ_XIQ"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SANscchoEeuDHv-ApZ_XIQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_t-B0RsqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t-B0R8qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t-B0SMqvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_yCK_JMqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_yB_Y8MqvEeuhj7ABGVZg5A" target="_yCK_IMqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_yCK_JcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_yCK_KcqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIcs5xgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yCK_JsqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yCK_J8qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yCK_KMqvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_yEbo98qvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_yETtIMqvEeuhj7ABGVZg5A" target="_yEbo88qvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_yEbo-MqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_yEbo_MqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfJDiZxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEbo-cqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEbo-sqvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEbo-8qvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5o-_gMqvEeuhj7ABGVZg5A" type="Association_Edge" source="_yETtIMqvEeuhj7ABGVZg5A" target="_CBHQoJxkEeu216dzZOP2Cw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5o-_g8qvEeuhj7ABGVZg5A" type="Association_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5o-_hMqvEeuhj7ABGVZg5A" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5o-_hcqvEeuhj7ABGVZg5A" type="Association_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5o-_hsqvEeuhj7ABGVZg5A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5o-_h8qvEeuhj7ABGVZg5A" type="Association_TargetRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5o_mkMqvEeuhj7ABGVZg5A" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5o_mkcqvEeuhj7ABGVZg5A" type="Association_SourceRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5o_mksqvEeuhj7ABGVZg5A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5o_mk8qvEeuhj7ABGVZg5A" type="Association_SourceMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5o_mlMqvEeuhj7ABGVZg5A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5o_mlcqvEeuhj7ABGVZg5A" type="Association_TargetMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5o_mlsqvEeuhj7ABGVZg5A" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5o-_gcqvEeuhj7ABGVZg5A"/>
+ <element xmi:type="uml:Association" href="properties.uml#_jfJDlJxgEeu216dzZOP2Cw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5o-_gsqvEeuhj7ABGVZg5A" points="[154, 394, -643984, -643984]$[280, 417, -643984, -643984]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DJQb4MqwEeuhj7ABGVZg5A" id="(0.0,0.2315270935960591)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5pANoMqvEeuhj7ABGVZg5A" type="Association_Edge" source="_yB_Y8MqvEeuhj7ABGVZg5A" target="_B_m0wJxkEeu216dzZOP2Cw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pANo8qvEeuhj7ABGVZg5A" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6iYFoMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pANpMqvEeuhj7ABGVZg5A" x="-1" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pANpcqvEeuhj7ABGVZg5A" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6jWWAMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pANpsqvEeuhj7ABGVZg5A" x="1" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pANp8qvEeuhj7ABGVZg5A" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6kTYQMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pANqMqvEeuhj7ABGVZg5A" x="29" y="-17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pANqcqvEeuhj7ABGVZg5A" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6lPMYMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pA0sMqvEeuhj7ABGVZg5A" x="-45" y="-26"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pA0scqvEeuhj7ABGVZg5A" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6mLnkMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pA0ssqvEeuhj7ABGVZg5A" x="30" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pA0s8qvEeuhj7ABGVZg5A" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6nG0oMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pA0tMqvEeuhj7ABGVZg5A" x="-129" y="-19"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5pANocqvEeuhj7ABGVZg5A"/>
+ <element xmi:type="uml:Association" href="properties.uml#_jfJDh5xgEeu216dzZOP2Cw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5pANosqvEeuhj7ABGVZg5A" points="[169, 85, -643984, -643984]$[1016, 50, -643984, -643984]$[1010, 100, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6t_fwMqvEeuhj7ABGVZg5A" id="(1.0,0.29)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6t_fwcqvEeuhj7ABGVZg5A" id="(0.06938775510204082,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5pA0tcqvEeuhj7ABGVZg5A" type="Association_Edge" source="_yB_Y8MqvEeuhj7ABGVZg5A" target="_yETtIMqvEeuhj7ABGVZg5A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pBbwsqvEeuhj7ABGVZg5A" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6oDP0MqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pBbw8qvEeuhj7ABGVZg5A" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pBbxMqvEeuhj7ABGVZg5A" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6o_rAMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pBbxcqvEeuhj7ABGVZg5A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pBbxsqvEeuhj7ABGVZg5A" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6p7fIMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pBbx8qvEeuhj7ABGVZg5A" x="14" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pBbyMqvEeuhj7ABGVZg5A" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6q3TQMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pBbycqvEeuhj7ABGVZg5A" x="-15" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pBbysqvEeuhj7ABGVZg5A" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6rzHYMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pBby8qvEeuhj7ABGVZg5A" x="14" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5pBbzMqvEeuhj7ABGVZg5A" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6suUcMqvEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5pBbzcqvEeuhj7ABGVZg5A" x="-15" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5pBbwMqvEeuhj7ABGVZg5A"/>
+ <element xmi:type="uml:Association" href="properties.uml#_jfJDlpxgEeu216dzZOP2Cw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5pBbwcqvEeuhj7ABGVZg5A" points="[104, 239, -643984, -643984]$[102, 336, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6t-4sMqvEeuhj7ABGVZg5A" id="(0.47,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6t-4scqvEeuhj7ABGVZg5A" id="(0.43,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PSNKsMqwEeuhj7ABGVZg5A" type="Association_Edge" source="_CBHQoJxkEeu216dzZOP2Cw" target="_yETtIMqvEeuhj7ABGVZg5A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PSNxwMqwEeuhj7ABGVZg5A" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_P0jp0MqwEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PSNxwcqwEeuhj7ABGVZg5A" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PSNxwsqwEeuhj7ABGVZg5A" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_P1hTIMqwEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PSNxw8qwEeuhj7ABGVZg5A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PSNxxMqwEeuhj7ABGVZg5A" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_P2dHQMqwEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PSNxxcqwEeuhj7ABGVZg5A" x="37" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PSNxxsqwEeuhj7ABGVZg5A" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_P3YUUMqwEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PSNxx8qwEeuhj7ABGVZg5A" x="-37" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PSNxyMqwEeuhj7ABGVZg5A" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_P4UvgMqwEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PSNxycqwEeuhj7ABGVZg5A" x="37" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PSNxysqwEeuhj7ABGVZg5A" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_P5P8kMqwEeuhj7ABGVZg5A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PSNxy8qwEeuhj7ABGVZg5A" x="-37" y="-16"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PSNKscqwEeuhj7ABGVZg5A"/>
+ <element xmi:type="uml:Association" href="properties.uml#_PQwZMMqwEeuhj7ABGVZg5A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PSNKssqwEeuhj7ABGVZg5A" points="[280, 492, -643984, -643984]$[102, 492, -643984, -643984]$[153, 436, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PUj7IMqwEeuhj7ABGVZg5A" id="(0.0,0.7142857142857143)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PUj7IcqwEeuhj7ABGVZg5A" id="(0.48,1.0)"/>
</edges>
</notation:Diagram>
<notation:Diagram xmi:id="_NuIJAMhkEeu0AMUoTBJB8g" type="PapyrusUMLClassDiagram" name="properties" measurementUnit="Pixel">
@@ -350,13 +559,13 @@
<element xmi:type="uml:Class" href="properties.uml#_jfIc7ZxgEeu216dzZOP2Cw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ob8RQchkEeu0AMUoTBJB8g" x="360" y="220"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_SENboMhoEeuDHv-ApZ_XIQ" type="StereotypeComment">
- <styles xmi:type="notation:TitleStyle" xmi:id="_SENbochoEeuDHv-ApZ_XIQ"/>
- <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SENbo8hoEeuDHv-ApZ_XIQ" name="BASE_ELEMENT">
+ <children xmi:type="notation:Shape" xmi:id="_tRllA8qvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tRllBMqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tRllBsqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
<eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc7ZxgEeu216dzZOP2Cw"/>
</styles>
<element xsi:nil="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SENboshoEeuDHv-ApZ_XIQ" x="560" y="220"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tRllBcqvEeuhj7ABGVZg5A" x="560" y="220"/>
</children>
<styles xmi:type="notation:StringValueStyle" xmi:id="_NuIJAchkEeu0AMUoTBJB8g" name="diagram_compatibility_version" stringValue="1.4.0"/>
<styles xmi:type="notation:DiagramStyle" xmi:id="_NuIJAshkEeu0AMUoTBJB8g"/>
@@ -393,15 +602,514 @@
<element xmi:type="uml:Association" href="properties.uml#_jfJDgZxgEeu216dzZOP2Cw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OcbZcshkEeu0AMUoTBJB8g" points="[-84, -123, -643984, -643984]$[-84, -123, -643984, -643984]"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_SENbpMhoEeuDHv-ApZ_XIQ" type="StereotypeCommentLink" source="_Ob8RQMhkEeu0AMUoTBJB8g" target="_SENboMhoEeuDHv-ApZ_XIQ">
- <styles xmi:type="notation:FontStyle" xmi:id="_SENbpchoEeuDHv-ApZ_XIQ"/>
- <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SEOCsshoEeuDHv-ApZ_XIQ" name="BASE_ELEMENT">
+ <edges xmi:type="notation:Connector" xmi:id="_tRllB8qvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_Ob8RQMhkEeu0AMUoTBJB8g" target="_tRllA8qvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_tRllCMqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tRmMEsqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc7ZxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tRllCcqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tRmMEMqvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tRmMEcqvEeuhj7ABGVZg5A"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_kds1QMiFEeueo7rlLkmY8A" type="PapyrusUMLClassDiagram" name="annotations" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_lBPAIMiFEeueo7rlLkmY8A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_lBQ1UMiFEeueo7rlLkmY8A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_lBQ1UciFEeueo7rlLkmY8A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lBQ1UsiFEeueo7rlLkmY8A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_lBQ1U8iFEeueo7rlLkmY8A" type="Class_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_95Se0MiFEeueo7rlLkmY8A" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="properties.uml#_95EcYMiFEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_95TF4MiFEeueo7rlLkmY8A"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_lBQ1VMiFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lBQ1VciFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lBQ1VsiFEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lBQ1V8iFEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_lBQ1WMiFEeueo7rlLkmY8A" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_lBQ1WciFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lBQ1WsiFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lBQ1W8iFEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lBQ1XMiFEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_lBRcYMiFEeueo7rlLkmY8A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_lBRcYciFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lBRcYsiFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lBRcY8iFEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lBRcZMiFEeueo7rlLkmY8A"/>
+ </children>
+ <element xmi:type="uml:Class" href="properties.uml#_lBHrYMiFEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lBPAIciFEeueo7rlLkmY8A" x="596" y="113"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_oY44cMiFEeueo7rlLkmY8A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oY5fgciFEeueo7rlLkmY8A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oY5fgsiFEeueo7rlLkmY8A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oY5fg8iFEeueo7rlLkmY8A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_oY5fhMiFEeueo7rlLkmY8A" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_oY5fhciFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oY5fhsiFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oY5fh8iFEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oY5fiMiFEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_oY5ficiFEeueo7rlLkmY8A" type="Class_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_1M0BcMiGEeueo7rlLkmY8A" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="properties.uml#_1MRO4MiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1M0BcciGEeueo7rlLkmY8A"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_oY5fisiFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oY5fi8iFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oY5fjMiFEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oY5fjciFEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_oY5fjsiFEeueo7rlLkmY8A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_oY5fj8iFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oY5fkMiFEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oY5fkciFEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oY5fksiFEeueo7rlLkmY8A"/>
+ </children>
+ <element xmi:type="uml:Class" href="properties.uml#_oYyx0MiFEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oY5fgMiFEeueo7rlLkmY8A" x="208" y="109"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Mu7dYMiGEeueo7rlLkmY8A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Mu8EcMiGEeueo7rlLkmY8A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Mu8EcciGEeueo7rlLkmY8A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Mu8EcsiGEeueo7rlLkmY8A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Mu8Ec8iGEeueo7rlLkmY8A" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Mu8EdMiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Mu8EdciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Mu8EdsiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mu8Ed8iGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Mu8EeMiGEeueo7rlLkmY8A" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Mu8EeciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Mu8EesiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Mu8Ee8iGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mu8EfMiGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Mu8EfciGEeueo7rlLkmY8A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Mu8EfsiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Mu8Ef8iGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Mu8EgMiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mu8EgciGEeueo7rlLkmY8A"/>
+ </children>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mu7dYciGEeueo7rlLkmY8A" x="946" y="117"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_U9wgAMiGEeueo7rlLkmY8A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_U9wgAsiGEeueo7rlLkmY8A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_U9xHEMiGEeueo7rlLkmY8A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_U9xHEciGEeueo7rlLkmY8A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_U9xHEsiGEeueo7rlLkmY8A" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U9xHE8iGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_U9xHFMiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_U9xHFciGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U9xHFsiGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_U9xHF8iGEeueo7rlLkmY8A" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U9xHGMiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_U9xHGciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_U9xHGsiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U9xHG8iGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_U9xHHMiGEeueo7rlLkmY8A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U9xHHciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_U9xHHsiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_U9xHH8iGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U9xHIMiGEeueo7rlLkmY8A"/>
+ </children>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EStringToStringMapEntry"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U9wgAciGEeueo7rlLkmY8A" x="617" y="328"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_c-ajwMiGEeueo7rlLkmY8A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_c-k70MiGEeueo7rlLkmY8A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_c-k70ciGEeueo7rlLkmY8A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_c-k70siGEeueo7rlLkmY8A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_c-k708iGEeueo7rlLkmY8A" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_c-k71MiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_c-k71ciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_c-k71siGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-k718iGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_c-k72MiGEeueo7rlLkmY8A" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_c-k72ciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_c-k72siGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_c-k728iGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-k73MiGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_c-k73ciGEeueo7rlLkmY8A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_c-k73siGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_c-k738iGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_c-k74MiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-k74ciGEeueo7rlLkmY8A"/>
+ </children>
+ <element xmi:type="uml:Class" href="properties.uml#_jfIc6JxgEeu216dzZOP2Cw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-ajwciGEeueo7rlLkmY8A" x="335" y="326"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_dpVJAMiGEeueo7rlLkmY8A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_dpVwEMiGEeueo7rlLkmY8A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_dpVwEciGEeueo7rlLkmY8A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_dpVwEsiGEeueo7rlLkmY8A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dpVwE8iGEeueo7rlLkmY8A" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dpVwFMiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dpVwFciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dpVwFsiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dpVwF8iGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dpVwGMiGEeueo7rlLkmY8A" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dpVwGciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dpVwGsiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dpVwG8iGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dpVwHMiGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dpVwHciGEeueo7rlLkmY8A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dpVwHsiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dpVwH8iGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dpVwIMiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dpVwIciGEeueo7rlLkmY8A"/>
+ </children>
+ <element xmi:type="uml:Class" href="properties.uml#_jfIc_pxgEeu216dzZOP2Cw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dpVJAciGEeueo7rlLkmY8A" x="70" y="324"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_f8b0EMiGEeueo7rlLkmY8A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_f8b0EsiGEeueo7rlLkmY8A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_f8b0E8iGEeueo7rlLkmY8A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_f8b0FMiGEeueo7rlLkmY8A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_f8b0FciGEeueo7rlLkmY8A" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_f8b0FsiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_f8b0F8iGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_f8b0GMiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f8b0GciGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_f8b0GsiGEeueo7rlLkmY8A" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_f8b0G8iGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_f8b0HMiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_f8b0HciGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f8b0HsiGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_f8b0H8iGEeueo7rlLkmY8A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_f8b0IMiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_f8b0IciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_f8b0IsiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f8b0I8iGEeueo7rlLkmY8A"/>
+ </children>
+ <element xmi:type="uml:Class" href="properties.uml#_jfIc7ZxgEeu216dzZOP2Cw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f8b0EciGEeueo7rlLkmY8A" x="212" y="326"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jyp3sMiGEeueo7rlLkmY8A" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jyp3ssiGEeueo7rlLkmY8A" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jyp3s8iGEeueo7rlLkmY8A" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jyp3tMiGEeueo7rlLkmY8A" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jyqewMiGEeueo7rlLkmY8A" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_jyqewciGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jyqewsiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jyqew8iGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jyqexMiGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jyqexciGEeueo7rlLkmY8A" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_jyqexsiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jyqex8iGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jyqeyMiGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jyqeyciGEeueo7rlLkmY8A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jyqeysiGEeueo7rlLkmY8A" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_jyqey8iGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jyqezMiGEeueo7rlLkmY8A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jyqezciGEeueo7rlLkmY8A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jyqezsiGEeueo7rlLkmY8A"/>
+ </children>
+ <element xmi:type="uml:Class" href="properties.uml#_jfJDiZxgEeu216dzZOP2Cw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jyp3sciGEeueo7rlLkmY8A" x="464" y="326"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nxn8YMqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nxn8YcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nxn8Y8qvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_lBHrYMiFEeueo7rlLkmY8A"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nxn8YsqvEeuhj7ABGVZg5A" x="796" y="113"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nx-hsMqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nx-hscqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nx_IwMqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_oYyx0MiFEeueo7rlLkmY8A"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nx-hssqvEeuhj7ABGVZg5A" x="408" y="109"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nye4AMqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nye4AcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nye4A8qvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nye4AsqvEeuhj7ABGVZg5A" x="1146" y="117"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nyzoIMqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nyzoIcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nyzoI8qvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EStringToStringMapEntry"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nyzoIsqvEeuhj7ABGVZg5A" x="817" y="328"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nzBDg8qvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nzBDhMqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nzBDhsqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc6JxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nzBDhcqvEeuhj7ABGVZg5A" x="535" y="326"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nzN30MqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nzN30cqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nzN308qvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc_pxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nzN30sqvEeuhj7ABGVZg5A" x="270" y="324"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nzZeAMqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nzZeAcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nzZeA8qvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc7ZxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nzZeAsqvEeuhj7ABGVZg5A" x="412" y="326"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nzlEMMqvEeuhj7ABGVZg5A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nzlEMcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nzlEM8qvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfJDiZxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nzlEMsqvEeuhj7ABGVZg5A" x="664" y="326"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_kds1QciFEeueo7rlLkmY8A" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_kds1QsiFEeueo7rlLkmY8A"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_kds1Q8iFEeueo7rlLkmY8A" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
+ <owner xmi:type="uml:Package" href="properties.uml#_jfIcspxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xmi:type="uml:Package" href="properties.uml#_jfIcspxgEeu216dzZOP2Cw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_uddqAMiFEeueo7rlLkmY8A" type="Association_Edge" source="_oY44cMiFEeueo7rlLkmY8A" target="_lBPAIMiFEeueo7rlLkmY8A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_uddqA8iFEeueo7rlLkmY8A" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_zU89YMiFEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uddqBMiFEeueo7rlLkmY8A" y="-19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uddqBciFEeueo7rlLkmY8A" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_zVGuYMiFEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uddqBsiFEeueo7rlLkmY8A" x="1" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uddqB8iFEeueo7rlLkmY8A" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_zVPRQMiFEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uddqCMiFEeueo7rlLkmY8A" x="15" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uddqCciFEeueo7rlLkmY8A" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_zVZCQMiFEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uddqCsiFEeueo7rlLkmY8A" x="-16" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uddqC8iFEeueo7rlLkmY8A" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_zViMMMiFEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uddqDMiFEeueo7rlLkmY8A" x="16" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uddqDciFEeueo7rlLkmY8A" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_zVr9MMiFEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uddqDsiFEeueo7rlLkmY8A" x="-16" y="-19"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_uddqAciFEeueo7rlLkmY8A"/>
+ <element xmi:type="uml:Association" href="properties.uml#_ucxGcMiFEeueo7rlLkmY8A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uddqAsiFEeueo7rlLkmY8A" points="[568, 189, -643984, -643984]$[473, 252, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ud_1gMiFEeueo7rlLkmY8A" id="(1.0,0.2897196261682243)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ud_1gciFEeueo7rlLkmY8A" id="(0.0,0.2523364485981308)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_O6of8MiGEeueo7rlLkmY8A" type="Association_Edge" source="_lBPAIMiFEeueo7rlLkmY8A" target="_Mu7dYMiGEeueo7rlLkmY8A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_O6of88iGEeueo7rlLkmY8A" type="Association_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O6of9MiGEeueo7rlLkmY8A" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_O6of9ciGEeueo7rlLkmY8A" type="Association_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O6of9siGEeueo7rlLkmY8A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_O6of98iGEeueo7rlLkmY8A" type="Association_TargetRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O6of-MiGEeueo7rlLkmY8A" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_O6of-ciGEeueo7rlLkmY8A" type="Association_SourceRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O6of-siGEeueo7rlLkmY8A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_O6of-8iGEeueo7rlLkmY8A" type="Association_SourceMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O6of_MiGEeueo7rlLkmY8A" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_O6of_ciGEeueo7rlLkmY8A" type="Association_TargetMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O6pHAMiGEeueo7rlLkmY8A" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_O6of8ciGEeueo7rlLkmY8A"/>
+ <element xmi:type="uml:Association" href="properties.uml#_O6XaMMiGEeueo7rlLkmY8A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O6of8siGEeueo7rlLkmY8A" points="[714, 137, -643984, -643984]$[946, 137, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7OV0MiGEeueo7rlLkmY8A" id="(1.0,0.22429906542056074)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7OV0ciGEeueo7rlLkmY8A" id="(0.0,0.2)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_WBa8cMiGEeueo7rlLkmY8A" type="Association_Edge" source="_lBPAIMiFEeueo7rlLkmY8A" target="_U9wgAMiGEeueo7rlLkmY8A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBbjgMiGEeueo7rlLkmY8A" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_YvtHoMiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WBbjgciGEeueo7rlLkmY8A" y="-19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBbjgsiGEeueo7rlLkmY8A" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Yv-0cMiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WBbjg8iGEeueo7rlLkmY8A" x="-1" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBbjhMiGEeueo7rlLkmY8A" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_YwQhQMiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WBbjhciGEeueo7rlLkmY8A" x="25" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBbjhsiGEeueo7rlLkmY8A" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_YwiOEMiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WBbjh8iGEeueo7rlLkmY8A" x="-26" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBbjiMiGEeueo7rlLkmY8A" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Yw1wEMiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WBbjiciGEeueo7rlLkmY8A" x="25" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBbjisiGEeueo7rlLkmY8A" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_YxG10MiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WBbji8iGEeueo7rlLkmY8A" x="-26" y="-18"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_WBa8cciGEeueo7rlLkmY8A"/>
+ <element xmi:type="uml:Association" href="properties.uml#_WBGMUMiGEeueo7rlLkmY8A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WBa8csiGEeueo7rlLkmY8A" points="[662, 220, -643984, -643984]$[672, 388, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WCIHEMiGEeueo7rlLkmY8A" id="(0.559322033898305,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WCIHEciGEeueo7rlLkmY8A" id="(0.31690140845070425,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_uKTA8MiGEeueo7rlLkmY8A" type="Generalization_Edge" source="_dpVJAMiGEeueo7rlLkmY8A" target="_oY44cMiFEeueo7rlLkmY8A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_uKTA88iGEeueo7rlLkmY8A" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7M5UkMiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uKTA9MiGEeueo7rlLkmY8A" y="38"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_uKTA8ciGEeueo7rlLkmY8A"/>
+ <element xmi:type="uml:Generalization" href="properties.uml#_uJ0f0MiGEeueo7rlLkmY8A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uKTA8siGEeueo7rlLkmY8A" points="[172, 324, -643984, -643984]$[286, 214, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uLMY0MiGEeueo7rlLkmY8A" id="(0.8360655737704918,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uLMY0ciGEeueo7rlLkmY8A" id="(0.004149377593360996,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_uqx30MiGEeueo7rlLkmY8A" type="Generalization_Edge" source="_f8b0EMiGEeueo7rlLkmY8A" target="_oY44cMiFEeueo7rlLkmY8A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_uqx308iGEeueo7rlLkmY8A" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7NWnkMiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uqx31MiGEeueo7rlLkmY8A" y="39"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_uqx30ciGEeueo7rlLkmY8A"/>
+ <element xmi:type="uml:Generalization" href="properties.uml#_up_NoMiGEeueo7rlLkmY8A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uqx30siGEeueo7rlLkmY8A" points="[285, 326, -643984, -643984]$[314, 214, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usBN8MiGEeueo7rlLkmY8A" id="(0.73,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usBN8ciGEeueo7rlLkmY8A" id="(0.2863070539419087,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_vR0psMiGEeueo7rlLkmY8A" type="Generalization_Edge" source="_c-ajwMiGEeueo7rlLkmY8A" target="_oY44cMiFEeueo7rlLkmY8A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_vR0ps8iGEeueo7rlLkmY8A" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7Nz6kMiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vR0ptMiGEeueo7rlLkmY8A" y="39"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vR0psciGEeueo7rlLkmY8A"/>
+ <element xmi:type="uml:Generalization" href="properties.uml#_vQel4MiGEeueo7rlLkmY8A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vR0pssiGEeueo7rlLkmY8A" points="[409, 326, -643984, -643984]$[362, 214, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vSyTAMiGEeueo7rlLkmY8A" id="(0.7115384615384616,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vSyTAciGEeueo7rlLkmY8A" id="(0.7634854771784232,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_v4u4sMiGEeueo7rlLkmY8A" type="Generalization_Edge" source="_jyp3sMiGEeueo7rlLkmY8A" target="_oY44cMiFEeueo7rlLkmY8A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_v4u4s8iGEeueo7rlLkmY8A" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7ORNkMiGEeueo7rlLkmY8A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v4u4tMiGEeueo7rlLkmY8A" x="-1" y="38"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_v4u4sciGEeueo7rlLkmY8A"/>
+ <element xmi:type="uml:Generalization" href="properties.uml#_v4RlsMiGEeueo7rlLkmY8A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4u4ssiGEeueo7rlLkmY8A" points="[506, 326, -643984, -643984]$[385, 208, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v5pesMiGEeueo7rlLkmY8A" id="(0.42,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v5pesciGEeueo7rlLkmY8A" id="(1.0,0.9345794392523364)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nxojcMqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_lBPAIMiFEeueo7rlLkmY8A" target="_nxn8YMqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_nxojccqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nxojdcqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_lBHrYMiFEeueo7rlLkmY8A"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nxojcsqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nxojc8qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nxojdMqvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nx_IwcqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_oY44cMiFEeueo7rlLkmY8A" target="_nx-hsMqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_nx_IwsqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nx_IxsqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_oYyx0MiFEeueo7rlLkmY8A"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nx_Iw8qvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nx_IxMqvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nx_IxcqvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nye4BMqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_Mu7dYMiGEeueo7rlLkmY8A" target="_nye4AMqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_nye4BcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nye4CcqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nye4BsqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nye4B8qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nye4CMqvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nyzoJMqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_U9wgAMiGEeueo7rlLkmY8A" target="_nyzoIMqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_nyzoJcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nyzoKcqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EStringToStringMapEntry"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nyzoJsqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nyzoJ8qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nyzoKMqvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nzBqkMqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_c-ajwMiGEeueo7rlLkmY8A" target="_nzBDg8qvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_nzBqkcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nzBqlcqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc6JxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nzBqksqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nzBqk8qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nzBqlMqvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nzN31MqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_dpVJAMiGEeueo7rlLkmY8A" target="_nzN30MqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_nzN31cqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nzN32cqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc_pxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nzN31sqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nzN318qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nzN32MqvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nzZeBMqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_f8b0EMiGEeueo7rlLkmY8A" target="_nzZeAMqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_nzZeBcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nzZeCcqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
<eObjectValue xmi:type="uml:Class" href="properties.uml#_jfIc7ZxgEeu216dzZOP2Cw"/>
</styles>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SENbpshoEeuDHv-ApZ_XIQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SEOCsMhoEeuDHv-ApZ_XIQ"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SEOCschoEeuDHv-ApZ_XIQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nzZeBsqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nzZeB8qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nzZeCMqvEeuhj7ABGVZg5A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nzlENMqvEeuhj7ABGVZg5A" type="StereotypeCommentLink" source="_jyp3sMiGEeueo7rlLkmY8A" target="_nzlEMMqvEeuhj7ABGVZg5A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_nzlENcqvEeuhj7ABGVZg5A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nzlEOcqvEeuhj7ABGVZg5A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="properties.uml#_jfJDiZxgEeu216dzZOP2Cw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nzlENsqvEeuhj7ABGVZg5A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nzlEN8qvEeuhj7ABGVZg5A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nzlEOMqvEeuhj7ABGVZg5A"/>
</edges>
</notation:Diagram>
</xmi:XMI>
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.uml b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.uml
index d8dd16eddd6..fd7236adb5d 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.uml
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.uml
@@ -1,94 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
<uml:Model xmi:id="_jfIcYJxgEeu216dzZOP2Cw" name="properties" URI="http://www.eclipse.org/papyrus/properties/0.9.0">
- <packageImport xmi:type="uml:PackageImport" xmi:id="_40LnAJxjEeu216dzZOP2Cw">
+ <packageImport xmi:id="_40LnAJxjEeu216dzZOP2Cw">
<importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
</packageImport>
<packagedElement xmi:type="uml:Package" xmi:id="_jfIcYZxgEeu216dzZOP2Cw" name="environment" URI="http://www.eclipse.org/papyrus/properties/environment/0.9">
<packagedElement xmi:type="uml:Class" xmi:id="_jfIcYpxgEeu216dzZOP2Cw" name="Environment">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfIcY5xgEeu216dzZOP2Cw">
+ <generalization xmi:id="_jfIcY5xgEeu216dzZOP2Cw">
<general xmi:type="uml:Class" href="../../org.eclipse.papyrus.infra.constraints/Model/Constraints.uml#_zg0XUpxgEeu216dzZOP2Cw"/>
</generalization>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcZJxgEeu216dzZOP2Cw" name="modelElementFactories" type="_jfIceZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcfJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcZJxgEeu216dzZOP2Cw" name="modelElementFactories" type="_jfIceZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcfJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcZZxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIcZpxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcZ5xgEeu216dzZOP2Cw" name="widgetTypes" type="_jfIcfpxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcjpxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcZ5xgEeu216dzZOP2Cw" name="widgetTypes" type="_jfIcfpxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcjpxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcaJxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIcaZxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcapxgEeu216dzZOP2Cw" name="propertyEditorTypes" type="_jfIckJxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcnJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcapxgEeu216dzZOP2Cw" name="propertyEditorTypes" type="_jfIckJxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcnJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIca5xgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIcbJxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcbZxgEeu216dzZOP2Cw" name="compositeWidgetTypes" type="_jfIcnpxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcoJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcbZxgEeu216dzZOP2Cw" name="compositeWidgetTypes" type="_jfIcnpxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcoJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcbpxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIcb5xgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIccJxgEeu216dzZOP2Cw" name="layoutTypes" type="_jfIcopxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcpJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIccJxgEeu216dzZOP2Cw" name="layoutTypes" type="_jfIcopxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcpJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIccZxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIccpxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcc5xgEeu216dzZOP2Cw" name="namespaces" type="_jfIchZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcppxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcc5xgEeu216dzZOP2Cw" name="namespaces" type="_jfIchZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcppxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcdJxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIcdZxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcdpxgEeu216dzZOP2Cw" name="miscClasses" type="_jfIcqJxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcsJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcdpxgEeu216dzZOP2Cw" name="miscClasses" type="_jfIcqJxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIcsJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcd5xgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIceJxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIceZxgEeu216dzZOP2Cw" name="ModelElementFactoryDescriptor">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcepxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIcepxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIce5xgEeu216dzZOP2Cw" name="factoryClass" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIce5xgEeu216dzZOP2Cw" name="factoryClass" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcfJxgEeu216dzZOP2Cw" memberEnd="_jfIcZJxgEeu216dzZOP2Cw _jfIcfZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIcfZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcfJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIcfZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcfJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIcfpxgEeu216dzZOP2Cw" name="StandardWidgetType">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfIcf5xgEeu216dzZOP2Cw" general="_jfIcgJxgEeu216dzZOP2Cw"/>
+ <generalization xmi:id="_jfIcf5xgEeu216dzZOP2Cw" general="_jfIcgJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIcgJxgEeu216dzZOP2Cw" name="WidgetType" isAbstract="true">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcgZxgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIcgZxgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcgpxgEeu216dzZOP2Cw" name="widgetClass" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIcgpxgEeu216dzZOP2Cw" name="widgetClass" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcg5xgEeu216dzZOP2Cw" name="namespace" type="_jfIchZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfIcjJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcg5xgEeu216dzZOP2Cw" name="namespace" type="_jfIchZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfIcjJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIchJxgEeu216dzZOP2Cw"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIchZxgEeu216dzZOP2Cw" name="Namespace">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIchpxgEeu216dzZOP2Cw" name="prefix" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIchpxgEeu216dzZOP2Cw" name="prefix" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIch5xgEeu216dzZOP2Cw"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_jfIciJxgEeu216dzZOP2Cw" value="clr-namespace">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIciZxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIciZxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcipxgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIci5xgEeu216dzZOP2Cw" name="value" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIci5xgEeu216dzZOP2Cw" name="value" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcjJxgEeu216dzZOP2Cw" memberEnd="_jfIcg5xgEeu216dzZOP2Cw _jfIcjZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIcjZxgEeu216dzZOP2Cw" type="_jfIcgJxgEeu216dzZOP2Cw" association="_jfIcjJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIcjZxgEeu216dzZOP2Cw" type="_jfIcgJxgEeu216dzZOP2Cw" association="_jfIcjJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcjpxgEeu216dzZOP2Cw" memberEnd="_jfIcZ5xgEeu216dzZOP2Cw _jfIcj5xgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIcj5xgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcjpxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIcj5xgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcjpxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIckJxgEeu216dzZOP2Cw" name="PropertyEditorType">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfIckZxgEeu216dzZOP2Cw" general="_jfIcgJxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIckpxgEeu216dzZOP2Cw" name="type" visibility="public" type="_jfIclZxgEeu216dzZOP2Cw" isOrdered="true"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIck5xgEeu216dzZOP2Cw" name="multiplicity" visibility="public" isOrdered="true">
+ <generalization xmi:id="_jfIckZxgEeu216dzZOP2Cw" general="_jfIcgJxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfIckpxgEeu216dzZOP2Cw" name="type" visibility="public" type="_jfIclZxgEeu216dzZOP2Cw" isOrdered="true"/>
+ <ownedAttribute xmi:id="_jfIck5xgEeu216dzZOP2Cw" name="multiplicity" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_jfIclJxgEeu216dzZOP2Cw" value="1">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
@@ -96,94 +96,94 @@
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Enumeration" xmi:id="_jfIclZxgEeu216dzZOP2Cw" name="Type">
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jfIclpxgEeu216dzZOP2Cw" name="String"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jfIcl5xgEeu216dzZOP2Cw" name="Boolean"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jfIcmJxgEeu216dzZOP2Cw" name="Integer"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jfIcmZxgEeu216dzZOP2Cw" name="Reference"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jfIcmpxgEeu216dzZOP2Cw" name="Enumeration"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jfIcm5xgEeu216dzZOP2Cw" name="Double"/>
+ <ownedLiteral xmi:id="_jfIclpxgEeu216dzZOP2Cw" name="String"/>
+ <ownedLiteral xmi:id="_jfIcl5xgEeu216dzZOP2Cw" name="Boolean"/>
+ <ownedLiteral xmi:id="_jfIcmJxgEeu216dzZOP2Cw" name="Integer"/>
+ <ownedLiteral xmi:id="_jfIcmZxgEeu216dzZOP2Cw" name="Reference"/>
+ <ownedLiteral xmi:id="_jfIcmpxgEeu216dzZOP2Cw" name="Enumeration"/>
+ <ownedLiteral xmi:id="_jfIcm5xgEeu216dzZOP2Cw" name="Double"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcnJxgEeu216dzZOP2Cw" memberEnd="_jfIcapxgEeu216dzZOP2Cw _jfIcnZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIcnZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcnJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIcnZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcnJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIcnpxgEeu216dzZOP2Cw" name="CompositeWidgetType">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfIcn5xgEeu216dzZOP2Cw" general="_jfIcgJxgEeu216dzZOP2Cw"/>
+ <generalization xmi:id="_jfIcn5xgEeu216dzZOP2Cw" general="_jfIcgJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcoJxgEeu216dzZOP2Cw" memberEnd="_jfIcbZxgEeu216dzZOP2Cw _jfIcoZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIcoZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcoJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIcoZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcoJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIcopxgEeu216dzZOP2Cw" name="LayoutType">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfIco5xgEeu216dzZOP2Cw" general="_jfIcgJxgEeu216dzZOP2Cw"/>
+ <generalization xmi:id="_jfIco5xgEeu216dzZOP2Cw" general="_jfIcgJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcpJxgEeu216dzZOP2Cw" memberEnd="_jfIccJxgEeu216dzZOP2Cw _jfIcpZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIcpZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcpJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIcpZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcpJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcppxgEeu216dzZOP2Cw" memberEnd="_jfIcc5xgEeu216dzZOP2Cw _jfIcp5xgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIcp5xgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcppxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIcp5xgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcppxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIcqJxgEeu216dzZOP2Cw" name="MiscClass">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcqZxgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIcqZxgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcqpxgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcq5xgEeu216dzZOP2Cw" name="class" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIcq5xgEeu216dzZOP2Cw" name="class" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcrJxgEeu216dzZOP2Cw" name="namespace" type="_jfIchZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfIcrpxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcrJxgEeu216dzZOP2Cw" name="namespace" type="_jfIchZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfIcrpxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcrZxgEeu216dzZOP2Cw"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcrpxgEeu216dzZOP2Cw" memberEnd="_jfIcrJxgEeu216dzZOP2Cw _jfIcr5xgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIcr5xgEeu216dzZOP2Cw" type="_jfIcqJxgEeu216dzZOP2Cw" association="_jfIcrpxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIcr5xgEeu216dzZOP2Cw" type="_jfIcqJxgEeu216dzZOP2Cw" association="_jfIcrpxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcsJxgEeu216dzZOP2Cw" memberEnd="_jfIcdpxgEeu216dzZOP2Cw _jfIcsZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIcsZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcsJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIcsZxgEeu216dzZOP2Cw" type="_jfIcYpxgEeu216dzZOP2Cw" association="_jfIcsJxgEeu216dzZOP2Cw"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_jfIcspxgEeu216dzZOP2Cw" name="contexts" URI="http://www.eclipse.org/papyrus/properties/contexts/0.9">
<packagedElement xmi:type="uml:Class" xmi:id="_jfIcs5xgEeu216dzZOP2Cw" name="Context">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfIctJxgEeu216dzZOP2Cw">
+ <generalization xmi:id="_jfIctJxgEeu216dzZOP2Cw">
<general xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EModelElement"/>
</generalization>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIctZxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
- <ownedComment xmi:type="uml:Comment" xmi:id="_jfIctpxgEeu216dzZOP2Cw" annotatedElement="_jfIctZxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIctZxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
+ <ownedComment xmi:id="_jfIctpxgEeu216dzZOP2Cw" annotatedElement="_jfIctZxgEeu216dzZOP2Cw">
<body>An unique name for the context, which is used in various components to
identify it.</body>
</ownedComment>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIct5xgEeu216dzZOP2Cw" name="dependencies" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfIcy5xgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIct5xgEeu216dzZOP2Cw" name="dependencies" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfIcy5xgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcuJxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIcuZxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcupxgEeu216dzZOP2Cw" name="tabs" type="_jfIczZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDh5xgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcupxgEeu216dzZOP2Cw" name="tabs" type="_jfIczZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDh5xgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcu5xgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIcvJxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcvZxgEeu216dzZOP2Cw" name="views" type="_jfJDiZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDlpxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcvZxgEeu216dzZOP2Cw" name="views" type="_jfJDiZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDlpxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcvpxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIcv5xgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcwJxgEeu216dzZOP2Cw" name="dataContexts" type="_jfJDmZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDn5xgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcwJxgEeu216dzZOP2Cw" name="dataContexts" type="_jfJDmZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDn5xgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcwZxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIcwpxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcw5xgEeu216dzZOP2Cw" name="prototype" type="_jfIcs5xgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDoZxgEeu216dzZOP2Cw">
- <ownedComment xmi:type="uml:Comment" xmi:id="_jfIcxJxgEeu216dzZOP2Cw" annotatedElement="_jfIcw5xgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcw5xgEeu216dzZOP2Cw" name="prototype" type="_jfIcs5xgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDoZxgEeu216dzZOP2Cw">
+ <ownedComment xmi:id="_jfIcxJxgEeu216dzZOP2Cw" annotatedElement="_jfIcw5xgEeu216dzZOP2Cw">
<body>References the context from which a context was copied. The context manager caches the prototype reference so that it can enable a prototype when the copied context is not available.</body>
</ownedComment>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcxZxgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcxpxgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
- <ownedComment xmi:type="uml:Comment" xmi:id="_jfIcx5xgEeu216dzZOP2Cw" annotatedElement="_jfIcxpxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcxpxgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
+ <ownedComment xmi:id="_jfIcx5xgEeu216dzZOP2Cw" annotatedElement="_jfIcxpxgEeu216dzZOP2Cw">
<body>A potentially translatable (localizable) label for presentation of the context
in the user interface. If absent, the name should be used in its place.</body>
</ownedComment>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIcyJxgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcyZxgEeu216dzZOP2Cw" name="userLabel" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
- <ownedComment xmi:type="uml:Comment" xmi:id="_jfIcypxgEeu216dzZOP2Cw" annotatedElement="_jfIcyZxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIcyZxgEeu216dzZOP2Cw" name="userLabel" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:id="_jfIcypxgEeu216dzZOP2Cw" annotatedElement="_jfIcyZxgEeu216dzZOP2Cw">
<body>A computed label for presentation to the user: the label, if available, otherwise
just the name of the context.</body>
</ownedComment>
@@ -191,295 +191,366 @@ just the name of the context.</body>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIcy5xgEeu216dzZOP2Cw" memberEnd="_jfIct5xgEeu216dzZOP2Cw _jfIczJxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIczJxgEeu216dzZOP2Cw" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfIcy5xgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIczJxgEeu216dzZOP2Cw" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfIcy5xgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIczZxgEeu216dzZOP2Cw" name="Tab">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIczpxgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIczpxgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIcz5xgEeu216dzZOP2Cw" name="id" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIcz5xgEeu216dzZOP2Cw" name="id" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc0JxgEeu216dzZOP2Cw" name="category" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIc0JxgEeu216dzZOP2Cw" name="category" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc0ZxgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc0pxgEeu216dzZOP2Cw" name="image" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIc0pxgEeu216dzZOP2Cw" name="image" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc05xgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc1JxgEeu216dzZOP2Cw" name="afterTab" type="_jfIczZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfIc4JxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIc1JxgEeu216dzZOP2Cw" name="afterTab" type="_jfIczZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfIc4JxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc1ZxgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc1pxgEeu216dzZOP2Cw" name="sections" type="_jfIc4pxgEeu216dzZOP2Cw" isOrdered="true" isDerived="true" subsettedProperty="_jfIc2ZxgEeu216dzZOP2Cw" association="_jfJDhpxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIc1pxgEeu216dzZOP2Cw" name="sections" type="_jfIc4pxgEeu216dzZOP2Cw" isOrdered="true" isDerived="true" subsettedProperty="_jfIc2ZxgEeu216dzZOP2Cw" association="_jfJDhpxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc15xgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIc2JxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc2ZxgEeu216dzZOP2Cw" name="allSections" type="_jfIc6JxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIc7JxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIc2ZxgEeu216dzZOP2Cw" name="allSections" type="_jfIc6JxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfIc7JxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc2pxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIc25xgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc3JxgEeu216dzZOP2Cw" name="indented" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIc3JxgEeu216dzZOP2Cw" name="indented" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
<defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_jfIc3ZxgEeu216dzZOP2Cw">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc3pxgEeu216dzZOP2Cw" name="priority" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIc3pxgEeu216dzZOP2Cw" name="priority" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc35xgEeu216dzZOP2Cw"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIc4JxgEeu216dzZOP2Cw" memberEnd="_jfIc1JxgEeu216dzZOP2Cw _jfIc4ZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfIc4ZxgEeu216dzZOP2Cw" type="_jfIczZxgEeu216dzZOP2Cw" association="_jfIc4JxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfIc4ZxgEeu216dzZOP2Cw" type="_jfIczZxgEeu216dzZOP2Cw" association="_jfIc4JxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIc4pxgEeu216dzZOP2Cw" name="Section">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfIc5JxgEeu216dzZOP2Cw" general="_jfIc6JxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc5ZxgEeu216dzZOP2Cw" name="sectionFile" visibility="public" isOrdered="true">
+ <generalization xmi:id="_jfIc5JxgEeu216dzZOP2Cw" general="_jfIc6JxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfIc5ZxgEeu216dzZOP2Cw" name="sectionFile" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc5pxgEeu216dzZOP2Cw" name="widget" type="_jfJD2pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDhJxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc55xgEeu216dzZOP2Cw" name="owner" type="_jfIczZxgEeu216dzZOP2Cw" isOrdered="true" isDerived="true" subsettedProperty="_jfIc65xgEeu216dzZOP2Cw" association="_jfJDhpxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfIc5pxgEeu216dzZOP2Cw" name="widget" type="_jfJD2pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDhJxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfIc55xgEeu216dzZOP2Cw" name="owner" type="_jfIczZxgEeu216dzZOP2Cw" isOrdered="true" isDerived="true" subsettedProperty="_jfIc65xgEeu216dzZOP2Cw" association="_jfJDhpxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_PQ3G4MqwEeuhj7ABGVZg5A" name="views" type="_jfJDiZxgEeu216dzZOP2Cw" isReadOnly="true" isDerived="true" association="_PQwZMMqwEeuhj7ABGVZg5A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PQ3t8MqwEeuhj7ABGVZg5A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PQ3t8cqwEeuhj7ABGVZg5A" value="*"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_pTka0MqwEeuhj7ABGVZg5A" name="getViews" visibility="protected" isQuery="true">
+ <ownedParameter xmi:id="_xZsNYMqwEeuhj7ABGVZg5A" name="result" type="_jfJDiZxgEeu216dzZOP2Cw" direction="return" effect="read">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_D6MesMqyEeuhj7ABGVZg5A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ek_IIMqyEeuhj7ABGVZg5A" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIc6JxgEeu216dzZOP2Cw" name="AbstractSection" isAbstract="true">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfIc6ZxgEeu216dzZOP2Cw">
+ <generalization xmi:id="_jfIc6ZxgEeu216dzZOP2Cw">
<general xmi:type="uml:Class" href="../../org.eclipse.papyrus.infra.constraints/Model/Constraints.uml#_zg0XW5xgEeu216dzZOP2Cw"/>
</generalization>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc6pxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
+ <generalization xmi:id="_vQel4MiGEeueo7rlLkmY8A" general="_oYyx0MiFEeueo7rlLkmY8A"/>
+ <ownedAttribute xmi:id="_jfIc6pxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc65xgEeu216dzZOP2Cw" name="tab" type="_jfIczZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfIc7JxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfIc65xgEeu216dzZOP2Cw" name="tab" type="_jfIczZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfIc7JxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfIc7JxgEeu216dzZOP2Cw" memberEnd="_jfIc2ZxgEeu216dzZOP2Cw _jfIc65xgEeu216dzZOP2Cw"/>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIc7ZxgEeu216dzZOP2Cw" name="Property">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc7pxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
+ <generalization xmi:id="_up_NoMiGEeueo7rlLkmY8A" general="_oYyx0MiFEeueo7rlLkmY8A"/>
+ <ownedAttribute xmi:id="_jfIc7pxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc75xgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIc75xgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc8JxgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc8ZxgEeu216dzZOP2Cw" name="type" visibility="public" type="_jfIclZxgEeu216dzZOP2Cw" isOrdered="true"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc8pxgEeu216dzZOP2Cw" name="contextElement" type="_jfIc_pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDeJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIc8ZxgEeu216dzZOP2Cw" name="type" visibility="public" type="_jfIclZxgEeu216dzZOP2Cw" isOrdered="true"/>
+ <ownedAttribute xmi:id="_jfIc8pxgEeu216dzZOP2Cw" name="contextElement" type="_jfIc_pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDeJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc85xgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc9JxgEeu216dzZOP2Cw" name="multiplicity" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIc9JxgEeu216dzZOP2Cw" name="multiplicity" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc9ZxgEeu216dzZOP2Cw" value="1">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc9pxgEeu216dzZOP2Cw" name="description" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfIc9pxgEeu216dzZOP2Cw" name="description" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc95xgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc-JxgEeu216dzZOP2Cw" name="redefinedProperties" type="_jfIc7ZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDgZxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIc-JxgEeu216dzZOP2Cw" name="redefinedProperties" type="_jfIc7ZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDgZxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc-ZxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIc-pxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc-5xgEeu216dzZOP2Cw" name="redefinedByProperties" type="_jfIc7ZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDgZxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfIc-5xgEeu216dzZOP2Cw" name="redefinedByProperties" type="_jfIc7ZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDgZxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfIc_JxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfIc_ZxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfIc_pxgEeu216dzZOP2Cw" name="DataContextElement">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfIc_5xgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
+ <generalization xmi:id="_uJ0f0MiGEeueo7rlLkmY8A" general="_oYyx0MiFEeueo7rlLkmY8A"/>
+ <ownedAttribute xmi:id="_jfIc_5xgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDcJxgEeu216dzZOP2Cw" name="properties" type="_jfIc7ZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDeJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfJDcJxgEeu216dzZOP2Cw" name="properties" type="_jfIc7ZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDeJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDcZxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfJDcpxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDc5xgEeu216dzZOP2Cw" name="package" type="_jfJDeZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDfpxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfJDc5xgEeu216dzZOP2Cw" name="package" type="_jfJDeZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDfpxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDdJxgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDdZxgEeu216dzZOP2Cw" name="supertypes" type="_jfIc_pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDf5xgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfJDdZxgEeu216dzZOP2Cw" name="supertypes" type="_jfIc_pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDf5xgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDdpxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfJDd5xgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDeJxgEeu216dzZOP2Cw" memberEnd="_jfJDcJxgEeu216dzZOP2Cw _jfIc8pxgEeu216dzZOP2Cw"/>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDeZxgEeu216dzZOP2Cw" name="DataContextPackage">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDepxgEeu216dzZOP2Cw" general="_jfIc_pxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDe5xgEeu216dzZOP2Cw" name="elements" type="_jfIc_pxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDfpxgEeu216dzZOP2Cw">
+ <generalization xmi:id="_jfJDepxgEeu216dzZOP2Cw" general="_jfIc_pxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDe5xgEeu216dzZOP2Cw" name="elements" type="_jfIc_pxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDfpxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDfJxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfJDfZxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDfpxgEeu216dzZOP2Cw" memberEnd="_jfJDe5xgEeu216dzZOP2Cw _jfJDc5xgEeu216dzZOP2Cw"/>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDf5xgEeu216dzZOP2Cw" memberEnd="_jfJDdZxgEeu216dzZOP2Cw _jfJDgJxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDgJxgEeu216dzZOP2Cw" type="_jfIc_pxgEeu216dzZOP2Cw" association="_jfJDf5xgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDgJxgEeu216dzZOP2Cw" type="_jfIc_pxgEeu216dzZOP2Cw" association="_jfJDf5xgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDgZxgEeu216dzZOP2Cw" memberEnd="_jfIc-5xgEeu216dzZOP2Cw _jfIc-JxgEeu216dzZOP2Cw"/>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDgpxgEeu216dzZOP2Cw" name="UnknownProperty">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDg5xgEeu216dzZOP2Cw" general="_jfIc7ZxgEeu216dzZOP2Cw"/>
+ <generalization xmi:id="_jfJDg5xgEeu216dzZOP2Cw" general="_jfIc7ZxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDhJxgEeu216dzZOP2Cw" memberEnd="_jfIc5pxgEeu216dzZOP2Cw _jfJDhZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDhZxgEeu216dzZOP2Cw" type="_jfIc4pxgEeu216dzZOP2Cw" association="_jfJDhJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDhZxgEeu216dzZOP2Cw" type="_jfIc4pxgEeu216dzZOP2Cw" association="_jfJDhJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDhpxgEeu216dzZOP2Cw" memberEnd="_jfIc1pxgEeu216dzZOP2Cw _jfIc55xgEeu216dzZOP2Cw"/>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDh5xgEeu216dzZOP2Cw" memberEnd="_jfIcupxgEeu216dzZOP2Cw _jfJDiJxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDiJxgEeu216dzZOP2Cw" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfJDh5xgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDiJxgEeu216dzZOP2Cw" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfJDh5xgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDiZxgEeu216dzZOP2Cw" name="View">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDipxgEeu216dzZOP2Cw">
+ <generalization xmi:id="_jfJDipxgEeu216dzZOP2Cw">
<general xmi:type="uml:Class" href="../../org.eclipse.papyrus.infra.constraints/Model/Constraints.uml#_zg0XW5xgEeu216dzZOP2Cw"/>
</generalization>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDi5xgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
+ <generalization xmi:id="_v4RlsMiGEeueo7rlLkmY8A" general="_oYyx0MiFEeueo7rlLkmY8A"/>
+ <ownedAttribute xmi:id="_jfJDi5xgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDjJxgEeu216dzZOP2Cw" name="sections" type="_jfIc4pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDlJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfJDjJxgEeu216dzZOP2Cw" name="sections" type="_jfIc4pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDlJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDjZxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfJDjpxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDj5xgEeu216dzZOP2Cw" name="context" type="_jfIcs5xgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDlpxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDkJxgEeu216dzZOP2Cw" name="automaticContext" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfJDj5xgEeu216dzZOP2Cw" name="context" type="_jfIcs5xgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDlpxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDkJxgEeu216dzZOP2Cw" name="automaticContext" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDkZxgEeu216dzZOP2Cw" name="datacontexts" type="_jfIc_pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDl5xgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfJDkZxgEeu216dzZOP2Cw" name="datacontexts" type="_jfIc_pxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDl5xgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDkpxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfJDk5xgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDlJxgEeu216dzZOP2Cw" memberEnd="_jfJDjJxgEeu216dzZOP2Cw _jfJDlZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDlZxgEeu216dzZOP2Cw" type="_jfJDiZxgEeu216dzZOP2Cw" association="_jfJDlJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDlZxgEeu216dzZOP2Cw" type="_jfJDiZxgEeu216dzZOP2Cw" association="_jfJDlJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDlpxgEeu216dzZOP2Cw" memberEnd="_jfIcvZxgEeu216dzZOP2Cw _jfJDj5xgEeu216dzZOP2Cw"/>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDl5xgEeu216dzZOP2Cw" memberEnd="_jfJDkZxgEeu216dzZOP2Cw _jfJDmJxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDmJxgEeu216dzZOP2Cw" type="_jfJDiZxgEeu216dzZOP2Cw" association="_jfJDl5xgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDmJxgEeu216dzZOP2Cw" type="_jfJDiZxgEeu216dzZOP2Cw" association="_jfJDl5xgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDmZxgEeu216dzZOP2Cw" name="DataContextRoot">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDmpxgEeu216dzZOP2Cw" general="_jfJDeZxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDm5xgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
+ <generalization xmi:id="_jfJDmpxgEeu216dzZOP2Cw" general="_jfJDeZxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDm5xgEeu216dzZOP2Cw" name="label" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDnJxgEeu216dzZOP2Cw" name="modelElementFactory" type="_jfIceZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDnZxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDnJxgEeu216dzZOP2Cw" name="modelElementFactory" type="_jfIceZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDnZxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDnZxgEeu216dzZOP2Cw" memberEnd="_jfJDnJxgEeu216dzZOP2Cw _jfJDnpxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDnpxgEeu216dzZOP2Cw" type="_jfJDmZxgEeu216dzZOP2Cw" association="_jfJDnZxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDnpxgEeu216dzZOP2Cw" type="_jfJDmZxgEeu216dzZOP2Cw" association="_jfJDnZxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDn5xgEeu216dzZOP2Cw" memberEnd="_jfIcwJxgEeu216dzZOP2Cw _jfJDoJxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDoJxgEeu216dzZOP2Cw" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfJDn5xgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDoJxgEeu216dzZOP2Cw" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfJDn5xgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDoZxgEeu216dzZOP2Cw" memberEnd="_jfIcw5xgEeu216dzZOP2Cw _jfJDopxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDopxgEeu216dzZOP2Cw" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfJDoZxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDopxgEeu216dzZOP2Cw" type="_jfIcs5xgEeu216dzZOP2Cw" association="_jfJDoZxgEeu216dzZOP2Cw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_lBHrYMiFEeueo7rlLkmY8A" name="Annotation">
+ <ownedAttribute xmi:id="_udSq4MiFEeueo7rlLkmY8A" name="element" type="_oYyx0MiFEeueo7rlLkmY8A" association="_ucxGcMiFEeueo7rlLkmY8A"/>
+ <ownedAttribute xmi:id="_95EcYMiFEeueo7rlLkmY8A" name="source">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_O6YoUMiGEeueo7rlLkmY8A" name="references" association="_O6XaMMiGEeueo7rlLkmY8A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_O6YoUciGEeueo7rlLkmY8A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_O6YoUsiGEeueo7rlLkmY8A" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_WBGzYciGEeueo7rlLkmY8A" name="details" aggregation="composite" association="_WBGMUMiGEeueo7rlLkmY8A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EStringToStringMapEntry"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WBGzYsiGEeueo7rlLkmY8A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WBGzY8iGEeueo7rlLkmY8A" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_oYyx0MiFEeueo7rlLkmY8A" name="Annotatable" isAbstract="true">
+ <ownedAttribute xmi:id="_uc0w0MiFEeueo7rlLkmY8A" name="annotations" type="_lBHrYMiFEeueo7rlLkmY8A" aggregation="composite" association="_ucxGcMiFEeueo7rlLkmY8A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uc5CQMiFEeueo7rlLkmY8A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_udGdoMiFEeueo7rlLkmY8A" value="*"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_1MRO4MiGEeueo7rlLkmY8A" name="getAnnotation">
+ <ownedParameter xmi:id="_6yq2sMiGEeueo7rlLkmY8A" name="source" effect="read">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_BOLhkMiHEeueo7rlLkmY8A" type="_lBHrYMiFEeueo7rlLkmY8A" direction="return" effect="read"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ucxGcMiFEeueo7rlLkmY8A" memberEnd="_uc0w0MiFEeueo7rlLkmY8A _udSq4MiFEeueo7rlLkmY8A">
+ <eAnnotations xmi:id="_uczisMiFEeueo7rlLkmY8A" source="org.eclipse.papyrus">
+ <details xmi:id="_uczisciFEeueo7rlLkmY8A" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_O6XaMMiGEeueo7rlLkmY8A" memberEnd="_O6YoUMiGEeueo7rlLkmY8A _O6YoU8iGEeueo7rlLkmY8A">
+ <eAnnotations xmi:id="_O6YBQMiGEeueo7rlLkmY8A" source="org.eclipse.papyrus">
+ <details xmi:id="_O6YBQciGEeueo7rlLkmY8A" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:id="_O6YoU8iGEeueo7rlLkmY8A" name="annotation" type="_lBHrYMiFEeueo7rlLkmY8A" association="_O6XaMMiGEeueo7rlLkmY8A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SES_kMiGEeueo7rlLkmY8A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SEd-sMiGEeueo7rlLkmY8A" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_WBGMUMiGEeueo7rlLkmY8A" memberEnd="_WBGzYciGEeueo7rlLkmY8A _WBGzZMiGEeueo7rlLkmY8A">
+ <eAnnotations xmi:id="_WBGMUciGEeueo7rlLkmY8A" source="org.eclipse.papyrus">
+ <details xmi:id="_WBGzYMiGEeueo7rlLkmY8A" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:id="_WBGzZMiGEeueo7rlLkmY8A" name="annotation" type="_lBHrYMiFEeueo7rlLkmY8A" association="_WBGMUMiGEeueo7rlLkmY8A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_PQwZMMqwEeuhj7ABGVZg5A" memberEnd="_PQ3G4MqwEeuhj7ABGVZg5A _PQ3t8sqwEeuhj7ABGVZg5A">
+ <eAnnotations xmi:id="_PQ14wMqwEeuhj7ABGVZg5A" source="org.eclipse.papyrus">
+ <details xmi:id="_PQ2f0MqwEeuhj7ABGVZg5A" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:id="_PQ3t8sqwEeuhj7ABGVZg5A" name="section" type="_jfIc4pxgEeu216dzZOP2Cw" association="_PQwZMMqwEeuhj7ABGVZg5A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cpMZ8MqwEeuhj7ABGVZg5A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cpbDcMqwEeuhj7ABGVZg5A" value="*"/>
+ </ownedEnd>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_jfJDo5xgEeu216dzZOP2Cw" name="ui" URI="http://www.eclipse.org/papyrus/properties/ui/0.9">
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDpJxgEeu216dzZOP2Cw" name="Element"/>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDpZxgEeu216dzZOP2Cw" name="UIComponent" isAbstract="true">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDppxgEeu216dzZOP2Cw" general="_jfJDpJxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDp5xgEeu216dzZOP2Cw" name="attributes" type="_jfJDqpxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDrZxgEeu216dzZOP2Cw">
+ <generalization xmi:id="_jfJDppxgEeu216dzZOP2Cw" general="_jfJDpJxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDp5xgEeu216dzZOP2Cw" name="attributes" type="_jfJDqpxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDrZxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDqJxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfJDqZxgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDqpxgEeu216dzZOP2Cw" name="WidgetAttribute" isAbstract="true">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDq5xgEeu216dzZOP2Cw" general="_jfJDpJxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDrJxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
+ <generalization xmi:id="_jfJDq5xgEeu216dzZOP2Cw" general="_jfJDpJxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDrJxgEeu216dzZOP2Cw" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDrZxgEeu216dzZOP2Cw" memberEnd="_jfJDp5xgEeu216dzZOP2Cw _jfJDrpxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDrpxgEeu216dzZOP2Cw" type="_jfJDpZxgEeu216dzZOP2Cw" association="_jfJDrZxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDrpxgEeu216dzZOP2Cw" type="_jfJDpZxgEeu216dzZOP2Cw" association="_jfJDrZxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDr5xgEeu216dzZOP2Cw" name="Widget" isAbstract="true">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDsJxgEeu216dzZOP2Cw" general="_jfJDpZxgEeu216dzZOP2Cw"/>
+ <generalization xmi:id="_jfJDsJxgEeu216dzZOP2Cw" general="_jfJDpZxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDsZxgEeu216dzZOP2Cw" name="StandardWidget">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDspxgEeu216dzZOP2Cw" general="_jfJDr5xgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDs5xgEeu216dzZOP2Cw" name="widgetType" type="_jfIcfpxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDtJxgEeu216dzZOP2Cw"/>
+ <generalization xmi:id="_jfJDspxgEeu216dzZOP2Cw" general="_jfJDr5xgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDs5xgEeu216dzZOP2Cw" name="widgetType" type="_jfIcfpxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDtJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDtJxgEeu216dzZOP2Cw" memberEnd="_jfJDs5xgEeu216dzZOP2Cw _jfJDtZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDtZxgEeu216dzZOP2Cw" type="_jfJDsZxgEeu216dzZOP2Cw" association="_jfJDtJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDtZxgEeu216dzZOP2Cw" type="_jfJDsZxgEeu216dzZOP2Cw" association="_jfJDtJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDtpxgEeu216dzZOP2Cw" name="PropertyEditor">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDt5xgEeu216dzZOP2Cw" general="_jfJDr5xgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDuJxgEeu216dzZOP2Cw" name="property" type="_jfIc7ZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDxJxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDuZxgEeu216dzZOP2Cw" name="readOnly" visibility="public" isOrdered="true">
+ <generalization xmi:id="_jfJDt5xgEeu216dzZOP2Cw" general="_jfJDr5xgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDuJxgEeu216dzZOP2Cw" name="property" type="_jfIc7ZxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDxJxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDuZxgEeu216dzZOP2Cw" name="readOnly" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
<defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_jfJDupxgEeu216dzZOP2Cw">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDu5xgEeu216dzZOP2Cw" name="widgetType" type="_jfIckJxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDxpxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDvJxgEeu216dzZOP2Cw" name="unresolvedProperty" type="_jfJDgpxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDyJxgEeu216dzZOP2Cw">
+ <ownedAttribute xmi:id="_jfJDu5xgEeu216dzZOP2Cw" name="widgetType" type="_jfIckJxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJDxpxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDvJxgEeu216dzZOP2Cw" name="unresolvedProperty" type="_jfJDgpxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJDyJxgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDvZxgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDvpxgEeu216dzZOP2Cw" name="contentProviderClass" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfJDvpxgEeu216dzZOP2Cw" name="contentProviderClass" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDv5xgEeu216dzZOP2Cw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDwJxgEeu216dzZOP2Cw" name="showLabel" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfJDwJxgEeu216dzZOP2Cw" name="showLabel" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
<defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_jfJDwZxgEeu216dzZOP2Cw" value="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDwpxgEeu216dzZOP2Cw" name="customLabel" visibility="public" isOrdered="true">
+ <ownedAttribute xmi:id="_jfJDwpxgEeu216dzZOP2Cw" name="customLabel" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJDw5xgEeu216dzZOP2Cw"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDxJxgEeu216dzZOP2Cw" memberEnd="_jfJDuJxgEeu216dzZOP2Cw _jfJDxZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDxZxgEeu216dzZOP2Cw" type="_jfJDtpxgEeu216dzZOP2Cw" association="_jfJDxJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDxZxgEeu216dzZOP2Cw" type="_jfJDtpxgEeu216dzZOP2Cw" association="_jfJDxJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDxpxgEeu216dzZOP2Cw" memberEnd="_jfJDu5xgEeu216dzZOP2Cw _jfJDx5xgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDx5xgEeu216dzZOP2Cw" type="_jfJDtpxgEeu216dzZOP2Cw" association="_jfJDxpxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDx5xgEeu216dzZOP2Cw" type="_jfJDtpxgEeu216dzZOP2Cw" association="_jfJDxpxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJDyJxgEeu216dzZOP2Cw" memberEnd="_jfJDvJxgEeu216dzZOP2Cw _jfJDyZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJDyZxgEeu216dzZOP2Cw" type="_jfJDtpxgEeu216dzZOP2Cw" association="_jfJDyJxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJDyZxgEeu216dzZOP2Cw" type="_jfJDtpxgEeu216dzZOP2Cw" association="_jfJDyJxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDypxgEeu216dzZOP2Cw" name="UnknownComponent">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDy5xgEeu216dzZOP2Cw" general="_jfJDr5xgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDzJxgEeu216dzZOP2Cw" name="typeName" visibility="public" isOrdered="true">
+ <generalization xmi:id="_jfJDy5xgEeu216dzZOP2Cw" general="_jfJDr5xgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDzJxgEeu216dzZOP2Cw" name="typeName" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJDzZxgEeu216dzZOP2Cw" name="Layout">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJDzpxgEeu216dzZOP2Cw" general="_jfJDpZxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJDz5xgEeu216dzZOP2Cw" name="layoutType" type="_jfIcopxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJD0JxgEeu216dzZOP2Cw"/>
+ <generalization xmi:id="_jfJDzpxgEeu216dzZOP2Cw" general="_jfJDpZxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJDz5xgEeu216dzZOP2Cw" name="layoutType" type="_jfIcopxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJD0JxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJD0JxgEeu216dzZOP2Cw" memberEnd="_jfJDz5xgEeu216dzZOP2Cw _jfJD0ZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJD0ZxgEeu216dzZOP2Cw" type="_jfJDzZxgEeu216dzZOP2Cw" association="_jfJD0JxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJD0ZxgEeu216dzZOP2Cw" type="_jfJDzZxgEeu216dzZOP2Cw" association="_jfJD0JxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJD0pxgEeu216dzZOP2Cw" name="ValueAttribute">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJD05xgEeu216dzZOP2Cw" general="_jfJDqpxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJD1JxgEeu216dzZOP2Cw" name="value" visibility="public" isOrdered="true">
+ <generalization xmi:id="_jfJD05xgEeu216dzZOP2Cw" general="_jfJDqpxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJD1JxgEeu216dzZOP2Cw" name="value" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJD1ZxgEeu216dzZOP2Cw" name="ReferenceAttribute">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJD1pxgEeu216dzZOP2Cw" general="_jfJDqpxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJD15xgEeu216dzZOP2Cw" name="value" type="_jfJDpZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJD2JxgEeu216dzZOP2Cw"/>
+ <generalization xmi:id="_jfJD1pxgEeu216dzZOP2Cw" general="_jfJDqpxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJD15xgEeu216dzZOP2Cw" name="value" type="_jfJDpZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJD2JxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJD2JxgEeu216dzZOP2Cw" memberEnd="_jfJD15xgEeu216dzZOP2Cw _jfJD2ZxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJD2ZxgEeu216dzZOP2Cw" type="_jfJD1ZxgEeu216dzZOP2Cw" association="_jfJD2JxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJD2ZxgEeu216dzZOP2Cw" type="_jfJD1ZxgEeu216dzZOP2Cw" association="_jfJD2JxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jfJD2pxgEeu216dzZOP2Cw" name="CompositeWidget">
- <generalization xmi:type="uml:Generalization" xmi:id="_jfJD25xgEeu216dzZOP2Cw" general="_jfJDr5xgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJD3JxgEeu216dzZOP2Cw" name="layout" type="_jfJDzZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJD4ZxgEeu216dzZOP2Cw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJD3ZxgEeu216dzZOP2Cw" name="widgets" type="_jfJDr5xgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJD45xgEeu216dzZOP2Cw">
+ <generalization xmi:id="_jfJD25xgEeu216dzZOP2Cw" general="_jfJDr5xgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJD3JxgEeu216dzZOP2Cw" name="layout" type="_jfJDzZxgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJD4ZxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJD3ZxgEeu216dzZOP2Cw" name="widgets" type="_jfJDr5xgEeu216dzZOP2Cw" isOrdered="true" aggregation="composite" association="_jfJD45xgEeu216dzZOP2Cw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jfJD3pxgEeu216dzZOP2Cw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jfJD35xgEeu216dzZOP2Cw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jfJD4JxgEeu216dzZOP2Cw" name="widgetType" type="_jfIcnpxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJD5ZxgEeu216dzZOP2Cw"/>
+ <ownedAttribute xmi:id="_jfJD4JxgEeu216dzZOP2Cw" name="widgetType" type="_jfIcnpxgEeu216dzZOP2Cw" isOrdered="true" association="_jfJD5ZxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJD4ZxgEeu216dzZOP2Cw" memberEnd="_jfJD3JxgEeu216dzZOP2Cw _jfJD4pxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJD4pxgEeu216dzZOP2Cw" type="_jfJD2pxgEeu216dzZOP2Cw" association="_jfJD4ZxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJD4pxgEeu216dzZOP2Cw" type="_jfJD2pxgEeu216dzZOP2Cw" association="_jfJD4ZxgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJD45xgEeu216dzZOP2Cw" memberEnd="_jfJD3ZxgEeu216dzZOP2Cw _jfJD5JxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJD5JxgEeu216dzZOP2Cw" type="_jfJD2pxgEeu216dzZOP2Cw" association="_jfJD45xgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJD5JxgEeu216dzZOP2Cw" type="_jfJD2pxgEeu216dzZOP2Cw" association="_jfJD45xgEeu216dzZOP2Cw"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jfJD5ZxgEeu216dzZOP2Cw" memberEnd="_jfJD4JxgEeu216dzZOP2Cw _jfJD5pxgEeu216dzZOP2Cw">
- <ownedEnd xmi:type="uml:Property" xmi:id="_jfJD5pxgEeu216dzZOP2Cw" type="_jfJD2pxgEeu216dzZOP2Cw" association="_jfJD5ZxgEeu216dzZOP2Cw"/>
+ <ownedEnd xmi:id="_jfJD5pxgEeu216dzZOP2Cw" type="_jfJD2pxgEeu216dzZOP2Cw" association="_jfJD5ZxgEeu216dzZOP2Cw"/>
</packagedElement>
</packagedElement>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jfJD55xgEeu216dzZOP2Cw">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jfJD6JxgEeu216dzZOP2Cw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:id="_jfJD55xgEeu216dzZOP2Cw">
+ <eAnnotations xmi:id="_jfJD6JxgEeu216dzZOP2Cw" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
</eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
</profileApplication>
</uml:Model>
<Ecore:EPackage xmi:id="_jfJD6ZxgEeu216dzZOP2Cw" base_Package="_jfIcYJxgEeu216dzZOP2Cw" nsPrefix="properties"/>
@@ -564,4 +635,7 @@ just the name of the context.</body>
<Ecore:EReference xmi:id="_jfMGzZxgEeu216dzZOP2Cw" base_Property="_jfJD3JxgEeu216dzZOP2Cw"/>
<Ecore:EReference xmi:id="_jfMGzpxgEeu216dzZOP2Cw" base_Property="_jfJD3ZxgEeu216dzZOP2Cw"/>
<Ecore:EReference xmi:id="_jfMGz5xgEeu216dzZOP2Cw" base_Property="_jfJD4JxgEeu216dzZOP2Cw"/>
+ <Ecore:EClass xmi:id="_ntz7IMiFEeueo7rlLkmY8A" base_Class="_lBHrYMiFEeueo7rlLkmY8A"/>
+ <Ecore:EClass xmi:id="_p7SfUMiFEeueo7rlLkmY8A" base_Class="_oYyx0MiFEeueo7rlLkmY8A"/>
+ <Ecore:EOperation xmi:id="_z880UMqwEeuhj7ABGVZg5A" base_Operation="_pTka0MqwEeuhj7ABGVZg5A" visibility="None"/>
</xmi:XMI>
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/build.properties b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/build.properties
index f06fb5850c3..26ffc1b5551 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/build.properties
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/build.properties
@@ -11,4 +11,4 @@ bin.includes = .,\
jars.compile.order=.
src.includes = about.html
source.. = src-gen/,\
- src/ \ No newline at end of file
+ src/
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.properties b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.properties
index 926cd0a2fee..52ef49b5e4f 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.properties
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2016 CEA LIST, Christian W. Damus, and others.
+# Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
@@ -10,7 +10,7 @@
#
# Contributors:
# CEA LIST - Initial API and implementation
-# Christian W. Damus - bug 485220
+# Christian W. Damus - bugs 485220, 573986
#
pluginName = Papyrus properties model
providerName = Eclipse Modeling Project
@@ -19,3 +19,5 @@ pluginDescription=An EMF Model for defining a Property view configuration. It co
extension-point.contexts = Properties Contexts
extension-point.environment = Properties Environments
+_UI_Environment_content_type = Papyrus Properties Environment Model File
+_UI_Contexts_content_type = Papyrus Properties Context Model File
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.xml b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.xml
index 72cce9d2b94..7b71f1f60e4 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.xml
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
- Copyright (c) 2011, 2016 CEA LIST, Christian W. Damus, and others.
+ Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
@@ -12,7 +12,7 @@
Contributors:
CEA LIST - Initial API and implementation
- Christian W. Damus - bug 485220
+ Christian W. Damus - bugs 485220, 573986
-->
<plugin>
<extension-point id="contexts" name="%extension-point.contexts" schema="schema/contexts.exsd"/>
@@ -25,13 +25,28 @@
genModel="Model/properties.genmodel"/>
</extension>
- <extension point="org.eclipse.emf.ecore.extension_parser">
- <!-- @generated Properties -->
+ <extension point="org.eclipse.emf.ecore.content_parser">
+ <!-- @generated properties -->
<parser
- type="environment"
+ contentTypeIdentifier="org.eclipse.papyrus.infra.properties.environment"
class="org.eclipse.papyrus.infra.properties.environment.util.EnvironmentResourceFactoryImpl"/>
</extension>
+ <extension point="org.eclipse.core.contenttype.contentTypes">
+ <!-- @generated properties -->
+ <content-type
+ base-type="org.eclipse.emf.ecore.xmi"
+ file-extensions="environment,xmi"
+ id="org.eclipse.papyrus.infra.properties.environment"
+ name="%_UI_Environment_content_type"
+ priority="normal">
+ <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <parameter name="namespace" value="http://www.eclipse.org/papyrus/properties/environment/0.9"/>
+ <parameter name="kind" value="xmi"/>
+ </describer>
+ </content-type>
+ </extension>
+
<extension point="org.eclipse.emf.ecore.generated_package">
<package
uri="http://www.eclipse.org/papyrus/properties/contexts/0.9"
@@ -39,13 +54,27 @@
genModel="Model/properties.genmodel"/>
</extension>
- <extension point="org.eclipse.emf.ecore.extension_parser">
- <!-- @generated Properties -->
+ <extension point="org.eclipse.emf.ecore.content_parser">
<parser
- type="ctx"
+ contentTypeIdentifier="org.eclipse.papyrus.infra.properties.context"
class="org.eclipse.papyrus.infra.properties.contexts.util.ContextsResourceFactoryImpl"/>
</extension>
+ <extension point="org.eclipse.core.contenttype.contentTypes">
+ <!-- @generated properties -->
+ <content-type
+ base-type="org.eclipse.emf.ecore.xmi"
+ file-extensions="ctx"
+ id="org.eclipse.papyrus.infra.properties.context"
+ name="%_UI_Contexts_content_type"
+ priority="normal">
+ <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <parameter name="namespace" value="http://www.eclipse.org/papyrus/properties/contexts/0.9"/>
+ <parameter name="kind" value="xmi"/>
+ </describer>
+ </content-type>
+ </extension>
+
<extension point="org.eclipse.emf.ecore.generated_package">
<package
uri="http://www.eclipse.org/papyrus/properties/ui/0.9"
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/AbstractSection.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/AbstractSection.java
index 956bd83c774..645cbb9f3ad 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/AbstractSection.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/AbstractSection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2011-2021 CEA LIST and others.
+ * Copyright (c) 2011-2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* Remi Schnekenburger - Initial API and implementation
+ * Christian W. Damus - bug 573986
*/
package org.eclipse.papyrus.infra.properties.contexts;
@@ -32,7 +33,7 @@ import org.eclipse.papyrus.infra.constraints.DisplayUnit;
* @model abstract="true"
* @generated
*/
-public interface AbstractSection extends DisplayUnit {
+public interface AbstractSection extends DisplayUnit, Annotatable {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotatable.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotatable.java
new file mode 100644
index 00000000000..c63ae0fc16a
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotatable.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2021 Christian W. Damus, 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:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.properties.contexts;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Annotatable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.Annotatable#getAnnotations <em>Annotations</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.infra.properties.contexts.ContextsPackage#getAnnotatable()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Annotatable extends EObject {
+ /**
+ * Returns the value of the '<em><b>Annotations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.properties.contexts.Annotation}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Annotations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Annotations</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.properties.contexts.ContextsPackage#getAnnotatable_Annotations()
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotation#getElement
+ * @model opposite="element" containment="true" ordered="false"
+ * @generated
+ */
+ EList<Annotation> getAnnotations();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model required="true" ordered="false" sourceDataType="org.eclipse.uml2.types.String" sourceRequired="true" sourceOrdered="false"
+ * @generated
+ */
+ Annotation getAnnotation(String source);
+
+} // Annotatable
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotation.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotation.java
new file mode 100644
index 00000000000..ce79bd51cd2
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotation.java
@@ -0,0 +1,128 @@
+/**
+ * Copyright (c) 2021 Christian W. Damus, 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:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.properties.contexts;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getReferences <em>References</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getDetails <em>Details</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.infra.properties.contexts.ContextsPackage#getAnnotation()
+ * @model
+ * @generated
+ */
+public interface Annotation extends EObject {
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source</em>' attribute.
+ * @see #setSource(String)
+ * @see org.eclipse.papyrus.infra.properties.contexts.ContextsPackage#getAnnotation_Source()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getSource <em>Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source</em>' attribute.
+ * @see #getSource()
+ * @generated
+ */
+ void setSource(String value);
+
+ /**
+ * Returns the value of the '<em><b>References</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>References</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>References</em>' reference list.
+ * @see org.eclipse.papyrus.infra.properties.contexts.ContextsPackage#getAnnotation_References()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<EObject> getReferences();
+
+ /**
+ * Returns the value of the '<em><b>Details</b></em>' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link java.lang.String},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Details</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Details</em>' map.
+ * @see org.eclipse.papyrus.infra.properties.contexts.ContextsPackage#getAnnotation_Details()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry&lt;org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString&gt;" ordered="false"
+ * @generated
+ */
+ EMap<String, String> getDetails();
+
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.infra.properties.contexts.Annotatable#getAnnotations <em>Annotations</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element</em>' container reference.
+ * @see #setElement(Annotatable)
+ * @see org.eclipse.papyrus.infra.properties.contexts.ContextsPackage#getAnnotation_Element()
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotatable#getAnnotations
+ * @model opposite="annotations" required="true" transient="false" ordered="false"
+ * @generated
+ */
+ Annotatable getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getElement <em>Element</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' container reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(Annotatable value);
+
+} // Annotation
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Context.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Context.java
index 98b692999ff..b8b72318dc0 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Context.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Context.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2015 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,7 +11,7 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Christian W. Damus - add prototype reference to Context (CDO)
- * Christian W. Damus - bug 482927
+ * Christian W. Damus - bugs 482927, 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsFactory.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsFactory.java
index 37dbb88457e..c2c6a6b3db6 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsFactory.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsFactory.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
@@ -69,6 +70,15 @@ public interface ContextsFactory extends EFactory {
Section createSection();
/**
+ * Returns a new object of class '<em>Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Annotation</em>'.
+ * @generated
+ */
+ Annotation createAnnotation();
+
+ /**
* Returns a new object of class '<em>Data Context Element</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsPackage.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsPackage.java
index a69aaa25587..e2e563251e2 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsPackage.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsPackage.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2015, 2017 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,13 +11,14 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Christian W. Damus - add prototype reference to Context (CDO)
- * Christian W. Damus - bug 482927
+ * Christian W. Damus - bugs 482927, 573986
* Vincent Lorenzo - Bug 520271
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EcorePackage;
@@ -65,6 +66,14 @@ public interface ContextsPackage extends EPackage {
String eNS_PREFIX = "contexts";
/**
+ * The package content type ID.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eCONTENT_TYPE = "org.eclipse.papyrus.infra.properties.context"; //$NON-NLS-1$
+
+ /**
* The singleton instance of the package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -307,7 +316,7 @@ public interface ContextsPackage extends EPackage {
* @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getView()
* @generated
*/
- int VIEW = 8;
+ int VIEW = 10;
/**
* The meta object id for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.AbstractSectionImpl <em>Abstract Section</em>}' class.
@@ -338,13 +347,22 @@ public interface ContextsPackage extends EPackage {
int ABSTRACT_SECTION__ELEMENT_MULTIPLICITY = ConstraintsPackage.DISPLAY_UNIT__ELEMENT_MULTIPLICITY;
/**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_SECTION__ANNOTATIONS = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 0;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int ABSTRACT_SECTION__NAME = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 0;
+ int ABSTRACT_SECTION__NAME = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Tab</b></em>' container reference.
@@ -353,7 +371,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int ABSTRACT_SECTION__TAB = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 1;
+ int ABSTRACT_SECTION__TAB = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 2;
/**
* The number of structural features of the '<em>Abstract Section</em>' class.
@@ -362,7 +380,16 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int ABSTRACT_SECTION_FEATURE_COUNT = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 2;
+ int ABSTRACT_SECTION_FEATURE_COUNT = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Get Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_SECTION___GET_ANNOTATION__STRING = ConstraintsPackage.DISPLAY_UNIT_OPERATION_COUNT + 0;
/**
* The number of operations of the '<em>Abstract Section</em>' class.
@@ -371,7 +398,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int ABSTRACT_SECTION_OPERATION_COUNT = ConstraintsPackage.DISPLAY_UNIT_OPERATION_COUNT + 0;
+ int ABSTRACT_SECTION_OPERATION_COUNT = ConstraintsPackage.DISPLAY_UNIT_OPERATION_COUNT + 1;
/**
* The meta object id for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.SectionImpl <em>Section</em>}' class.
@@ -402,6 +429,15 @@ public interface ContextsPackage extends EPackage {
int SECTION__ELEMENT_MULTIPLICITY = ABSTRACT_SECTION__ELEMENT_MULTIPLICITY;
/**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECTION__ANNOTATIONS = ABSTRACT_SECTION__ANNOTATIONS;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -438,13 +474,22 @@ public interface ContextsPackage extends EPackage {
int SECTION__WIDGET = ABSTRACT_SECTION_FEATURE_COUNT + 1;
/**
+ * The feature id for the '<em><b>Views</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECTION__VIEWS = ABSTRACT_SECTION_FEATURE_COUNT + 2;
+
+ /**
* The feature id for the '<em><b>Owner</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int SECTION__OWNER = ABSTRACT_SECTION_FEATURE_COUNT + 2;
+ int SECTION__OWNER = ABSTRACT_SECTION_FEATURE_COUNT + 3;
/**
* The number of structural features of the '<em>Section</em>' class.
@@ -453,7 +498,25 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int SECTION_FEATURE_COUNT = ABSTRACT_SECTION_FEATURE_COUNT + 3;
+ int SECTION_FEATURE_COUNT = ABSTRACT_SECTION_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Get Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECTION___GET_ANNOTATION__STRING = ABSTRACT_SECTION___GET_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>Get Views</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECTION___GET_VIEWS = ABSTRACT_SECTION_OPERATION_COUNT + 0;
/**
* The number of operations of the '<em>Section</em>' class.
@@ -462,7 +525,117 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int SECTION_OPERATION_COUNT = ABSTRACT_SECTION_OPERATION_COUNT + 0;
+ int SECTION_OPERATION_COUNT = ABSTRACT_SECTION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.AnnotatableImpl <em>Annotatable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.properties.contexts.impl.AnnotatableImpl
+ * @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getAnnotatable()
+ * @generated
+ */
+ int ANNOTATABLE = 4;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATABLE__ANNOTATIONS = 0;
+
+ /**
+ * The number of structural features of the '<em>Annotatable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATABLE_FEATURE_COUNT = 1;
+
+ /**
+ * The operation id for the '<em>Get Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATABLE___GET_ANNOTATION__STRING = 0;
+
+ /**
+ * The number of operations of the '<em>Annotatable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATABLE_OPERATION_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.AnnotationImpl <em>Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.properties.contexts.impl.AnnotationImpl
+ * @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getAnnotation()
+ * @generated
+ */
+ int ANNOTATION = 5;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__SOURCE = 0;
+
+ /**
+ * The feature id for the '<em><b>References</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__REFERENCES = 1;
+
+ /**
+ * The feature id for the '<em><b>Details</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__DETAILS = 2;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__ELEMENT = 3;
+
+ /**
+ * The number of structural features of the '<em>Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION_OPERATION_COUNT = 0;
/**
* The meta object id for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.DataContextElementImpl <em>Data Context Element</em>}' class.
@@ -472,7 +645,7 @@ public interface ContextsPackage extends EPackage {
* @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getDataContextElement()
* @generated
*/
- int DATA_CONTEXT_ELEMENT = 5;
+ int DATA_CONTEXT_ELEMENT = 7;
/**
* The meta object id for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.PropertyImpl <em>Property</em>}' class.
@@ -482,7 +655,16 @@ public interface ContextsPackage extends EPackage {
* @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getProperty()
* @generated
*/
- int PROPERTY = 4;
+ int PROPERTY = 6;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY__ANNOTATIONS = ANNOTATABLE__ANNOTATIONS;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -491,7 +673,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY__NAME = 0;
+ int PROPERTY__NAME = ANNOTATABLE_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Label</b></em>' attribute.
@@ -500,7 +682,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY__LABEL = 1;
+ int PROPERTY__LABEL = ANNOTATABLE_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Type</b></em>' attribute.
@@ -509,7 +691,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY__TYPE = 2;
+ int PROPERTY__TYPE = ANNOTATABLE_FEATURE_COUNT + 2;
/**
* The feature id for the '<em><b>Context Element</b></em>' container reference.
@@ -518,7 +700,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY__CONTEXT_ELEMENT = 3;
+ int PROPERTY__CONTEXT_ELEMENT = ANNOTATABLE_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Multiplicity</b></em>' attribute.
@@ -527,7 +709,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY__MULTIPLICITY = 4;
+ int PROPERTY__MULTIPLICITY = ANNOTATABLE_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Description</b></em>' attribute.
@@ -536,7 +718,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY__DESCRIPTION = 5;
+ int PROPERTY__DESCRIPTION = ANNOTATABLE_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Redefined Properties</b></em>' reference list.
@@ -545,7 +727,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY__REDEFINED_PROPERTIES = 6;
+ int PROPERTY__REDEFINED_PROPERTIES = ANNOTATABLE_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Redefined By Properties</b></em>' reference list.
@@ -554,7 +736,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY__REDEFINED_BY_PROPERTIES = 7;
+ int PROPERTY__REDEFINED_BY_PROPERTIES = ANNOTATABLE_FEATURE_COUNT + 7;
/**
* The number of structural features of the '<em>Property</em>' class.
@@ -563,7 +745,16 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY_FEATURE_COUNT = 8;
+ int PROPERTY_FEATURE_COUNT = ANNOTATABLE_FEATURE_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Get Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY___GET_ANNOTATION__STRING = ANNOTATABLE___GET_ANNOTATION__STRING;
/**
* The number of operations of the '<em>Property</em>' class.
@@ -572,7 +763,16 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int PROPERTY_OPERATION_COUNT = 0;
+ int PROPERTY_OPERATION_COUNT = ANNOTATABLE_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_CONTEXT_ELEMENT__ANNOTATIONS = ANNOTATABLE__ANNOTATIONS;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -581,7 +781,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int DATA_CONTEXT_ELEMENT__NAME = 0;
+ int DATA_CONTEXT_ELEMENT__NAME = ANNOTATABLE_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Package</b></em>' container reference.
@@ -590,7 +790,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int DATA_CONTEXT_ELEMENT__PACKAGE = 1;
+ int DATA_CONTEXT_ELEMENT__PACKAGE = ANNOTATABLE_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Supertypes</b></em>' reference list.
@@ -599,7 +799,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int DATA_CONTEXT_ELEMENT__SUPERTYPES = 2;
+ int DATA_CONTEXT_ELEMENT__SUPERTYPES = ANNOTATABLE_FEATURE_COUNT + 2;
/**
* The feature id for the '<em><b>Properties</b></em>' containment reference list.
@@ -608,7 +808,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int DATA_CONTEXT_ELEMENT__PROPERTIES = 3;
+ int DATA_CONTEXT_ELEMENT__PROPERTIES = ANNOTATABLE_FEATURE_COUNT + 3;
/**
* The number of structural features of the '<em>Data Context Element</em>' class.
@@ -617,7 +817,16 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int DATA_CONTEXT_ELEMENT_FEATURE_COUNT = 4;
+ int DATA_CONTEXT_ELEMENT_FEATURE_COUNT = ANNOTATABLE_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Get Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_CONTEXT_ELEMENT___GET_ANNOTATION__STRING = ANNOTATABLE___GET_ANNOTATION__STRING;
/**
* The number of operations of the '<em>Data Context Element</em>' class.
@@ -626,7 +835,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int DATA_CONTEXT_ELEMENT_OPERATION_COUNT = 0;
+ int DATA_CONTEXT_ELEMENT_OPERATION_COUNT = ANNOTATABLE_OPERATION_COUNT + 0;
/**
* The meta object id for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.UnknownPropertyImpl <em>Unknown Property</em>}' class.
@@ -636,7 +845,7 @@ public interface ContextsPackage extends EPackage {
* @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getUnknownProperty()
* @generated
*/
- int UNKNOWN_PROPERTY = 7;
+ int UNKNOWN_PROPERTY = 9;
/**
* The meta object id for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.DataContextPackageImpl <em>Data Context Package</em>}' class.
@@ -646,7 +855,16 @@ public interface ContextsPackage extends EPackage {
* @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getDataContextPackage()
* @generated
*/
- int DATA_CONTEXT_PACKAGE = 6;
+ int DATA_CONTEXT_PACKAGE = 8;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_CONTEXT_PACKAGE__ANNOTATIONS = DATA_CONTEXT_ELEMENT__ANNOTATIONS;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -703,6 +921,15 @@ public interface ContextsPackage extends EPackage {
int DATA_CONTEXT_PACKAGE_FEATURE_COUNT = DATA_CONTEXT_ELEMENT_FEATURE_COUNT + 1;
/**
+ * The operation id for the '<em>Get Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_CONTEXT_PACKAGE___GET_ANNOTATION__STRING = DATA_CONTEXT_ELEMENT___GET_ANNOTATION__STRING;
+
+ /**
* The number of operations of the '<em>Data Context Package</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -712,6 +939,15 @@ public interface ContextsPackage extends EPackage {
int DATA_CONTEXT_PACKAGE_OPERATION_COUNT = DATA_CONTEXT_ELEMENT_OPERATION_COUNT + 0;
/**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNKNOWN_PROPERTY__ANNOTATIONS = PROPERTY__ANNOTATIONS;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -793,6 +1029,15 @@ public interface ContextsPackage extends EPackage {
int UNKNOWN_PROPERTY_FEATURE_COUNT = PROPERTY_FEATURE_COUNT + 0;
/**
+ * The operation id for the '<em>Get Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNKNOWN_PROPERTY___GET_ANNOTATION__STRING = PROPERTY___GET_ANNOTATION__STRING;
+
+ /**
* The number of operations of the '<em>Unknown Property</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -820,13 +1065,22 @@ public interface ContextsPackage extends EPackage {
int VIEW__ELEMENT_MULTIPLICITY = ConstraintsPackage.DISPLAY_UNIT__ELEMENT_MULTIPLICITY;
/**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIEW__ANNOTATIONS = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 0;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int VIEW__NAME = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 0;
+ int VIEW__NAME = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Sections</b></em>' reference list.
@@ -835,7 +1089,16 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int VIEW__SECTIONS = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 1;
+ int VIEW__SECTIONS = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Context</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIEW__CONTEXT = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Automatic Context</b></em>' attribute.
@@ -844,7 +1107,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int VIEW__AUTOMATIC_CONTEXT = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 2;
+ int VIEW__AUTOMATIC_CONTEXT = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Datacontexts</b></em>' reference list.
@@ -853,25 +1116,25 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int VIEW__DATACONTEXTS = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 3;
+ int VIEW__DATACONTEXTS = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 5;
/**
- * The feature id for the '<em><b>Context</b></em>' container reference.
+ * The number of structural features of the '<em>View</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int VIEW__CONTEXT = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 4;
+ int VIEW_FEATURE_COUNT = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 6;
/**
- * The number of structural features of the '<em>View</em>' class.
+ * The operation id for the '<em>Get Annotation</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int VIEW_FEATURE_COUNT = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 5;
+ int VIEW___GET_ANNOTATION__STRING = ConstraintsPackage.DISPLAY_UNIT_OPERATION_COUNT + 0;
/**
* The number of operations of the '<em>View</em>' class.
@@ -880,7 +1143,7 @@ public interface ContextsPackage extends EPackage {
* @generated
* @ordered
*/
- int VIEW_OPERATION_COUNT = ConstraintsPackage.DISPLAY_UNIT_OPERATION_COUNT + 0;
+ int VIEW_OPERATION_COUNT = ConstraintsPackage.DISPLAY_UNIT_OPERATION_COUNT + 1;
/**
* The meta object id for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.DataContextRootImpl <em>Data Context Root</em>}' class.
@@ -890,7 +1153,16 @@ public interface ContextsPackage extends EPackage {
* @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getDataContextRoot()
* @generated
*/
- int DATA_CONTEXT_ROOT = 9;
+ int DATA_CONTEXT_ROOT = 11;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_CONTEXT_ROOT__ANNOTATIONS = DATA_CONTEXT_PACKAGE__ANNOTATIONS;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -966,6 +1238,15 @@ public interface ContextsPackage extends EPackage {
/**
+ * The operation id for the '<em>Get Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_CONTEXT_ROOT___GET_ANNOTATION__STRING = DATA_CONTEXT_PACKAGE___GET_ANNOTATION__STRING;
+
+ /**
* The number of operations of the '<em>Data Context Root</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1280,6 +1561,91 @@ public interface ContextsPackage extends EPackage {
EReference getAbstractSection_Tab();
/**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.properties.contexts.Annotatable <em>Annotatable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Annotatable</em>'.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotatable
+ * @generated
+ */
+ EClass getAnnotatable();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.properties.contexts.Annotatable#getAnnotations <em>Annotations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Annotations</em>'.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotatable#getAnnotations()
+ * @see #getAnnotatable()
+ * @generated
+ */
+ EReference getAnnotatable_Annotations();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.infra.properties.contexts.Annotatable#getAnnotation(java.lang.String) <em>Get Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Get Annotation</em>' operation.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotatable#getAnnotation(java.lang.String)
+ * @generated
+ */
+ EOperation getAnnotatable__GetAnnotation__String();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.properties.contexts.Annotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Annotation</em>'.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotation
+ * @generated
+ */
+ EClass getAnnotation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Source</em>'.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotation#getSource()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EAttribute getAnnotation_Source();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getReferences <em>References</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>References</em>'.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotation#getReferences()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EReference getAnnotation_References();
+
+ /**
+ * Returns the meta object for the map '{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getDetails <em>Details</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the map '<em>Details</em>'.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotation#getDetails()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EReference getAnnotation_Details();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.papyrus.infra.properties.contexts.Annotation#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Element</em>'.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotation#getElement()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EReference getAnnotation_Element();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.papyrus.infra.properties.contexts.Section <em>Section</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1312,6 +1678,17 @@ public interface ContextsPackage extends EPackage {
EReference getSection_Widget();
/**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.infra.properties.contexts.Section#getViews <em>Views</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Views</em>'.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Section#getViews()
+ * @see #getSection()
+ * @generated
+ */
+ EReference getSection_Views();
+
+ /**
* Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.properties.contexts.Section#getOwner <em>Owner</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1323,6 +1700,16 @@ public interface ContextsPackage extends EPackage {
EReference getSection_Owner();
/**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.infra.properties.contexts.Section#getViews() <em>Get Views</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Get Views</em>' operation.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Section#getViews()
+ * @generated
+ */
+ EOperation getSection__GetViews();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.papyrus.infra.properties.contexts.DataContextElement <em>Data Context Element</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1793,6 +2180,74 @@ public interface ContextsPackage extends EPackage {
EReference ABSTRACT_SECTION__TAB = eINSTANCE.getAbstractSection_Tab();
/**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.AnnotatableImpl <em>Annotatable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.properties.contexts.impl.AnnotatableImpl
+ * @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getAnnotatable()
+ * @generated
+ */
+ EClass ANNOTATABLE = eINSTANCE.getAnnotatable();
+
+ /**
+ * The meta object literal for the '<em><b>Annotations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANNOTATABLE__ANNOTATIONS = eINSTANCE.getAnnotatable_Annotations();
+
+ /**
+ * The meta object literal for the '<em><b>Get Annotation</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation ANNOTATABLE___GET_ANNOTATION__STRING = eINSTANCE.getAnnotatable__GetAnnotation__String();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.AnnotationImpl <em>Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.properties.contexts.impl.AnnotationImpl
+ * @see org.eclipse.papyrus.infra.properties.contexts.impl.ContextsPackageImpl#getAnnotation()
+ * @generated
+ */
+ EClass ANNOTATION = eINSTANCE.getAnnotation();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANNOTATION__SOURCE = eINSTANCE.getAnnotation_Source();
+
+ /**
+ * The meta object literal for the '<em><b>References</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANNOTATION__REFERENCES = eINSTANCE.getAnnotation_References();
+
+ /**
+ * The meta object literal for the '<em><b>Details</b></em>' map feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANNOTATION__DETAILS = eINSTANCE.getAnnotation_Details();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANNOTATION__ELEMENT = eINSTANCE.getAnnotation_Element();
+
+ /**
* The meta object literal for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.SectionImpl <em>Section</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1819,6 +2274,14 @@ public interface ContextsPackage extends EPackage {
EReference SECTION__WIDGET = eINSTANCE.getSection_Widget();
/**
+ * The meta object literal for the '<em><b>Views</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SECTION__VIEWS = eINSTANCE.getSection_Views();
+
+ /**
* The meta object literal for the '<em><b>Owner</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1827,6 +2290,14 @@ public interface ContextsPackage extends EPackage {
EReference SECTION__OWNER = eINSTANCE.getSection_Owner();
/**
+ * The meta object literal for the '<em><b>Get Views</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation SECTION___GET_VIEWS = eINSTANCE.getSection__GetViews();
+
+ /**
* The meta object literal for the '{@link org.eclipse.papyrus.infra.properties.contexts.impl.DataContextElementImpl <em>Data Context Element</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextElement.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextElement.java
index e31afefdd29..0825a018563 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextElement.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextElement.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,11 +10,11 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
@@ -35,7 +35,7 @@ import org.eclipse.emf.ecore.EObject;
* @model
* @generated
*/
-public interface DataContextElement extends EObject {
+public interface DataContextElement extends Annotatable {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextPackage.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextPackage.java
index 16da7f1f693..8e5615c6b37 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextPackage.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextPackage.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextRoot.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextRoot.java
index e5ff7a1657f..fd838abab73 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextRoot.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextRoot.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Property.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Property.java
index b05b26f63ad..1b886314cb4 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Property.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Property.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2017 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,11 +11,11 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Vincent Lorenzo - Bug 520271
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
import org.eclipse.papyrus.infra.properties.environment.Type;
/**
@@ -41,7 +41,7 @@ import org.eclipse.papyrus.infra.properties.environment.Type;
* @model
* @generated
*/
-public interface Property extends EObject {
+public interface Property extends Annotatable {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Section.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Section.java
index e16a599162b..97228b35247 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Section.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Section.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,9 +10,11 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.papyrus.infra.properties.ui.CompositeWidget;
/**
@@ -26,6 +28,7 @@ import org.eclipse.papyrus.infra.properties.ui.CompositeWidget;
* <ul>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.Section#getSectionFile <em>Section File</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.Section#getWidget <em>Widget</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.Section#getViews <em>Views</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.Section#getOwner <em>Owner</em>}</li>
* </ul>
*
@@ -85,6 +88,22 @@ public interface Section extends AbstractSection {
void setWidget(CompositeWidget value);
/**
+ * Returns the value of the '<em><b>Views</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.properties.contexts.View}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Views</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Views</em>' reference list.
+ * @see org.eclipse.papyrus.infra.properties.contexts.ContextsPackage#getSection_Views()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<View> getViews();
+
+ /**
* Returns the value of the '<em><b>Owner</b></em>' reference.
* It is bidirectional and its opposite is '{@link org.eclipse.papyrus.infra.properties.contexts.Tab#getSections <em>Sections</em>}'.
* <p>
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Tab.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Tab.java
index 82a07fb1f8c..6c442a009b1 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Tab.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Tab.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/View.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/View.java
index 4d899f9be2a..7b236cb474a 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/View.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/View.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts;
@@ -27,16 +28,16 @@ import org.eclipse.papyrus.infra.constraints.DisplayUnit;
* <ul>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.View#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.View#getSections <em>Sections</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.View#getContext <em>Context</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.View#isAutomaticContext <em>Automatic Context</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.View#getDatacontexts <em>Datacontexts</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.properties.contexts.View#getContext <em>Context</em>}</li>
* </ul>
*
* @see org.eclipse.papyrus.infra.properties.contexts.ContextsPackage#getView()
* @model
* @generated
*/
-public interface View extends DisplayUnit {
+public interface View extends DisplayUnit, Annotatable {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AbstractSectionImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AbstractSectionImpl.java
index 873c1eeb01a..4a5148182f6 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AbstractSectionImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AbstractSectionImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2011-2021 CEA LIST and others.
+ * Copyright (c) 2011-2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,19 +10,29 @@
*
* Contributors:
* Remi Schnekenburger - Initial API and implementation
+ * Christian W. Damus - bug 573986
*/
package org.eclipse.papyrus.infra.properties.contexts.impl;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.papyrus.infra.constraints.impl.DisplayUnitImpl;
import org.eclipse.papyrus.infra.properties.contexts.AbstractSection;
+import org.eclipse.papyrus.infra.properties.contexts.Annotatable;
+import org.eclipse.papyrus.infra.properties.contexts.Annotation;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
import org.eclipse.papyrus.infra.properties.contexts.Tab;
+import org.eclipse.papyrus.infra.properties.contexts.operations.AnnotatableOperations;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -32,6 +42,7 @@ import org.eclipse.papyrus.infra.properties.contexts.Tab;
* The following features are implemented:
* </p>
* <ul>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.AbstractSectionImpl#getAnnotations <em>Annotations</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.AbstractSectionImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.AbstractSectionImpl#getTab <em>Tab</em>}</li>
* </ul>
@@ -40,6 +51,16 @@ import org.eclipse.papyrus.infra.properties.contexts.Tab;
*/
public abstract class AbstractSectionImpl extends DisplayUnitImpl implements AbstractSection {
/**
+ * The cached value of the '{@link #getAnnotations() <em>Annotations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAnnotations()
+ * @generated
+ * @ordered
+ */
+ protected EList<Annotation> annotations;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -84,6 +105,19 @@ public abstract class AbstractSectionImpl extends DisplayUnitImpl implements Abs
* @generated
*/
@Override
+ public EList<Annotation> getAnnotations() {
+ if (annotations == null) {
+ annotations = new EObjectContainmentWithInverseEList<Annotation>(Annotation.class, this, ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS, ContextsPackage.ANNOTATION__ELEMENT);
+ }
+ return annotations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String getName() {
return name;
}
@@ -149,9 +183,21 @@ public abstract class AbstractSectionImpl extends DisplayUnitImpl implements Abs
* <!-- end-user-doc -->
* @generated
*/
+ public Annotation getAnnotation(String source) {
+ return AnnotatableOperations.getAnnotation(this, source);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getAnnotations()).basicAdd(otherEnd, msgs);
case ContextsPackage.ABSTRACT_SECTION__TAB:
if (eInternalContainer() != null)
msgs = eBasicRemoveFromContainer(msgs);
@@ -168,6 +214,8 @@ public abstract class AbstractSectionImpl extends DisplayUnitImpl implements Abs
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS:
+ return ((InternalEList<?>)getAnnotations()).basicRemove(otherEnd, msgs);
case ContextsPackage.ABSTRACT_SECTION__TAB:
return basicSetTab(null, msgs);
}
@@ -196,6 +244,8 @@ public abstract class AbstractSectionImpl extends DisplayUnitImpl implements Abs
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS:
+ return getAnnotations();
case ContextsPackage.ABSTRACT_SECTION__NAME:
return getName();
case ContextsPackage.ABSTRACT_SECTION__TAB:
@@ -209,9 +259,14 @@ public abstract class AbstractSectionImpl extends DisplayUnitImpl implements Abs
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS:
+ getAnnotations().clear();
+ getAnnotations().addAll((Collection<? extends Annotation>)newValue);
+ return;
case ContextsPackage.ABSTRACT_SECTION__NAME:
setName((String)newValue);
return;
@@ -230,6 +285,9 @@ public abstract class AbstractSectionImpl extends DisplayUnitImpl implements Abs
@Override
public void eUnset(int featureID) {
switch (featureID) {
+ case ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS:
+ getAnnotations().clear();
+ return;
case ContextsPackage.ABSTRACT_SECTION__NAME:
setName(NAME_EDEFAULT);
return;
@@ -248,6 +306,8 @@ public abstract class AbstractSectionImpl extends DisplayUnitImpl implements Abs
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS:
+ return annotations != null && !annotations.isEmpty();
case ContextsPackage.ABSTRACT_SECTION__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case ContextsPackage.ABSTRACT_SECTION__TAB:
@@ -262,6 +322,68 @@ public abstract class AbstractSectionImpl extends DisplayUnitImpl implements Abs
* @generated
*/
@Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == Annotatable.class) {
+ switch (derivedFeatureID) {
+ case ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS: return ContextsPackage.ANNOTATABLE__ANNOTATIONS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == Annotatable.class) {
+ switch (baseFeatureID) {
+ case ContextsPackage.ANNOTATABLE__ANNOTATIONS: return ContextsPackage.ABSTRACT_SECTION__ANNOTATIONS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Annotatable.class) {
+ switch (baseOperationID) {
+ case ContextsPackage.ANNOTATABLE___GET_ANNOTATION__STRING: return ContextsPackage.ABSTRACT_SECTION___GET_ANNOTATION__STRING;
+ default: return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case ContextsPackage.ABSTRACT_SECTION___GET_ANNOTATION__STRING:
+ return getAnnotation((String)arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String toString() {
if (eIsProxy()) return super.toString();
@@ -272,4 +394,15 @@ public abstract class AbstractSectionImpl extends DisplayUnitImpl implements Abs
return result.toString();
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>Abstract Section</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Abstract Section</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // AbstractSectionImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotatableImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotatableImpl.java
new file mode 100644
index 00000000000..38700e9b7e9
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotatableImpl.java
@@ -0,0 +1,212 @@
+/**
+ * Copyright (c) 2021 Christian W. Damus, 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:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.properties.contexts.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.properties.contexts.Annotatable;
+import org.eclipse.papyrus.infra.properties.contexts.Annotation;
+import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
+import org.eclipse.papyrus.infra.properties.contexts.operations.AnnotatableOperations;
+import org.eclipse.uml2.common.util.CacheAdapter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Annotatable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.AnnotatableImpl#getAnnotations <em>Annotations</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class AnnotatableImpl extends MinimalEObjectImpl.Container implements Annotatable {
+ /**
+ * The cached value of the '{@link #getAnnotations() <em>Annotations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAnnotations()
+ * @generated
+ * @ordered
+ */
+ protected EList<Annotation> annotations;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnnotatableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ContextsPackage.Literals.ANNOTATABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Annotation> getAnnotations() {
+ if (annotations == null) {
+ annotations = new EObjectContainmentWithInverseEList<Annotation>(Annotation.class, this, ContextsPackage.ANNOTATABLE__ANNOTATIONS, ContextsPackage.ANNOTATION__ELEMENT);
+ }
+ return annotations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Annotation getAnnotation(String source) {
+ return AnnotatableOperations.getAnnotation(this, source);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATABLE__ANNOTATIONS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getAnnotations()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATABLE__ANNOTATIONS:
+ return ((InternalEList<?>)getAnnotations()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATABLE__ANNOTATIONS:
+ return getAnnotations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATABLE__ANNOTATIONS:
+ getAnnotations().clear();
+ getAnnotations().addAll((Collection<? extends Annotation>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATABLE__ANNOTATIONS:
+ getAnnotations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATABLE__ANNOTATIONS:
+ return annotations != null && !annotations.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case ContextsPackage.ANNOTATABLE___GET_ANNOTATION__STRING:
+ return getAnnotation((String)arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * Retrieves the cache adapter for this '<em><b>Annotatable</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Annotatable</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
+} // AnnotatableImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotationImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotationImpl.java
new file mode 100644
index 00000000000..d54b2b87e47
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotationImpl.java
@@ -0,0 +1,374 @@
+/**
+ * Copyright (c) 2021 Christian W. Damus, 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:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.properties.contexts.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.properties.contexts.Annotatable;
+import org.eclipse.papyrus.infra.properties.contexts.Annotation;
+import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
+import org.eclipse.uml2.common.util.CacheAdapter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.AnnotationImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.AnnotationImpl#getReferences <em>References</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.AnnotationImpl#getDetails <em>Details</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.AnnotationImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AnnotationImpl extends MinimalEObjectImpl.Container implements Annotation {
+ /**
+ * The default value of the '{@link #getSource() <em>Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected static final String SOURCE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected String source = SOURCE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getReferences() <em>References</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferences()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> references;
+
+ /**
+ * The cached value of the '{@link #getDetails() <em>Details</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDetails()
+ * @generated
+ * @ordered
+ */
+ protected EMap<String, String> details;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnnotationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ContextsPackage.Literals.ANNOTATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getSource() {
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setSource(String newSource) {
+ String oldSource = source;
+ source = newSource;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ContextsPackage.ANNOTATION__SOURCE, oldSource, source));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<EObject> getReferences() {
+ if (references == null) {
+ references = new EObjectResolvingEList<EObject>(EObject.class, this, ContextsPackage.ANNOTATION__REFERENCES);
+ }
+ return references;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EMap<String, String> getDetails() {
+ if (details == null) {
+ details = new EcoreEMap<String,String>(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY, EStringToStringMapEntryImpl.class, this, ContextsPackage.ANNOTATION__DETAILS);
+ }
+ return details;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Annotatable getElement() {
+ if (eContainerFeatureID() != ContextsPackage.ANNOTATION__ELEMENT) return null;
+ return (Annotatable)eInternalContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetElement(Annotatable newElement, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newElement, ContextsPackage.ANNOTATION__ELEMENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setElement(Annotatable newElement) {
+ if (newElement != eInternalContainer() || (eContainerFeatureID() != ContextsPackage.ANNOTATION__ELEMENT && newElement != null)) {
+ if (EcoreUtil.isAncestor(this, newElement))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newElement != null)
+ msgs = ((InternalEObject)newElement).eInverseAdd(this, ContextsPackage.ANNOTATABLE__ANNOTATIONS, Annotatable.class, msgs);
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ContextsPackage.ANNOTATION__ELEMENT, newElement, newElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATION__ELEMENT:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetElement((Annotatable)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATION__DETAILS:
+ return ((InternalEList<?>)getDetails()).basicRemove(otherEnd, msgs);
+ case ContextsPackage.ANNOTATION__ELEMENT:
+ return basicSetElement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case ContextsPackage.ANNOTATION__ELEMENT:
+ return eInternalContainer().eInverseRemove(this, ContextsPackage.ANNOTATABLE__ANNOTATIONS, Annotatable.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATION__SOURCE:
+ return getSource();
+ case ContextsPackage.ANNOTATION__REFERENCES:
+ return getReferences();
+ case ContextsPackage.ANNOTATION__DETAILS:
+ if (coreType) return getDetails();
+ else return getDetails().map();
+ case ContextsPackage.ANNOTATION__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATION__SOURCE:
+ setSource((String)newValue);
+ return;
+ case ContextsPackage.ANNOTATION__REFERENCES:
+ getReferences().clear();
+ getReferences().addAll((Collection<? extends EObject>)newValue);
+ return;
+ case ContextsPackage.ANNOTATION__DETAILS:
+ ((EStructuralFeature.Setting)getDetails()).set(newValue);
+ return;
+ case ContextsPackage.ANNOTATION__ELEMENT:
+ setElement((Annotatable)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATION__SOURCE:
+ setSource(SOURCE_EDEFAULT);
+ return;
+ case ContextsPackage.ANNOTATION__REFERENCES:
+ getReferences().clear();
+ return;
+ case ContextsPackage.ANNOTATION__DETAILS:
+ getDetails().clear();
+ return;
+ case ContextsPackage.ANNOTATION__ELEMENT:
+ setElement((Annotatable)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ContextsPackage.ANNOTATION__SOURCE:
+ return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
+ case ContextsPackage.ANNOTATION__REFERENCES:
+ return references != null && !references.isEmpty();
+ case ContextsPackage.ANNOTATION__DETAILS:
+ return details != null && !details.isEmpty();
+ case ContextsPackage.ANNOTATION__ELEMENT:
+ return getElement() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (source: "); //$NON-NLS-1$
+ result.append(source);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * Retrieves the cache adapter for this '<em><b>Annotation</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Annotation</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
+} //AnnotationImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextImpl.java
index b58fea3c83a..4160ff98d5d 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2015 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,7 +11,7 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Christian W. Damus - add prototype reference to Context (CDO)
- * Christian W. Damus - bug 482927
+ * Christian W. Damus - bugs 482927, 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
@@ -33,6 +33,7 @@ import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
import org.eclipse.papyrus.infra.properties.contexts.DataContextRoot;
import org.eclipse.papyrus.infra.properties.contexts.Tab;
import org.eclipse.papyrus.infra.properties.contexts.View;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -506,4 +507,15 @@ public class ContextImpl extends EModelElementImpl implements Context {
return result.toString();
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>Context</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Context</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // ContextImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsFactoryImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsFactoryImpl.java
index 854e8e809f0..07a8f3f973e 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsFactoryImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsFactoryImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2013 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,6 +11,7 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Christian W. Damus - add prototype reference to Context (CDO)
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
@@ -19,6 +20,7 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.properties.contexts.*;
import org.eclipse.papyrus.infra.properties.contexts.Context;
import org.eclipse.papyrus.infra.properties.contexts.ContextsFactory;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
@@ -79,6 +81,7 @@ public class ContextsFactoryImpl extends EFactoryImpl implements ContextsFactory
case ContextsPackage.CONTEXT: return createContext();
case ContextsPackage.TAB: return createTab();
case ContextsPackage.SECTION: return createSection();
+ case ContextsPackage.ANNOTATION: return createAnnotation();
case ContextsPackage.PROPERTY: return createProperty();
case ContextsPackage.DATA_CONTEXT_ELEMENT: return createDataContextElement();
case ContextsPackage.DATA_CONTEXT_PACKAGE: return createDataContextPackage();
@@ -140,6 +143,17 @@ public class ContextsFactoryImpl extends EFactoryImpl implements ContextsFactory
* @generated
*/
@Override
+ public Annotation createAnnotation() {
+ AnnotationImpl annotation = new AnnotationImpl();
+ return annotation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public DataContextElement createDataContextElement() {
DataContextElementImpl dataContextElement = new DataContextElementImpl();
return dataContextElement;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsPackageImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsPackageImpl.java
index 95b89b8d97e..97af55ed209 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsPackageImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsPackageImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2015, 2017 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,7 +11,7 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Christian W. Damus - add prototype reference to Context (CDO)
- * Christian W. Damus - bug 482927
+ * Christian W. Damus - bugs 482927, 573986
* Vincent Lorenzo - Bug 520271
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
@@ -19,12 +19,15 @@ package org.eclipse.papyrus.infra.properties.contexts.impl;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.papyrus.infra.constraints.ConstraintsPackage;
import org.eclipse.papyrus.infra.properties.contexts.AbstractSection;
+import org.eclipse.papyrus.infra.properties.contexts.Annotatable;
+import org.eclipse.papyrus.infra.properties.contexts.Annotation;
import org.eclipse.papyrus.infra.properties.contexts.Context;
import org.eclipse.papyrus.infra.properties.contexts.ContextsFactory;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
@@ -40,6 +43,7 @@ import org.eclipse.papyrus.infra.properties.environment.EnvironmentPackage;
import org.eclipse.papyrus.infra.properties.environment.impl.EnvironmentPackageImpl;
import org.eclipse.papyrus.infra.properties.ui.UiPackage;
import org.eclipse.papyrus.infra.properties.ui.impl.UiPackageImpl;
+import org.eclipse.uml2.types.TypesPackage;
/**
* <!-- begin-user-doc -->
@@ -81,6 +85,20 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
* <!-- end-user-doc -->
* @generated
*/
+ private EClass annotatableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass annotationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EClass sectionEClass = null;
/**
@@ -166,6 +184,7 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
// Initialize simple dependencies
ConstraintsPackage.eINSTANCE.eClass();
EcorePackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI);
@@ -418,7 +437,7 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
*/
@Override
public EReference getView_Context() {
- return (EReference)viewEClass.getEStructuralFeatures().get(4);
+ return (EReference)viewEClass.getEStructuralFeatures().get(2);
}
/**
@@ -428,7 +447,7 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
*/
@Override
public EAttribute getView_AutomaticContext() {
- return (EAttribute)viewEClass.getEStructuralFeatures().get(2);
+ return (EAttribute)viewEClass.getEStructuralFeatures().get(3);
}
/**
@@ -438,7 +457,7 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
*/
@Override
public EReference getView_Datacontexts() {
- return (EReference)viewEClass.getEStructuralFeatures().get(3);
+ return (EReference)viewEClass.getEStructuralFeatures().get(4);
}
/**
@@ -477,6 +496,86 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
* @generated
*/
@Override
+ public EClass getAnnotatable() {
+ return annotatableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAnnotatable_Annotations() {
+ return (EReference)annotatableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EOperation getAnnotatable__GetAnnotation__String() {
+ return annotatableEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getAnnotation() {
+ return annotationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getAnnotation_Source() {
+ return (EAttribute)annotationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAnnotation_References() {
+ return (EReference)annotationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAnnotation_Details() {
+ return (EReference)annotationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAnnotation_Element() {
+ return (EReference)annotationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public EClass getSection() {
return sectionEClass;
}
@@ -507,7 +606,7 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
* @generated
*/
@Override
- public EReference getSection_Owner() {
+ public EReference getSection_Views() {
return (EReference)sectionEClass.getEStructuralFeatures().get(2);
}
@@ -517,6 +616,26 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
* @generated
*/
@Override
+ public EReference getSection_Owner() {
+ return (EReference)sectionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EOperation getSection__GetViews() {
+ return sectionEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public EClass getDataContextElement() {
return dataContextElementEClass;
}
@@ -764,12 +883,24 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
sectionEClass = createEClass(SECTION);
createEAttribute(sectionEClass, SECTION__SECTION_FILE);
createEReference(sectionEClass, SECTION__WIDGET);
+ createEReference(sectionEClass, SECTION__VIEWS);
createEReference(sectionEClass, SECTION__OWNER);
+ createEOperation(sectionEClass, SECTION___GET_VIEWS);
abstractSectionEClass = createEClass(ABSTRACT_SECTION);
createEAttribute(abstractSectionEClass, ABSTRACT_SECTION__NAME);
createEReference(abstractSectionEClass, ABSTRACT_SECTION__TAB);
+ annotatableEClass = createEClass(ANNOTATABLE);
+ createEReference(annotatableEClass, ANNOTATABLE__ANNOTATIONS);
+ createEOperation(annotatableEClass, ANNOTATABLE___GET_ANNOTATION__STRING);
+
+ annotationEClass = createEClass(ANNOTATION);
+ createEAttribute(annotationEClass, ANNOTATION__SOURCE);
+ createEReference(annotationEClass, ANNOTATION__REFERENCES);
+ createEReference(annotationEClass, ANNOTATION__DETAILS);
+ createEReference(annotationEClass, ANNOTATION__ELEMENT);
+
propertyEClass = createEClass(PROPERTY);
createEAttribute(propertyEClass, PROPERTY__NAME);
createEAttribute(propertyEClass, PROPERTY__LABEL);
@@ -794,9 +925,9 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
viewEClass = createEClass(VIEW);
createEAttribute(viewEClass, VIEW__NAME);
createEReference(viewEClass, VIEW__SECTIONS);
+ createEReference(viewEClass, VIEW__CONTEXT);
createEAttribute(viewEClass, VIEW__AUTOMATIC_CONTEXT);
createEReference(viewEClass, VIEW__DATACONTEXTS);
- createEReference(viewEClass, VIEW__CONTEXT);
dataContextRootEClass = createEClass(DATA_CONTEXT_ROOT);
createEAttribute(dataContextRootEClass, DATA_CONTEXT_ROOT__LABEL);
@@ -830,6 +961,7 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
UiPackage theUiPackage = (UiPackage)EPackage.Registry.INSTANCE.getEPackage(UiPackage.eNS_URI);
ConstraintsPackage theConstraintsPackage = (ConstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
EnvironmentPackage theEnvironmentPackage = (EnvironmentPackage)EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI);
// Create type parameters
@@ -840,9 +972,13 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
contextEClass.getESuperTypes().add(theEcorePackage.getEModelElement());
sectionEClass.getESuperTypes().add(this.getAbstractSection());
abstractSectionEClass.getESuperTypes().add(theConstraintsPackage.getDisplayUnit());
+ abstractSectionEClass.getESuperTypes().add(this.getAnnotatable());
+ propertyEClass.getESuperTypes().add(this.getAnnotatable());
+ dataContextElementEClass.getESuperTypes().add(this.getAnnotatable());
dataContextPackageEClass.getESuperTypes().add(this.getDataContextElement());
unknownPropertyEClass.getESuperTypes().add(this.getProperty());
viewEClass.getESuperTypes().add(theConstraintsPackage.getDisplayUnit());
+ viewEClass.getESuperTypes().add(this.getAnnotatable());
dataContextRootEClass.getESuperTypes().add(this.getDataContextPackage());
// Initialize classes, features, and operations; add parameters
@@ -870,12 +1006,27 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
initEClass(sectionEClass, Section.class, "Section", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getSection_SectionFile(), ecorePackage.getEString(), "sectionFile", null, 1, 1, Section.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getSection_Widget(), theUiPackage.getCompositeWidget(), null, "widget", null, 1, 1, Section.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getSection_Views(), this.getView(), null, "views", null, 0, -1, Section.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEReference(getSection_Owner(), this.getTab(), this.getTab_Sections(), "owner", null, 1, 1, Section.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEOperation(getSection__GetViews(), this.getView(), "getViews", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
initEClass(abstractSectionEClass, AbstractSection.class, "AbstractSection", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getAbstractSection_Name(), ecorePackage.getEString(), "name", null, 1, 1, AbstractSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getAbstractSection_Tab(), this.getTab(), this.getTab_AllSections(), "tab", null, 1, 1, AbstractSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEClass(annotatableEClass, Annotatable.class, "Annotatable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getAnnotatable_Annotations(), this.getAnnotation(), this.getAnnotation_Element(), "annotations", null, 0, -1, Annotatable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ EOperation op = initEOperation(getAnnotatable__GetAnnotation__String(), this.getAnnotation(), "getAnnotation", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+ addEParameter(op, theTypesPackage.getString(), "source", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(annotationEClass, Annotation.class, "Annotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getAnnotation_Source(), theTypesPackage.getString(), "source", null, 1, 1, Annotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getAnnotation_References(), theEcorePackage.getEObject(), null, "references", null, 0, -1, Annotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getAnnotation_Details(), theEcorePackage.getEStringToStringMapEntry(), null, "details", null, 0, -1, Annotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getAnnotation_Element(), this.getAnnotatable(), this.getAnnotatable_Annotations(), "element", null, 1, 1, Annotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getProperty_Name(), ecorePackage.getEString(), "name", null, 1, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getProperty_Label(), ecorePackage.getEString(), "label", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
@@ -900,9 +1051,9 @@ public class ContextsPackageImpl extends EPackageImpl implements ContextsPackage
initEClass(viewEClass, View.class, "View", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getView_Name(), ecorePackage.getEString(), "name", null, 1, 1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getView_Sections(), this.getSection(), null, "sections", null, 0, -1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getView_Context(), this.getContext(), this.getContext_Views(), "context", null, 1, 1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getView_AutomaticContext(), ecorePackage.getEBoolean(), "automaticContext", null, 1, 1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getView_Datacontexts(), this.getDataContextElement(), null, "datacontexts", null, 0, -1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getView_Context(), this.getContext(), this.getContext_Views(), "context", null, 1, 1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEClass(dataContextRootEClass, DataContextRoot.class, "DataContextRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getDataContextRoot_Label(), ecorePackage.getEString(), "label", null, 1, 1, DataContextRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextElementImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextElementImpl.java
index 6deb93e244f..b1a91581422 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextElementImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextElementImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2013 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,6 +11,7 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Christian W. Damus - add prototype reference to Context (CDO)
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
@@ -22,7 +23,6 @@ import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
@@ -48,7 +48,7 @@ import org.eclipse.papyrus.infra.properties.contexts.Property;
*
* @generated
*/
-public class DataContextElementImpl extends MinimalEObjectImpl.Container implements DataContextElement {
+public class DataContextElementImpl extends AnnotatableImpl implements DataContextElement {
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextPackageImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextPackageImpl.java
index f119cb20876..1e0592c5201 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextPackageImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextPackageImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextRootImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextRootImpl.java
index 0f4b8b7bfd3..ead02e3a399 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextRootImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextRootImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/PropertyImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/PropertyImpl.java
index 9b73d535a62..fe2d7467607 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/PropertyImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/PropertyImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2013, 2017 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -12,6 +12,7 @@
* CEA LIST - Initial API and implementation
* Christian W. Damus - add prototype reference to Context (CDO)
* Vincent Lorenzo - Bug 520271
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
@@ -23,7 +24,6 @@ import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
@@ -52,7 +52,7 @@ import org.eclipse.papyrus.infra.properties.environment.Type;
*
* @generated
*/
-public class PropertyImpl extends MinimalEObjectImpl.Container implements Property {
+public class PropertyImpl extends AnnotatableImpl implements Property {
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/SectionImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/SectionImpl.java
index 210b00ec27b..da1b2f40364 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/SectionImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/SectionImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2013 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,11 +11,13 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Christian W. Damus - add prototype reference to Context (CDO)
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
@@ -23,7 +25,10 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
import org.eclipse.papyrus.infra.properties.contexts.Section;
import org.eclipse.papyrus.infra.properties.contexts.Tab;
+import org.eclipse.papyrus.infra.properties.contexts.View;
+import org.eclipse.papyrus.infra.properties.contexts.operations.SectionOperations;
import org.eclipse.papyrus.infra.properties.ui.CompositeWidget;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -36,6 +41,7 @@ import org.eclipse.papyrus.infra.properties.ui.CompositeWidget;
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.SectionImpl#getTab <em>Tab</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.SectionImpl#getSectionFile <em>Section File</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.SectionImpl#getWidget <em>Widget</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.SectionImpl#getViews <em>Views</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.SectionImpl#getOwner <em>Owner</em>}</li>
* </ul>
*
@@ -204,6 +210,25 @@ public class SectionImpl extends AbstractSectionImpl implements Section {
* @generated
*/
@Override
+ public EList<View> getViews() {
+ CacheAdapter cache = getCacheAdapter();
+ if (cache != null) {
+ @SuppressWarnings("unchecked")
+ EList<View> result = (EList<View>) cache.get(eResource(), this, ContextsPackage.Literals.SECTION__VIEWS);
+ if (result == null) {
+ cache.put(eResource(), this, ContextsPackage.Literals.SECTION__VIEWS, result = SectionOperations.getViews(this));
+ }
+ return result;
+ }
+ return SectionOperations.getViews(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public Tab getOwner() {
Tab owner = basicGetOwner();
return owner != null && owner.eIsProxy() ? (Tab)eResolveProxy((InternalEObject)owner) : owner;
@@ -287,6 +312,8 @@ public class SectionImpl extends AbstractSectionImpl implements Section {
case ContextsPackage.SECTION__WIDGET:
if (resolve) return getWidget();
return basicGetWidget();
+ case ContextsPackage.SECTION__VIEWS:
+ return getViews();
case ContextsPackage.SECTION__OWNER:
if (resolve) return getOwner();
return basicGetOwner();
@@ -350,6 +377,8 @@ public class SectionImpl extends AbstractSectionImpl implements Section {
return SECTION_FILE_EDEFAULT == null ? sectionFile != null : !SECTION_FILE_EDEFAULT.equals(sectionFile);
case ContextsPackage.SECTION__WIDGET:
return widget != null;
+ case ContextsPackage.SECTION__VIEWS:
+ return !getViews().isEmpty();
case ContextsPackage.SECTION__OWNER:
return basicGetOwner() != null;
}
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/TabImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/TabImpl.java
index 88521e458f5..81fe6e7feba 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/TabImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/TabImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
@@ -28,6 +29,7 @@ import org.eclipse.papyrus.infra.properties.contexts.AbstractSection;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
import org.eclipse.papyrus.infra.properties.contexts.Section;
import org.eclipse.papyrus.infra.properties.contexts.Tab;
+import org.eclipse.uml2.common.util.CacheAdapter;
import org.eclipse.uml2.common.util.DerivedSubsetEObjectEList;
/**
@@ -622,4 +624,15 @@ public class TabImpl extends MinimalEObjectImpl.Container implements Tab {
return result.toString();
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>Tab</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Tab</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // TabImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/UnknownPropertyImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/UnknownPropertyImpl.java
index 72a8e92fcb5..b33e7b437e3 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/UnknownPropertyImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/UnknownPropertyImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ViewImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ViewImpl.java
index 71116318504..353cc194417 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ViewImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ViewImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2013 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,9 +11,11 @@
* Contributors:
* CEA LIST - Initial API and implementation
* Christian W. Damus - add prototype reference to Context (CDO)
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.impl;
+import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
@@ -22,14 +24,20 @@ import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.papyrus.infra.constraints.impl.DisplayUnitImpl;
+import org.eclipse.papyrus.infra.properties.contexts.Annotatable;
+import org.eclipse.papyrus.infra.properties.contexts.Annotation;
import org.eclipse.papyrus.infra.properties.contexts.Context;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
import org.eclipse.papyrus.infra.properties.contexts.DataContextElement;
import org.eclipse.papyrus.infra.properties.contexts.Section;
import org.eclipse.papyrus.infra.properties.contexts.View;
+import org.eclipse.papyrus.infra.properties.contexts.operations.AnnotatableOperations;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -39,17 +47,28 @@ import org.eclipse.papyrus.infra.properties.contexts.View;
* The following features are implemented:
* </p>
* <ul>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.ViewImpl#getAnnotations <em>Annotations</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.ViewImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.ViewImpl#getSections <em>Sections</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.ViewImpl#getContext <em>Context</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.ViewImpl#isAutomaticContext <em>Automatic Context</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.ViewImpl#getDatacontexts <em>Datacontexts</em>}</li>
- * <li>{@link org.eclipse.papyrus.infra.properties.contexts.impl.ViewImpl#getContext <em>Context</em>}</li>
* </ul>
*
* @generated
*/
public class ViewImpl extends DisplayUnitImpl implements View {
/**
+ * The cached value of the '{@link #getAnnotations() <em>Annotations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAnnotations()
+ * @generated
+ * @ordered
+ */
+ protected EList<Annotation> annotations;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -134,6 +153,19 @@ public class ViewImpl extends DisplayUnitImpl implements View {
* @generated
*/
@Override
+ public EList<Annotation> getAnnotations() {
+ if (annotations == null) {
+ annotations = new EObjectContainmentWithInverseEList<Annotation>(Annotation.class, this, ContextsPackage.VIEW__ANNOTATIONS, ContextsPackage.ANNOTATION__ELEMENT);
+ }
+ return annotations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String getName() {
return name;
}
@@ -212,6 +244,15 @@ public class ViewImpl extends DisplayUnitImpl implements View {
* <!-- end-user-doc -->
* @generated
*/
+ public Annotation getAnnotation(String source) {
+ return AnnotatableOperations.getAnnotation(this, source);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@Override
public boolean isAutomaticContext() {
return automaticContext;
@@ -248,9 +289,12 @@ public class ViewImpl extends DisplayUnitImpl implements View {
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case ContextsPackage.VIEW__ANNOTATIONS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getAnnotations()).basicAdd(otherEnd, msgs);
case ContextsPackage.VIEW__CONTEXT:
if (eInternalContainer() != null)
msgs = eBasicRemoveFromContainer(msgs);
@@ -267,6 +311,8 @@ public class ViewImpl extends DisplayUnitImpl implements View {
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case ContextsPackage.VIEW__ANNOTATIONS:
+ return ((InternalEList<?>)getAnnotations()).basicRemove(otherEnd, msgs);
case ContextsPackage.VIEW__CONTEXT:
return basicSetContext(null, msgs);
}
@@ -295,16 +341,18 @@ public class ViewImpl extends DisplayUnitImpl implements View {
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case ContextsPackage.VIEW__ANNOTATIONS:
+ return getAnnotations();
case ContextsPackage.VIEW__NAME:
return getName();
case ContextsPackage.VIEW__SECTIONS:
return getSections();
+ case ContextsPackage.VIEW__CONTEXT:
+ return getContext();
case ContextsPackage.VIEW__AUTOMATIC_CONTEXT:
return isAutomaticContext();
case ContextsPackage.VIEW__DATACONTEXTS:
return getDatacontexts();
- case ContextsPackage.VIEW__CONTEXT:
- return getContext();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -318,6 +366,10 @@ public class ViewImpl extends DisplayUnitImpl implements View {
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case ContextsPackage.VIEW__ANNOTATIONS:
+ getAnnotations().clear();
+ getAnnotations().addAll((Collection<? extends Annotation>)newValue);
+ return;
case ContextsPackage.VIEW__NAME:
setName((String)newValue);
return;
@@ -325,6 +377,9 @@ public class ViewImpl extends DisplayUnitImpl implements View {
getSections().clear();
getSections().addAll((Collection<? extends Section>)newValue);
return;
+ case ContextsPackage.VIEW__CONTEXT:
+ setContext((Context)newValue);
+ return;
case ContextsPackage.VIEW__AUTOMATIC_CONTEXT:
setAutomaticContext((Boolean)newValue);
return;
@@ -332,9 +387,6 @@ public class ViewImpl extends DisplayUnitImpl implements View {
getDatacontexts().clear();
getDatacontexts().addAll((Collection<? extends DataContextElement>)newValue);
return;
- case ContextsPackage.VIEW__CONTEXT:
- setContext((Context)newValue);
- return;
}
super.eSet(featureID, newValue);
}
@@ -347,21 +399,24 @@ public class ViewImpl extends DisplayUnitImpl implements View {
@Override
public void eUnset(int featureID) {
switch (featureID) {
+ case ContextsPackage.VIEW__ANNOTATIONS:
+ getAnnotations().clear();
+ return;
case ContextsPackage.VIEW__NAME:
setName(NAME_EDEFAULT);
return;
case ContextsPackage.VIEW__SECTIONS:
getSections().clear();
return;
+ case ContextsPackage.VIEW__CONTEXT:
+ setContext((Context)null);
+ return;
case ContextsPackage.VIEW__AUTOMATIC_CONTEXT:
setAutomaticContext(AUTOMATIC_CONTEXT_EDEFAULT);
return;
case ContextsPackage.VIEW__DATACONTEXTS:
getDatacontexts().clear();
return;
- case ContextsPackage.VIEW__CONTEXT:
- setContext((Context)null);
- return;
}
super.eUnset(featureID);
}
@@ -374,16 +429,18 @@ public class ViewImpl extends DisplayUnitImpl implements View {
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case ContextsPackage.VIEW__ANNOTATIONS:
+ return annotations != null && !annotations.isEmpty();
case ContextsPackage.VIEW__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case ContextsPackage.VIEW__SECTIONS:
return sections != null && !sections.isEmpty();
+ case ContextsPackage.VIEW__CONTEXT:
+ return getContext() != null;
case ContextsPackage.VIEW__AUTOMATIC_CONTEXT:
return automaticContext != AUTOMATIC_CONTEXT_EDEFAULT;
case ContextsPackage.VIEW__DATACONTEXTS:
return datacontexts != null && !datacontexts.isEmpty();
- case ContextsPackage.VIEW__CONTEXT:
- return getContext() != null;
}
return super.eIsSet(featureID);
}
@@ -394,6 +451,68 @@ public class ViewImpl extends DisplayUnitImpl implements View {
* @generated
*/
@Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == Annotatable.class) {
+ switch (derivedFeatureID) {
+ case ContextsPackage.VIEW__ANNOTATIONS: return ContextsPackage.ANNOTATABLE__ANNOTATIONS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == Annotatable.class) {
+ switch (baseFeatureID) {
+ case ContextsPackage.ANNOTATABLE__ANNOTATIONS: return ContextsPackage.VIEW__ANNOTATIONS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Annotatable.class) {
+ switch (baseOperationID) {
+ case ContextsPackage.ANNOTATABLE___GET_ANNOTATION__STRING: return ContextsPackage.VIEW___GET_ANNOTATION__STRING;
+ default: return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case ContextsPackage.VIEW___GET_ANNOTATION__STRING:
+ return getAnnotation((String)arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
public String toString() {
if (eIsProxy()) return super.toString();
@@ -406,4 +525,15 @@ public class ViewImpl extends DisplayUnitImpl implements View {
return result.toString();
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>View</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>View</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // ViewImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/AnnotatableOperations.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/AnnotatableOperations.java
new file mode 100644
index 00000000000..3c428c56413
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/AnnotatableOperations.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) 2021 Christian W. Damus, 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:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.properties.contexts.operations;
+
+import java.util.Iterator;
+
+import org.eclipse.papyrus.infra.properties.contexts.Annotatable;
+import org.eclipse.papyrus.infra.properties.contexts.Annotation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A static utility class that provides operations related to '<em><b>Annotatable</b></em>' model objects.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following operations are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.Annotatable#getAnnotation(java.lang.String) <em>Get Annotation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AnnotatableOperations {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnnotatableOperations() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public static Annotation getAnnotation(Annotatable annotatable, String source) {
+ Annotation result = null;
+
+ if (source != null) {
+ for (Iterator<Annotation> iter = annotatable.getAnnotations().iterator(); result == null && iter.hasNext();) {
+ Annotation next = iter.next();
+ if (source.equals(next.getSource())) {
+ result = next;
+ }
+ }
+ }
+
+ return result;
+ }
+
+} // AnnotatableOperations
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/SectionOperations.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/SectionOperations.java
new file mode 100644
index 00000000000..13242f09b85
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/SectionOperations.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) 2021 Christian W. Damus, 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:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.properties.contexts.operations;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EcoreEList;
+import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
+import org.eclipse.papyrus.infra.properties.contexts.Section;
+import org.eclipse.papyrus.infra.properties.contexts.View;
+import org.eclipse.uml2.common.util.CacheAdapter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A static utility class that provides operations related to '<em><b>Section</b></em>' model objects.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following operations are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.properties.contexts.Section#getViews() <em>Get Views</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SectionOperations {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SectionOperations() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public static EList<View> getViews(Section section) {
+ // As generated by the Properties model
+ Object[] result = CacheAdapter.getInstance().getInverseReferences(section).stream()
+ .filter(setting -> setting.getEStructuralFeature() == ContextsPackage.Literals.VIEW__SECTIONS)
+ .map(EStructuralFeature.Setting::getEObject)
+ .toArray();
+ return new EcoreEList.UnmodifiableEList.FastCompare<>((InternalEObject) section, ContextsPackage.Literals.SECTION__VIEWS, result.length, result);
+ }
+
+} // SectionOperations
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsAdapterFactory.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsAdapterFactory.java
index 8309f9658c3..330e344dfea 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsAdapterFactory.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsAdapterFactory.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2015 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,7 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
- * Christian W. Damus - bug 482927
+ * Christian W. Damus - bugs 482927, 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.util;
@@ -20,6 +20,7 @@ import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
import org.eclipse.emf.ecore.EModelElement;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.papyrus.infra.constraints.DisplayUnit;
+import org.eclipse.papyrus.infra.properties.contexts.*;
import org.eclipse.papyrus.infra.properties.contexts.AbstractSection;
import org.eclipse.papyrus.infra.properties.contexts.Context;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
@@ -104,6 +105,14 @@ public class ContextsAdapterFactory extends AdapterFactoryImpl {
return createAbstractSectionAdapter();
}
@Override
+ public Adapter caseAnnotatable(Annotatable object) {
+ return createAnnotatableAdapter();
+ }
+ @Override
+ public Adapter caseAnnotation(Annotation object) {
+ return createAnnotationAdapter();
+ }
+ @Override
public Adapter caseProperty(Property object) {
return createPropertyAdapter();
}
@@ -212,6 +221,34 @@ public class ContextsAdapterFactory extends AdapterFactoryImpl {
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.properties.contexts.Annotatable <em>Annotatable</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotatable
+ * @generated
+ */
+ public Adapter createAnnotatableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.properties.contexts.Annotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.properties.contexts.Annotation
+ * @generated
+ */
+ public Adapter createAnnotationAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.properties.contexts.Section <em>Section</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceFactoryImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceFactoryImpl.java
index 3fd33ae5b97..55b355fa542 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceFactoryImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceFactoryImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.util;
@@ -18,12 +19,12 @@ import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
/**
* <!-- begin-user-doc -->
* The <b>Resource Factory</b> associated with the package.
* <!-- end-user-doc -->
- *
* @see org.eclipse.papyrus.infra.properties.contexts.util.ContextsResourceImpl
* @generated
*/
@@ -32,7 +33,6 @@ public class ContextsResourceFactoryImpl extends ResourceFactoryImpl {
* Creates an instance of the resource factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
public ContextsResourceFactoryImpl() {
@@ -43,12 +43,11 @@ public class ContextsResourceFactoryImpl extends ResourceFactoryImpl {
* Creates an instance of the resource.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
@Override
public Resource createResource(URI uri) {
- Resource result = new ContextsResourceImpl(uri);
+ XMLResource result = new ContextsResourceImpl(uri);
return result;
}
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceImpl.java
index 4fc533d9f35..ef1c89c6a9b 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,11 +10,25 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.util;
+import java.util.Map;
+
import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.xmi.XMLHelper;
+import org.eclipse.emf.ecore.xmi.XMLLoad;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.SAXXMIHandler;
+import org.eclipse.emf.ecore.xmi.impl.XMIHelperImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMILoadImpl;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.eclipse.papyrus.infra.properties.contexts.Annotation;
+import org.xml.sax.helpers.DefaultHandler;
/**
* <!-- begin-user-doc -->
@@ -49,4 +63,89 @@ public class ContextsResourceImpl extends XMIResourceImpl {
return true;
}
+ @Override
+ protected XMLHelper createXMLHelper() {
+ return new ContextsXMIHelper();
+ }
+
+ @Override
+ protected XMLLoad createXMLLoad() {
+ return new ContextsXMILoad(createXMLHelper());
+ }
+
+ boolean isAnnotationDetailURI(EObject object, EStructuralFeature feature) {
+ return feature == EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY__VALUE
+ && "model".equals(((Map.Entry<?, ?>) object).getKey())
+ && object.eContainer() instanceof Annotation;
+ }
+
+ void resolveURIs(Annotation annotation) {
+ for (Map.Entry<String, String> detail : annotation.getDetails()) {
+ if ("model".equals(detail.getKey())) {
+ // The value is a URI
+ String rawValue = detail.getValue();
+ if (rawValue != null && !rawValue.isBlank()) {
+ URI uri = URI.createURI(rawValue, true);
+ if (uri.isRelative()) {
+ uri = uri.resolve(getURI());
+ detail.setValue(uri.toString());
+ }
+ }
+ }
+ }
+ }
+
+ private class ContextsXMIHelper extends XMIHelperImpl {
+
+ ContextsXMIHelper() {
+ super(ContextsResourceImpl.this);
+ }
+
+ @Override
+ public Object getValue(EObject object, EStructuralFeature feature) {
+ if (isAnnotationDetailURI(object, feature)) {
+ // Deresolve the URI
+ String rawValue = (String) ((Map.Entry<?, ?>) object).getValue();
+ if (rawValue != null && !rawValue.isBlank()) {
+ URI uri = URI.createURI(rawValue);
+ URI base = ContextsResourceImpl.this.getURI();
+ return uri.deresolve(base).toString();
+ }
+ }
+
+ return super.getValue(object, feature);
+ }
+ }
+
+ private class ContextsXMILoad extends XMILoadImpl {
+
+ ContextsXMILoad(XMLHelper helper) {
+ super(helper);
+ }
+
+ @Override
+ protected DefaultHandler makeDefaultHandler() {
+ return new ContextsXMIHandler(resource, helper, options);
+ }
+
+ }
+
+ private class ContextsXMIHandler extends SAXXMIHandler {
+
+ ContextsXMIHandler(XMLResource xmiResource, XMLHelper helper, Map<?, ?> options) {
+ super(xmiResource, helper, options);
+ }
+
+ @Override
+ public void endElement(String uri, String localName, String name) {
+ EObject object = objects.peekEObject();
+ if (object instanceof Annotation) {
+ resolveURIs((Annotation) object);
+ }
+
+ super.endElement(uri, localName, name);
+ }
+
+ }
+
} // ContextsResourceImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsSwitch.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsSwitch.java
index 6c90464ea95..5e562acf9b7 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsSwitch.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsSwitch.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011, 2015 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,7 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
- * Christian W. Damus - bug 482927
+ * Christian W. Damus - bugs 482927, 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.contexts.util;
@@ -19,6 +19,7 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
import org.eclipse.papyrus.infra.constraints.DisplayUnit;
+import org.eclipse.papyrus.infra.properties.contexts.*;
import org.eclipse.papyrus.infra.properties.contexts.AbstractSection;
import org.eclipse.papyrus.infra.properties.contexts.Context;
import org.eclipse.papyrus.infra.properties.contexts.ContextsPackage;
@@ -105,6 +106,7 @@ public class ContextsSwitch<T> extends Switch<T> {
T result = caseSection(section);
if (result == null) result = caseAbstractSection(section);
if (result == null) result = caseDisplayUnit(section);
+ if (result == null) result = caseAnnotatable(section);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -112,18 +114,33 @@ public class ContextsSwitch<T> extends Switch<T> {
AbstractSection abstractSection = (AbstractSection)theEObject;
T result = caseAbstractSection(abstractSection);
if (result == null) result = caseDisplayUnit(abstractSection);
+ if (result == null) result = caseAnnotatable(abstractSection);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ContextsPackage.ANNOTATABLE: {
+ Annotatable annotatable = (Annotatable)theEObject;
+ T result = caseAnnotatable(annotatable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ContextsPackage.ANNOTATION: {
+ Annotation annotation = (Annotation)theEObject;
+ T result = caseAnnotation(annotation);
if (result == null) result = defaultCase(theEObject);
return result;
}
case ContextsPackage.PROPERTY: {
Property property = (Property)theEObject;
T result = caseProperty(property);
+ if (result == null) result = caseAnnotatable(property);
if (result == null) result = defaultCase(theEObject);
return result;
}
case ContextsPackage.DATA_CONTEXT_ELEMENT: {
DataContextElement dataContextElement = (DataContextElement)theEObject;
T result = caseDataContextElement(dataContextElement);
+ if (result == null) result = caseAnnotatable(dataContextElement);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -131,6 +148,7 @@ public class ContextsSwitch<T> extends Switch<T> {
DataContextPackage dataContextPackage = (DataContextPackage)theEObject;
T result = caseDataContextPackage(dataContextPackage);
if (result == null) result = caseDataContextElement(dataContextPackage);
+ if (result == null) result = caseAnnotatable(dataContextPackage);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -138,6 +156,7 @@ public class ContextsSwitch<T> extends Switch<T> {
UnknownProperty unknownProperty = (UnknownProperty)theEObject;
T result = caseUnknownProperty(unknownProperty);
if (result == null) result = caseProperty(unknownProperty);
+ if (result == null) result = caseAnnotatable(unknownProperty);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -145,6 +164,7 @@ public class ContextsSwitch<T> extends Switch<T> {
View view = (View)theEObject;
T result = caseView(view);
if (result == null) result = caseDisplayUnit(view);
+ if (result == null) result = caseAnnotatable(view);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -153,6 +173,7 @@ public class ContextsSwitch<T> extends Switch<T> {
T result = caseDataContextRoot(dataContextRoot);
if (result == null) result = caseDataContextPackage(dataContextRoot);
if (result == null) result = caseDataContextElement(dataContextRoot);
+ if (result == null) result = caseAnnotatable(dataContextRoot);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -221,6 +242,36 @@ public class ContextsSwitch<T> extends Switch<T> {
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Annotatable</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Annotatable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnnotatable(Annotatable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Annotation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnnotation(Annotation object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Section</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/EnvironmentPackage.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/EnvironmentPackage.java
index ac82a2af1a2..b9cff3d8f76 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/EnvironmentPackage.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/EnvironmentPackage.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment;
@@ -61,6 +62,14 @@ public interface EnvironmentPackage extends EPackage {
String eNS_PREFIX = "environment";
/**
+ * The package content type ID.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eCONTENT_TYPE = "org.eclipse.papyrus.infra.properties.environment";
+
+ /**
* The singleton instance of the package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentImpl.java
index 2123f951d82..930659015d2 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment.impl;
@@ -31,6 +32,7 @@ import org.eclipse.papyrus.infra.properties.environment.ModelElementFactoryDescr
import org.eclipse.papyrus.infra.properties.environment.Namespace;
import org.eclipse.papyrus.infra.properties.environment.PropertyEditorType;
import org.eclipse.papyrus.infra.properties.environment.StandardWidgetType;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -384,4 +386,15 @@ public class EnvironmentImpl extends ConstraintEnvironmentImpl implements Enviro
return super.eIsSet(featureID);
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>Environment</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Environment</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // EnvironmentImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentPackageImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentPackageImpl.java
index 40ef080c36f..d8bb7eebc09 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentPackageImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentPackageImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment.impl;
@@ -37,6 +38,7 @@ import org.eclipse.papyrus.infra.properties.environment.Type;
import org.eclipse.papyrus.infra.properties.environment.WidgetType;
import org.eclipse.papyrus.infra.properties.ui.UiPackage;
import org.eclipse.papyrus.infra.properties.ui.impl.UiPackageImpl;
+import org.eclipse.uml2.types.TypesPackage;
/**
* <!-- begin-user-doc -->
@@ -163,6 +165,7 @@ public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentP
// Initialize simple dependencies
ConstraintsPackage.eINSTANCE.eClass();
EcorePackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ContextsPackage.eNS_URI);
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/MiscClassImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/MiscClassImpl.java
index 53c1578add6..1e71f1ca18c 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/MiscClassImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/MiscClassImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment.impl;
@@ -21,6 +22,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.papyrus.infra.properties.environment.EnvironmentPackage;
import org.eclipse.papyrus.infra.properties.environment.MiscClass;
import org.eclipse.papyrus.infra.properties.environment.Namespace;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -290,4 +292,15 @@ public class MiscClassImpl extends MinimalEObjectImpl.Container implements MiscC
return result.toString();
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>Misc Class</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Misc Class</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // MiscClassImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/ModelElementFactoryDescriptorImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/ModelElementFactoryDescriptorImpl.java
index 7d893f3c662..8573a0c7f94 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/ModelElementFactoryDescriptorImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/ModelElementFactoryDescriptorImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment.impl;
@@ -19,6 +20,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.papyrus.infra.properties.environment.EnvironmentPackage;
import org.eclipse.papyrus.infra.properties.environment.ModelElementFactoryDescriptor;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -226,4 +228,15 @@ public class ModelElementFactoryDescriptorImpl extends MinimalEObjectImpl.Contai
return result.toString();
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>Model Element Factory Descriptor</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Model Element Factory Descriptor</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // ModelElementFactoryDescriptorImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/NamespaceImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/NamespaceImpl.java
index d4cf2afb8b5..4f7a7321eae 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/NamespaceImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/NamespaceImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment.impl;
@@ -19,6 +20,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.papyrus.infra.properties.environment.EnvironmentPackage;
import org.eclipse.papyrus.infra.properties.environment.Namespace;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -282,4 +284,15 @@ public class NamespaceImpl extends MinimalEObjectImpl.Container implements Names
return result.toString();
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>Namespace</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Namespace</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // NamespaceImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/WidgetTypeImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/WidgetTypeImpl.java
index ca728a711da..8e76fdfe6bb 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/WidgetTypeImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/WidgetTypeImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment.impl;
@@ -21,6 +22,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.papyrus.infra.properties.environment.EnvironmentPackage;
import org.eclipse.papyrus.infra.properties.environment.Namespace;
import org.eclipse.papyrus.infra.properties.environment.WidgetType;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -290,4 +292,15 @@ public abstract class WidgetTypeImpl extends MinimalEObjectImpl.Container implem
return result.toString();
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>Widget Type</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Widget Type</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // WidgetTypeImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceFactoryImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceFactoryImpl.java
index 31f47d4e333..88f9ae65ea8 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceFactoryImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceFactoryImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment.util;
@@ -18,12 +19,12 @@ import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
/**
* <!-- begin-user-doc -->
* The <b>Resource Factory</b> associated with the package.
* <!-- end-user-doc -->
- *
* @see org.eclipse.papyrus.infra.properties.environment.util.EnvironmentResourceImpl
* @generated
*/
@@ -32,7 +33,6 @@ public class EnvironmentResourceFactoryImpl extends ResourceFactoryImpl {
* Creates an instance of the resource factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
public EnvironmentResourceFactoryImpl() {
@@ -43,12 +43,11 @@ public class EnvironmentResourceFactoryImpl extends ResourceFactoryImpl {
* Creates an instance of the resource.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
@Override
public Resource createResource(URI uri) {
- Resource result = new EnvironmentResourceImpl(uri);
+ XMLResource result = new EnvironmentResourceImpl(uri);
return result;
}
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceImpl.java
index d6061dde2f5..127705a35aa 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.environment.util;
@@ -20,7 +21,6 @@ import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
* <!-- begin-user-doc -->
* The <b>Resource </b> associated with the package.
* <!-- end-user-doc -->
- *
* @see org.eclipse.papyrus.infra.properties.environment.util.EnvironmentResourceFactoryImpl
* @generated
*/
@@ -29,9 +29,7 @@ public class EnvironmentResourceImpl extends XMIResourceImpl {
* Creates an instance of the resource.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
- * @param uri
- * the URI of the new resource.
+ * @param uri the URI of the new resource.
* @generated
*/
public EnvironmentResourceImpl(URI uri) {
@@ -49,4 +47,20 @@ public class EnvironmentResourceImpl extends XMIResourceImpl {
protected boolean useUUIDs() {
return true;
}
+
+ /**
+ * In order to maintain compatibility with resources created before this implementation
+ * adopted {@linkplain #useUUIDs() UUIDs for XMI IDs}, do not assign IDs to objects that
+ * do not have them while loading so that incoming HREFs will not be broken. Otherwise,
+ * every time the resource is loaded it would generate new distinct IDs for the same
+ * objects (so long as it is not saved for some reason) and HREFs created with these IDs
+ * will not work.
+ *
+ * @return {@code false}
+ */
+ @Override
+ protected boolean assignIDsWhileLoading() {
+ return false;
+ }
+
} // EnvironmentResourceImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/ElementImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/ElementImpl.java
index 8af2e15b002..e14bbce86d3 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/ElementImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/ElementImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.ui.impl;
@@ -17,6 +18,7 @@ import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.papyrus.infra.properties.ui.Element;
import org.eclipse.papyrus.infra.properties.ui.UiPackage;
+import org.eclipse.uml2.common.util.CacheAdapter;
/**
* <!-- begin-user-doc -->
@@ -45,4 +47,15 @@ public class ElementImpl extends MinimalEObjectImpl.Container implements Element
return UiPackage.Literals.ELEMENT;
}
+ /**
+ * Retrieves the cache adapter for this '<em><b>Element</b></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return The cache adapter for this '<em><b>Element</b></em>'.
+ * @generated
+ */
+ protected CacheAdapter getCacheAdapter() {
+ return CacheAdapter.getInstance();
+ }
+
} // ElementImpl
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/UiPackageImpl.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/UiPackageImpl.java
index 560579da5a8..36e0a83d587 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/UiPackageImpl.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/UiPackageImpl.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.properties.ui.impl;
@@ -37,6 +38,7 @@ import org.eclipse.papyrus.infra.properties.ui.UnknownComponent;
import org.eclipse.papyrus.infra.properties.ui.ValueAttribute;
import org.eclipse.papyrus.infra.properties.ui.Widget;
import org.eclipse.papyrus.infra.properties.ui.WidgetAttribute;
+import org.eclipse.uml2.types.TypesPackage;
/**
* <!-- begin-user-doc -->
@@ -170,6 +172,7 @@ public class UiPackageImpl extends EPackageImpl implements UiPackage {
// Initialize simple dependencies
ConstraintsPackage.eINSTANCE.eClass();
EcorePackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI);
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src/org/eclipse/papyrus/infra/properties/contexts/util/ContextAnnotations.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src/org/eclipse/papyrus/infra/properties/contexts/util/ContextAnnotations.java
new file mode 100644
index 00000000000..5c96e1941e7
--- /dev/null
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties/src/org/eclipse/papyrus/infra/properties/contexts/util/ContextAnnotations.java
@@ -0,0 +1,237 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, 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
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.properties.contexts.util;
+
+import java.util.Optional;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.papyrus.infra.properties.contexts.Annotatable;
+import org.eclipse.papyrus.infra.properties.contexts.Annotation;
+import org.eclipse.papyrus.infra.properties.contexts.ContextsFactory;
+import org.eclipse.papyrus.infra.properties.contexts.DataContextRoot;
+
+/**
+ * Utilities for working with {@link Annotation}s in context models.
+ */
+public class ContextAnnotations {
+
+ /** The source URI for annotations known by the properties framework and tooling. */
+ public static final String ANNOTATION_SOURCE = "http://www.eclipse.org/papyrus/properties/contexts"; //$NON-NLS-1$
+
+ /**
+ * Detail indicating the URI of the source model element that the context element
+ * corresponds to (often was generated from).
+ */
+ public static final String DETAIL_MODEL = "model"; //$NON-NLS-1$
+
+ /**
+ * Detail indicating the URI of the layout generator class that was used to generate
+ * the XWT sections for the data context.
+ */
+ public static final String DETAIL_LAYOUT_GENERATOR_CLASS = "layoutGenerator"; //$NON-NLS-1$
+
+ /**
+ * Not instantiable by clients.
+ */
+ private ContextAnnotations() {
+ super();
+ }
+
+ /**
+ * Query the source model element from which a <em>Properties Context</em> model element was generated.
+ *
+ * @param contextElement
+ * a properties context model element. The context element must already be attached to
+ * the resource set, otherwise the source model retrieval cannot happen
+ * @return the corresponding source model element, or {@code null} if none could be determined.
+ *
+ * @see #getSourceModel(Annotatable, EObject) {@code getSourceModel(Annotatable, EObject)}
+ * for cases where the properties context element is not yet attached
+ */
+ public static EObject getSourceModel(Annotatable contextElement) {
+ return getSourceModel(contextElement, contextElement);
+ }
+
+ /**
+ * Query the source model element from which a <em>Properties Context</em> model element was generated,
+ * in the resource set implied by the given {@code context} object.
+ *
+ * @param contextElement
+ * a properties context model element
+ * @param context
+ * some other element from the properties context model that already exists in the resource set
+ *
+ * @return the corresponding source model element, or {@code null} if none
+ */
+ public static EObject getSourceModel(Annotatable contextElement, EObject context) {
+ Resource contextResource = context.eResource();
+ if (contextResource == null) {
+ return null;
+ }
+
+ EObject result = null;
+
+ String modelURIDetail = getAnnotation(contextElement, ANNOTATION_SOURCE, DETAIL_MODEL);
+ URI modelURI = modelURIDetail == null ? null : URI.createURI(modelURIDetail, true);
+ if (modelURI != null && modelURI.isRelative()) {
+ modelURI = modelURI.resolve(contextResource.getURI());
+ }
+
+ if (modelURI != null) {
+ URI resolved = modelURI;
+ result = Optional.ofNullable(contextResource.getResourceSet()).map(rset -> safeGetEObject(rset, resolved))
+ // Create a proxy to indicate that we have a source reference, but it doesn't resolve
+ .orElseGet(() -> createProxy(resolved));
+ } else {
+ Annotation annotation = contextElement.getAnnotation(ANNOTATION_SOURCE);
+ if (annotation != null && !annotation.getReferences().isEmpty()) {
+ // Legacy case
+ result = annotation.getReferences().get(0);
+ }
+ }
+
+ return result;
+ }
+
+ private static EObject safeGetEObject(ResourceSet resourceSet, URI uri) {
+ EObject result;
+
+ try {
+ result = resourceSet.getEObject(uri, true);
+ } catch (Exception e) {
+ // Resource does not exist or is otherwise not loadable
+ result = createProxy(uri);
+ }
+
+ return result;
+ }
+
+ private static EObject createProxy(URI proxyURI) {
+ EObject result = EcoreFactory.eINSTANCE.createEObject();
+ ((InternalEObject) result).eSetProxyURI(proxyURI);
+ return result;
+ }
+
+ /**
+ * Query the URI of the source model element from which a <em>Properties Context</em> model element was generated.
+ *
+ * @param contextElement
+ * a properties context model element
+ *
+ * @return the URI of the corresponding source model element, or {@code null} if none
+ */
+ public static URI getSourceModelURI(Annotatable contextElement) {
+ return getSourceModelURI(contextElement, contextElement);
+ }
+
+ /**
+ * Query the URI of the source model element from which a <em>Properties Context</em> model element was generated.
+ *
+ * @param contextElement
+ * a properties context model element
+ * @param context
+ * some other element from the properties context model that already exists in the resource set
+ *
+ * @return the URI of the corresponding source model element, or {@code null} if none
+ */
+ public static URI getSourceModelURI(Annotatable contextElement, EObject context) {
+ String modelURIDetail = getAnnotation(contextElement, ANNOTATION_SOURCE, DETAIL_MODEL);
+ URI result = modelURIDetail == null ? null : URI.createURI(modelURIDetail, true);
+ if (result != null && result.isRelative()) {
+ Resource contextResource = context.eResource();
+ if (contextResource != null) {
+ result = result.resolve(contextResource.getURI());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Set the source model element from which a <em>Properties Context</em> model element was generated.
+ *
+ * @param contextElement
+ * a context model element
+ * @param the
+ * corresponding source model element
+ */
+ public static void setSourceModel(Annotatable contextElement, EObject sourceElement) {
+ URI modelURI = (sourceElement == null) ? null : EcoreUtil.getURI(sourceElement);
+
+ if (modelURI != null) {
+ setAnnotation(contextElement, ANNOTATION_SOURCE, DETAIL_MODEL, modelURI.toString());
+ } else {
+ Annotation annotation = contextElement.getAnnotation(ANNOTATION_SOURCE);
+ if (annotation != null) {
+ annotation.getDetails().removeKey(DETAIL_MODEL);
+ // Legacy case
+ annotation.getReferences().remove(sourceElement);
+ }
+ }
+ }
+
+ public static Annotation getAnnotation(Annotatable contextElement, String source) {
+ return getAnnotation(contextElement, source, false);
+ }
+
+ public static Annotation getAnnotation(Annotatable contextElement, String source, boolean create) {
+ Annotation result = contextElement.getAnnotation(source);
+ if (result == null && create) {
+ result = ContextsFactory.eINSTANCE.createAnnotation();
+ result.setSource(source);
+ contextElement.getAnnotations().add(result);
+ }
+ return result;
+ }
+
+ public static String getAnnotation(Annotatable contextElement, String source, String detail) {
+ Annotation annotation = getAnnotation(contextElement, source);
+ return annotation != null ? annotation.getDetails().get(detail) : null;
+ }
+
+ public static void setAnnotation(Annotatable contextElement, String source, String detail, String value) {
+ getAnnotation(contextElement, source, true).getDetails().put(detail, value);
+ }
+
+ /**
+ * Query the name of the class that generated the layouts of sections for the given data context.
+ *
+ * @param dataContext
+ * a data context
+ * @return the name of the layout-generator class that was used to generate its sections, or {@code null} if none
+ */
+ public static String getLayoutGeneratorClassName(DataContextRoot dataContext) {
+ return getAnnotation(dataContext, ANNOTATION_SOURCE, DETAIL_LAYOUT_GENERATOR_CLASS);
+ }
+
+ /**
+ * Set the name of the class that generated the layouts of sections in the given data context.
+ *
+ * @param dataContext
+ * a data context
+ * @return className the name of the layout-generator class that was used to generate its sections
+ */
+ public static void setLayoutGeneratorClassName(DataContextRoot dataContext, String className) {
+ setAnnotation(dataContext, ANNOTATION_SOURCE, DETAIL_LAYOUT_GENERATOR_CLASS, className);
+ }
+
+}
diff --git a/plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/builder/IPapyrusBuilderProvider.java b/plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/builder/IPapyrusBuilderProvider.java
index 77763910c00..b3ba58e37d2 100644
--- a/plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/builder/IPapyrusBuilderProvider.java
+++ b/plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/builder/IPapyrusBuilderProvider.java
@@ -15,9 +15,18 @@
package org.eclipse.papyrus.toolsmiths.plugin.builder;
+import java.io.IOException;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ContentHandler;
+import org.eclipse.emf.ecore.resource.URIConverter;
/**
* A pluggable service that contributes {@link AbstractPapyrusBuilder}s for various
@@ -82,4 +91,31 @@ public interface IPapyrusBuilderProvider {
*/
AbstractPapyrusBuilder getBuilder(PapyrusBuilderKind builderKind, IProject project);
+ /**
+ * Query whether a resource matches a specific content type.
+ *
+ * @param resourceURI
+ * the URI of the resource to test
+ * @param contentType
+ * the content type against which to match the resource
+ * @return whether the resource is of the given content type
+ */
+ default boolean hasContentType(URI resourceURI, String contentType) {
+ boolean result = false;
+
+ try {
+ IContentType match = Platform.getContentTypeManager().getContentType(contentType);
+ Map<String, ?> description = URIConverter.INSTANCE.contentDescription(resourceURI,
+ Map.of(ContentHandler.OPTION_REQUESTED_PROPERTIES, Set.of(ContentHandler.CONTENT_TYPE_PROPERTY)));
+ result = Optional.ofNullable((String) description.get(ContentHandler.CONTENT_TYPE_PROPERTY))
+ .map(Platform.getContentTypeManager()::getContentType)
+ .filter(type -> match != null && type.isKindOf(match))
+ .isPresent();
+ } catch (IOException e) {
+ Activator.log.error("Failed to determine content type of model resource.", e); //$NON-NLS-1$
+ }
+
+ return result;
+ }
+
}
diff --git a/plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/internal/builder/XWTModelBuilderProvider.java b/plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/internal/builder/XWTModelBuilderProvider.java
index fac0b441e6f..86b9ab55b6e 100644
--- a/plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/internal/builder/XWTModelBuilderProvider.java
+++ b/plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/internal/builder/XWTModelBuilderProvider.java
@@ -32,7 +32,7 @@ import org.osgi.service.component.annotations.Component;
@Component
public class XWTModelBuilderProvider implements IPapyrusBuilderProvider {
- public static final Set<String> MODEL_FILE_EXTENSIONS = Set.of("xwt", "xmi", "ctx"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+ public static final Set<String> MODEL_FILE_EXTENSIONS = Set.of("xwt"); //$NON-NLS-1$
@Override
public String getProblemMarkerType(PapyrusBuilderKind builderKind) {
diff --git a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/META-INF/MANIFEST.MF b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/META-INF/MANIFEST.MF
index ffb1809340f..5f9dfbbcad1 100644
--- a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/META-INF/MANIFEST.MF
+++ b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/META-INF/MANIFEST.MF
@@ -16,7 +16,8 @@ Require-Bundle:
org.eclipse.papyrus.toolsmiths.plugin.builder;bundle-version="[1.1.0,2.0.0)",
org.eclipse.papyrus.infra.core;bundle-version="[4.1.0,5.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[4.0.0,5.0.0)",
- org.eclipse.emf.edit;bundle-version="[2.16.0,3.0.0)"
+ org.eclipse.emf.edit;bundle-version="[2.16.0,3.0.0)",
+ org.eclipse.papyrus.infra.tools;bundle-version="[4.2.0,5.0.0)"
Export-Package:
org.eclipse.papyrus.toolsmiths.validation.architecture,
org.eclipse.papyrus.toolsmiths.validation.architecture.checkers,
diff --git a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/checkers/ArchitecturePluginChecker.java b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/checkers/ArchitecturePluginChecker.java
index 05f455658ad..0a550a1ccd4 100644
--- a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/checkers/ArchitecturePluginChecker.java
+++ b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/checkers/ArchitecturePluginChecker.java
@@ -10,7 +10,7 @@
*
* Contributors:
* Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
- * Christian W. Damus - bugs 570097, 571125, 573245
+ * Christian W. Damus - bugs 570097, 571125, 573245, 573986
*
*****************************************************************************/
@@ -42,6 +42,7 @@ import org.eclipse.papyrus.toolsmiths.validation.common.checkers.BuildProperties
import org.eclipse.papyrus.toolsmiths.validation.common.checkers.CustomModelChecker;
import org.eclipse.papyrus.toolsmiths.validation.common.checkers.ExtensionsChecker;
import org.eclipse.papyrus.toolsmiths.validation.common.checkers.IPluginChecker2;
+import org.eclipse.papyrus.toolsmiths.validation.common.checkers.JavaClassDependencies;
import org.eclipse.papyrus.toolsmiths.validation.common.checkers.ModelDependenciesChecker;
import org.eclipse.papyrus.toolsmiths.validation.common.checkers.ModelValidationChecker;
import org.eclipse.papyrus.toolsmiths.validation.common.checkers.OpaqueResourceProvider;
@@ -117,7 +118,8 @@ public class ArchitecturePluginChecker {
}
private static OpaqueResourceProvider.EMF createOpaqueResourceProvider(IProject project) {
- ArchitectureDependencies dependencies = new ArchitectureDependencies(project);
+ JavaClassDependencies dependencies = new JavaClassDependencies(project, ArchitectureCommandUtils::getCommandClass);
+
// Icon resources
return createIconProvider()
// Creation/conversion command classes
diff --git a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/META-INF/MANIFEST.MF b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/META-INF/MANIFEST.MF
index 6507be21eed..3516c52f8e4 100644
--- a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/META-INF/MANIFEST.MF
+++ b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/META-INF/MANIFEST.MF
@@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.emf.transaction;bundle-version="[1.9.0,2.0.0)",
org.eclipse.papyrus.infra.architecture;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.core.architecture;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.core;bundle-version="[4.0.0,5.0.0)",
- org.eclipse.papyrus.infra.tools;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.tools;bundle-version="[4.2.0,5.0.0)",
org.eclipse.papyrus.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.ui.ide;bundle-version="[3.18.0,4.0.0)",
org.eclipse.papyrus.eclipse.project.editors;bundle-version="[3.0.0,4.0.0)",
@@ -18,15 +18,20 @@ Require-Bundle: org.eclipse.emf.transaction;bundle-version="[1.9.0,2.0.0)",
org.eclipse.emf.edit;bundle-version="[2.16.0,3.0.0)",
org.eclipse.papyrus.infra.types.core;bundle-version="[5.1.0,6.0.0)",
org.eclipse.papyrus.infra.types;bundle-version="[5.0.0,6.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.25.0,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.5.0,6.0.0)";resolution:=optional,
org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)",
- org.eclipse.papyrus.infra.services.edit;bundle-version="[4.1.0,5.0.0)"
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[4.1.0,5.0.0)",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[4.1.0,5.0.0)"
Export-Package: org.eclipse.papyrus.toolsmiths.validation.common,
org.eclipse.papyrus.toolsmiths.validation.common.checkers,
+ org.eclipse.papyrus.toolsmiths.validation.common.command,
org.eclipse.papyrus.toolsmiths.validation.common.internal.utils;
x-friends:="org.eclipse.papyrus.toolsmiths.validation.elementtypes,
org.eclipse.papyrus.toolsmiths.validation.architecture,
org.eclipse.papyrus.toolsmiths.validation.profile,
- org.eclipse.papyrus.toolsmiths.validation.newchild",
+ org.eclipse.papyrus.toolsmiths.validation.newchild,
+ org.eclipse.papyrus.toolsmiths.validation.properties",
org.eclipse.papyrus.toolsmiths.validation.common.quickfix,
org.eclipse.papyrus.toolsmiths.validation.common.utils
Bundle-Vendor: %providerName
diff --git a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/DelegatingURIConverterService.java b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/DelegatingURIConverterService.java
new file mode 100644
index 00000000000..b45b1b21a35
--- /dev/null
+++ b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/DelegatingURIConverterService.java
@@ -0,0 +1,140 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, 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
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.toolsmiths.validation.common;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.function.Predicate;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
+
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Multimap;
+import com.google.common.collect.Multimaps;
+
+/**
+ * The delegating URI converter service implementation.
+ */
+class DelegatingURIConverterService implements URIConverterService {
+
+ private final Multimap<String, URIConverterService> delegates = Multimaps.synchronizedMultimap(ArrayListMultimap.create());
+ private ServiceTracker<URIConverterService, URIConverterService> delegatesTracker;
+
+ DelegatingURIConverterService() {
+ super();
+
+ BundleContext context = Activator.getDefault().getBundle().getBundleContext();
+ delegatesTracker = new ServiceTracker<>(context, URIConverterService.class, new Customizer(context));
+ delegatesTracker.open();
+ }
+
+ @Override
+ public URI normalize(URI uri, ResourceSet context) {
+ URI result = context.getURIConverter().normalize(uri);
+
+ Collection<URIConverterService> delegates = this.delegates.get(uri.scheme());
+ if (!delegates.isEmpty()) {
+ result = normalize(uri, context, delegates);
+ }
+
+ return result;
+ }
+
+ private URI normalize(URI uri, ResourceSet context, Collection<URIConverterService> delegates) {
+ URI result = uri;
+
+ for (Iterator<URIConverterService> iter = delegates.iterator(); iter.hasNext() && uri.equals(result);) {
+ result = iter.next().normalize(uri, context);
+ }
+
+ return result;
+ }
+
+ //
+ // Nested types
+ //
+
+ private final class Customizer implements ServiceTrackerCustomizer<URIConverterService, URIConverterService> {
+
+ private final BundleContext context;
+
+ Customizer(BundleContext context) {
+ super();
+
+ this.context = context;
+ }
+
+ @Override
+ public URIConverterService addingService(ServiceReference<URIConverterService> reference) {
+ return register(reference, context.getService(reference));
+ }
+
+ private URIConverterService register(ServiceReference<URIConverterService> reference, URIConverterService service) {
+ URIConverterService result = service;
+
+ Object schemes = reference.getProperty(SCHEME_PROPERTY);
+ if (schemes instanceof String) {
+ register((String) schemes, result);
+ } else if (schemes instanceof String[]) {
+ String[] schemeArray = (String[]) schemes;
+ if (schemeArray.length == 0) {
+ result = null;
+ } else {
+ for (String scheme : schemeArray) {
+ register(scheme, result);
+ }
+ }
+ }
+
+ if (result == null) {
+ context.ungetService(reference);
+ }
+
+ return result;
+ }
+
+ private void register(String scheme, URIConverterService service) {
+ if (service instanceof DelegatingURIConverterService) {
+ throw new IllegalArgumentException("attempt to register the delegating service to itself"); //$NON-NLS-1$
+ }
+
+ delegates.put(scheme, service);
+ }
+
+ private void unregister(URIConverterService service) {
+ delegates.values().removeIf(Predicate.isEqual(service));
+ }
+
+ @Override
+ public void modifiedService(ServiceReference<URIConverterService> reference, URIConverterService service) {
+ unregister(service);
+ register(reference, service);
+ }
+
+ @Override
+ public void removedService(ServiceReference<URIConverterService> reference, URIConverterService service) {
+ unregister(service);
+ context.ungetService(reference);
+ }
+
+ }
+
+}
diff --git a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/URIConverterService.java b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/URIConverterService.java
new file mode 100644
index 00000000000..3b941b954c2
--- /dev/null
+++ b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/URIConverterService.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, 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
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.toolsmiths.validation.common;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.URIConverter;
+
+/**
+ * A service that is like the EMF {@link URIConverter} but that is discoverable
+ * via OSGi and is intended to handle custom URI schemes, not arbitrary mappings
+ * that are better handled by EMF's URI mapping extension point.
+ * Registered services must declare the URI scheme that they handle via the
+ * {@link #SCHEME_PROPERTY} property.
+ */
+public interface URIConverterService {
+
+ /** A shared service instance that delegates to registered converter services. */
+ URIConverterService INSTANCE = new DelegatingURIConverterService();
+
+ /**
+ * OSGi service property indicating the URI scheme or schemes (if an array)
+ * that the converter service can convert.
+ */
+ String SCHEME_PROPERTY = "papyrus.toolsmiths.uri.scheme"; //$NON-NLS-1$
+
+ /**
+ * Normalize a URI in the given resource set {@code context}.
+ *
+ * @param uri
+ * a URI to convert
+ * @param context
+ * the resource set, which may be used to delegate to its {@link URIConverter}, if appropriate
+ * @return the converted URI, or the original URI if it cannot be converted
+ */
+ URI normalize(URI uri, ResourceSet context);
+
+}
diff --git a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/BasicEMFResourceProvider.java b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/BasicEMFResourceProvider.java
index 911891832a1..920e2ac8641 100644
--- a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/BasicEMFResourceProvider.java
+++ b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/BasicEMFResourceProvider.java
@@ -34,11 +34,11 @@ import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.util.EObjectValidator;
import org.eclipse.osgi.service.resolver.BundleDescription;
import org.eclipse.osgi.util.NLS;
import org.eclipse.papyrus.toolsmiths.validation.common.internal.messages.Messages;
+import org.eclipse.papyrus.toolsmiths.validation.common.utils.CommonURIUtils;
import org.eclipse.pde.core.plugin.IPluginModelBase;
import org.eclipse.pde.core.plugin.PluginRegistry;
@@ -149,17 +149,14 @@ class BasicEMFResourceProvider implements OpaqueResourceProvider.EMF {
result = result.resolve(baseURIFunction.apply(object, project));
}
- if (result.isPlatform()) {
- // Can check for existence of the resource
- ResourceSet rset = object.eResource().getResourceSet();
- if (!rset.getURIConverter().exists(result, null)) {
- BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.ERROR, diagnosticSource, 0,
- NLS.bind(Messages.BasicEMFResourceProvider_1,
- new Object[] { result.lastSegment(), EObjectValidator.getObjectLabel(object, context), resourceClassifier }),
- new Object[] { object, referenceAttribute });
- diagnostics.add(diagnostic);
- return null;
- }
+ // Check for existence of the resource, if applicable
+ if (!CommonURIUtils.exists(object, result)) {
+ BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.ERROR, diagnosticSource, 0,
+ NLS.bind(Messages.BasicEMFResourceProvider_1,
+ new Object[] { result.lastSegment(), EObjectValidator.getObjectLabel(object, context), resourceClassifier }),
+ new Object[] { object, referenceAttribute });
+ diagnostics.add(diagnostic);
+ return null;
}
return new ClassifiedURIImpl(result, resourceClassifier);
diff --git a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/CustomModelChecker.java b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/CustomModelChecker.java
index ba20d93c23d..ef788455f48 100644
--- a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/CustomModelChecker.java
+++ b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/CustomModelChecker.java
@@ -20,12 +20,18 @@ import static org.eclipse.papyrus.toolsmiths.validation.common.checkers.ModelVal
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
+import java.util.ArrayDeque;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.function.Function;
+import java.util.stream.Collectors;
import java.util.stream.Stream;
+import java.util.stream.StreamSupport;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -120,8 +126,13 @@ public class CustomModelChecker extends AbstractPluginChecker {
BasicDiagnostic validationResults = new BasicDiagnostic();
Diagnostician diagnostician = new Diagnostician(new ValidatorRegistry());
- for (EObject next : resource.getContents()) {
- diagnostician.validate(next, validationResults, context);
+ ResourceQueue queue = ResourceQueue.getInstance(context);
+ queue.offer(this.resource);
+
+ for (Resource resource = queue.poll(); resource != null; resource = queue.poll()) {
+ for (EObject next : resource.getContents()) {
+ diagnostician.validate(next, validationResults, context);
+ }
}
if (validationResults.getSeverity() > Diagnostic.OK) {
@@ -340,6 +351,16 @@ public class CustomModelChecker extends AbstractPluginChecker {
} else if (argument instanceof Value) {
Value value = (Value) argument;
result = getValueLabel(value.dataType, value.value, context);
+ } else if (argument instanceof Iterable<?>) {
+ result = StreamSupport.stream(((Iterable<?>) argument).spliterator(), false)
+ .map(el -> formatArgument(el, context))
+ .map(String::valueOf)
+ .collect(Collectors.joining(", ", "[", "]"));
+ } else if (argument instanceof Object[]) {
+ result = Stream.of((Object[]) argument)
+ .map(el -> formatArgument(el, context))
+ .map(String::valueOf)
+ .collect(Collectors.joining(", ", "[", "]"));
}
return result;
}
@@ -389,12 +410,39 @@ public class CustomModelChecker extends AbstractPluginChecker {
}
protected Diagnostic createDiagnostic(int severity, EObject eObject, EStructuralFeature feature, int code, String message, MarkerAttribute attr1, MarkerAttribute... moreAttrs) {
+ return createDiagnostic(severity, eObject, feature, code, message, Lists.asList(attr1, moreAttrs));
+ }
+
+ protected Diagnostic createDiagnostic(int severity, EObject eObject, String message, Collection<? extends MarkerAttribute> moreAttrs) {
+ return createDiagnostic(severity, eObject, null, 0, message, moreAttrs);
+ }
+
+ protected Diagnostic createDiagnostic(int severity, EObject eObject, EStructuralFeature feature, String message, Collection<? extends MarkerAttribute> moreAttrs) {
+ return createDiagnostic(severity, eObject, feature, 0, message, moreAttrs);
+ }
+
+ protected Diagnostic createDiagnostic(int severity, EObject eObject, EStructuralFeature feature, int code, String message, Collection<? extends MarkerAttribute> moreAttrs) {
List<Object> data = diagnosticData(eObject, feature);
- data.addAll(Lists.asList(attr1, moreAttrs));
+ data.addAll(moreAttrs);
return new BasicDiagnostic(severity, source, code, message, data.toArray());
}
+ /**
+ * Add an auxiliary resource to the current validation scope. It will be validated after
+ * processing of the current resource is completed, if it has not already been validated.
+ *
+ * @param auxiliaryResource
+ * a resource to validate
+ * @param context
+ * the current validation context
+ */
+ protected void validateResource(Resource auxiliaryResource, Map<Object, Object> context) {
+ if (auxiliaryResource != null && auxiliaryResource.isLoaded()) {
+ ResourceQueue.getInstance(context).offer(auxiliaryResource);
+ }
+ }
+
protected boolean isValidatorFor(EPackage ePackage) {
return nsURI.equals(ePackage.getNsURI());
}
@@ -486,4 +534,50 @@ public class CustomModelChecker extends AbstractPluginChecker {
}
}
+ @SuppressWarnings("serial") // Never serialized
+ private static final class ResourceQueue extends ArrayDeque<Resource> {
+ // To avoid repeating resources
+ private final Set<Resource> processed = new HashSet<>();
+
+ /**
+ * Not instantiable by clients.
+ */
+ private ResourceQueue() {
+ super();
+ }
+
+ static ResourceQueue getInstance(Map<Object, Object> context) {
+ ResourceQueue result = (ResourceQueue) context.get(ResourceQueue.class);
+ if (result == null) {
+ result = new ResourceQueue();
+ context.put(ResourceQueue.class, result);
+ }
+ return result;
+ }
+
+ @Override
+ public boolean offerFirst(Resource e) {
+ return !processed.contains(e) && super.offerFirst(e);
+ }
+
+ @Override
+ public boolean offerLast(Resource e) {
+ return !processed.contains(e) && super.offerLast(e);
+ }
+
+ @Override
+ public void addFirst(Resource e) {
+ if (processed.add(e)) {
+ super.addFirst(e);
+ }
+ }
+
+ @Override
+ public void addLast(Resource e) {
+ if (processed.add(e)) {
+ super.addLast(e);
+ }
+ }
+ }
+
}
diff --git a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/ExtensionsChecker.java b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/ExtensionsChecker.java
index 603d8314388..d5733cc0ac1 100644
--- a/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/ExtensionsChecker.java
+++ b/plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/ExtensionsChecker.java
@@ -103,7 +103,7 @@ public class ExtensionsChecker<T extends EObject, P extends DefaultHandler & IPl
final IFile pluginXML = ProjectManagementService.getPluginXMLFile(project);
if (pluginXML == null) {
- MarkersService.createMarker(modelFile, PDEMarkerFactory.MARKER_ID, NLS.bind(Messages.ExtensionsChecker_1, modelFile.getName()), IMarker.SEVERITY_ERROR);
+ MarkersService.createMarker(modelFile, getMarkerType(), NLS.bind(Messages.ExtensionsChecker_1, mod